⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mailservice.h

📁 Vc.Net入门与提高源码
💻 H
📖 第 1 页 / 共 2 页
字号:
//
// sproxy.exe generated file
// do not modify this file
//
// Created: 03/12/2001@12:37:0
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Classes Reference and related electronic
// documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft C++ Libraries products.

#pragma once

#include <atlsoap.h>

namespace MailService
{

struct _MSGDATA
{
	BSTR m_bstrFrom;
	double m_DateSent;
	BSTR m_bstrSubject;
	int m_lMessageID;
	int m_bMarkedRead;
};

template <typename TClient = CSoapSocketClientT<> >
class CMailServiceT : 
	public TClient, 
	public CSoapRootHandler
{
protected:

	const _soapmap ** GetFunctionMap() throw();
	const _soapmap ** GetHeaderMap() throw();
	void * GetHeaderValue() throw();
	const wchar_t * GetNamespaceUri() throw();
	const char * GetServiceName() throw();
	const char * GetNamespaceUriA() throw();
	HRESULT CallFunction(
		void *pvParam, 
		const wchar_t *wszLocalName, int cchLocalName,
		size_t nItem) throw();
	HRESULT GetClientReader(ISAXXMLReader **ppReader) throw();

public:

	HRESULT __stdcall QueryInterface(REFIID riid, void **ppv) throw()
	{
		if (ppv == NULL)
		{
			return E_POINTER;
		}

		*ppv = NULL;

		if (InlineIsEqualGUID(riid, IID_IUnknown) ||
			InlineIsEqualGUID(riid, IID_ISAXContentHandler))
		{
			*ppv = static_cast<ISAXContentHandler *>(this);
			return S_OK;
		}

		return E_NOINTERFACE;
	}

	ULONG __stdcall AddRef() throw()
	{
		return 1;
	}

	ULONG __stdcall Release() throw()
	{
		return 1;
	}

	CMailServiceT(ISAXXMLReader *pReader = NULL) throw()
		:TClient(_T("http://localhost/mantaweb/cgi-bin?Handler=Default"))
	{
		SetClient(true);
		SetReader(pReader);
	}
	
	~CMailServiceT() throw()
	{
		Uninitialize();
	}
	
	void Uninitialize() throw()
	{
		UninitializeSOAP();
	}	

	HRESULT GetUnreadCount(
		int lUserID, 
		BSTR bstrSessionID, 
		int* lUnreadCount
	) throw();

	HRESULT GetLaunchURL(
		int lUserID, 
		BSTR bstrSessionID, 
		int lMessageID, 
		BSTR* bstrURL
	) throw();

	HRESULT GetMessageCount(
		int lUserID, 
		BSTR bstrSessionID, 
		int* lMessageCount
	) throw();

	HRESULT Login(
		BSTR bstrLogin, 
		BSTR bstrPassword, 
		int* lUserID, 
		BSTR* bstrSessionID
	) throw();

	HRESULT GetMessages(
		int lUserID, 
		BSTR bstrSessionID, 
		int* lMax, 
		_MSGDATA** msgData, int* msgData_nSizeIs
	) throw();
};

typedef CMailServiceT<> CMailService;

__if_not_exists(___MSGDATA_entries)
{
extern __declspec(selectany) const _soapmapentry ___MSGDATA_entries[] =
{
	{ 
		0x0F182BDB, 
		"m_bstrFrom", 
		L"m_bstrFrom", 
		sizeof("m_bstrFrom")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_FIELD, 
		offsetof(_MSGDATA, m_bstrFrom),
		NULL, 
		NULL, 
		0 
	},
	{ 
		0xF4E49EE4, 
		"m_DateSent", 
		L"m_DateSent", 
		sizeof("m_DateSent")-1, 
		SOAPTYPE_DOUBLE, 
		SOAPFLAG_FIELD, 
		offsetof(_MSGDATA, m_DateSent),
		NULL, 
		NULL, 
		0 
	},
	{ 
		0xDEEDC8D7, 
		"m_bstrSubject", 
		L"m_bstrSubject", 
		sizeof("m_bstrSubject")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_FIELD, 
		offsetof(_MSGDATA, m_bstrSubject),
		NULL, 
		NULL, 
		0 
	},
	{ 
		0xF0A23FAA, 
		"m_lMessageID", 
		L"m_lMessageID", 
		sizeof("m_lMessageID")-1, 
		SOAPTYPE_INT, 
		SOAPFLAG_FIELD, 
		offsetof(_MSGDATA, m_lMessageID),
		NULL, 
		NULL, 
		0 
	},
	{ 
		0xB25A0A7E, 
		"m_bMarkedRead", 
		L"m_bMarkedRead", 
		sizeof("m_bMarkedRead")-1, 
		SOAPTYPE_INT, 
		SOAPFLAG_FIELD, 
		offsetof(_MSGDATA, m_bMarkedRead),
		NULL, 
		NULL, 
		0 
	},
	{ 0x00000000 }
};

extern __declspec(selectany) const _soapmap ___MSGDATA_map =
{
	0x9A79A6E0,
	"_MSGDATA",
	L"_MSGDATA",
	sizeof("_MSGDATA")-1,
	sizeof("_MSGDATA")-1,
	SOAPMAP_STRUCT,
	___MSGDATA_entries,
	sizeof(_MSGDATA),
	5,
	-1,
	SOAPFLAG_NONE
};
}

struct __CMailService_GetUnreadCount_struct
{
	int lUserID;
	BSTR bstrSessionID;
	int lUnreadCount;
};

extern __declspec(selectany) const _soapmapentry __CMailService_GetUnreadCount_entries[] =
{

	{
		0x483271B8, 
		"lUserID", 
		L"lUserID", 
		sizeof("lUserID")-1, 
		SOAPTYPE_INT, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_GetUnreadCount_struct, lUserID),
		NULL,
		NULL,
		-1,
	},
	{
		0x3D124BCC, 
		"bstrSessionID", 
		L"bstrSessionID", 
		sizeof("bstrSessionID")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_GetUnreadCount_struct, bstrSessionID),
		NULL,
		NULL,
		-1,
	},
	{
		0xD9716B14, 
		"lUnreadCount", 
		L"lUnreadCount", 
		sizeof("lUnreadCount")-1, 
		SOAPTYPE_INT, 
		SOAPFLAG_NONE | SOAPFLAG_OUT | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_GetUnreadCount_struct, lUnreadCount),
		NULL,
		NULL,
		-1,
	},
	{ 0x00000000 }
};

extern __declspec(selectany) const _soapmap __CMailService_GetUnreadCount_map =
{
	0x20C11BD7,
	"GetUnreadCount",
	L"GetUnreadCountResponse",
	sizeof("GetUnreadCount")-1,
	sizeof("GetUnreadCountResponse")-1,
	SOAPMAP_FUNC,
	__CMailService_GetUnreadCount_entries,
	sizeof(__CMailService_GetUnreadCount_struct),
	1,
	-1,
	SOAPFLAG_NONE | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL};

extern __declspec(selectany) const _soapmapentry __CMailService_GetUnreadCount_atlsoapheader_entries[] =
{
	{ 0x00000000 }
};

extern __declspec(selectany) const _soapmap __CMailService_GetUnreadCount_atlsoapheader_map = 
{
	0x20C11BD7,
	"GetUnreadCount",
	L"GetUnreadCountResponse",
	sizeof("GetUnreadCount")-1,
	sizeof("GetUnreadCountResponse")-1,
	SOAPMAP_HEADER,
	__CMailService_GetUnreadCount_atlsoapheader_entries,
	0,
	0,
	-1
};

struct __CMailService_GetLaunchURL_struct
{
	int lUserID;
	BSTR bstrSessionID;
	int lMessageID;
	BSTR bstrURL;
};

extern __declspec(selectany) const _soapmapentry __CMailService_GetLaunchURL_entries[] =
{

	{
		0x483271B8, 
		"lUserID", 
		L"lUserID", 
		sizeof("lUserID")-1, 
		SOAPTYPE_INT, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_GetLaunchURL_struct, lUserID),
		NULL,
		NULL,
		-1,
	},
	{
		0x3D124BCC, 
		"bstrSessionID", 
		L"bstrSessionID", 
		sizeof("bstrSessionID")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_GetLaunchURL_struct, bstrSessionID),
		NULL,
		NULL,
		-1,
	},
	{
		0x9B9C3A3E, 
		"lMessageID", 
		L"lMessageID", 
		sizeof("lMessageID")-1, 
		SOAPTYPE_INT, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_GetLaunchURL_struct, lMessageID),
		NULL,
		NULL,
		-1,
	},
	{
		0x8C7F944E, 
		"bstrURL", 
		L"bstrURL", 
		sizeof("bstrURL")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_NONE | SOAPFLAG_OUT | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_GetLaunchURL_struct, bstrURL),
		NULL,
		NULL,
		-1,
	},
	{ 0x00000000 }
};

extern __declspec(selectany) const _soapmap __CMailService_GetLaunchURL_map =
{
	0x7215C05D,
	"GetLaunchURL",
	L"GetLaunchURLResponse",
	sizeof("GetLaunchURL")-1,
	sizeof("GetLaunchURLResponse")-1,
	SOAPMAP_FUNC,
	__CMailService_GetLaunchURL_entries,
	sizeof(__CMailService_GetLaunchURL_struct),
	1,
	-1,
	SOAPFLAG_NONE | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL};

extern __declspec(selectany) const _soapmapentry __CMailService_GetLaunchURL_atlsoapheader_entries[] =
{
	{ 0x00000000 }
};

extern __declspec(selectany) const _soapmap __CMailService_GetLaunchURL_atlsoapheader_map = 
{
	0x7215C05D,
	"GetLaunchURL",
	L"GetLaunchURLResponse",
	sizeof("GetLaunchURL")-1,
	sizeof("GetLaunchURLResponse")-1,
	SOAPMAP_HEADER,
	__CMailService_GetLaunchURL_atlsoapheader_entries,
	0,
	0,
	-1
};

struct __CMailService_GetMessageCount_struct
{
	int lUserID;
	BSTR bstrSessionID;
	int lMessageCount;
};

extern __declspec(selectany) const _soapmapentry __CMailService_GetMessageCount_entries[] =
{

	{
		0x483271B8, 
		"lUserID", 
		L"lUserID", 
		sizeof("lUserID")-1, 
		SOAPTYPE_INT, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_GetMessageCount_struct, lUserID),
		NULL,
		NULL,
		-1,
	},
	{
		0x3D124BCC, 
		"bstrSessionID", 
		L"bstrSessionID", 
		sizeof("bstrSessionID")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_GetMessageCount_struct, bstrSessionID),
		NULL,
		NULL,
		-1,
	},
	{
		0x65B8FB1A, 
		"lMessageCount", 
		L"lMessageCount", 
		sizeof("lMessageCount")-1, 
		SOAPTYPE_INT, 
		SOAPFLAG_NONE | SOAPFLAG_OUT | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_GetMessageCount_struct, lMessageCount),
		NULL,
		NULL,
		-1,
	},
	{ 0x00000000 }
};

extern __declspec(selectany) const _soapmap __CMailService_GetMessageCount_map =
{
	0xE2A2A45D,
	"GetMessageCount",
	L"GetMessageCountResponse",
	sizeof("GetMessageCount")-1,
	sizeof("GetMessageCountResponse")-1,
	SOAPMAP_FUNC,
	__CMailService_GetMessageCount_entries,
	sizeof(__CMailService_GetMessageCount_struct),
	1,
	-1,
	SOAPFLAG_NONE | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL};

extern __declspec(selectany) const _soapmapentry __CMailService_GetMessageCount_atlsoapheader_entries[] =
{
	{ 0x00000000 }
};

extern __declspec(selectany) const _soapmap __CMailService_GetMessageCount_atlsoapheader_map = 
{
	0xE2A2A45D,
	"GetMessageCount",
	L"GetMessageCountResponse",
	sizeof("GetMessageCount")-1,
	sizeof("GetMessageCountResponse")-1,
	SOAPMAP_HEADER,
	__CMailService_GetMessageCount_atlsoapheader_entries,
	0,
	0,
	-1
};

struct __CMailService_Login_struct
{
	BSTR bstrLogin;
	BSTR bstrPassword;
	int lUserID;
	BSTR bstrSessionID;
};

extern __declspec(selectany) const _soapmapentry __CMailService_Login_entries[] =
{

	{
		0xAA236B14, 
		"bstrLogin", 
		L"bstrLogin", 
		sizeof("bstrLogin")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_Login_struct, bstrLogin),
		NULL,
		NULL,
		-1,
	},
	{
		0x6E0C36CE, 
		"bstrPassword", 
		L"bstrPassword", 
		sizeof("bstrPassword")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_Login_struct, bstrPassword),
		NULL,
		NULL,
		-1,
	},
	{
		0x483271B8, 
		"lUserID", 
		L"lUserID", 
		sizeof("lUserID")-1, 
		SOAPTYPE_INT, 
		SOAPFLAG_NONE | SOAPFLAG_OUT | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_Login_struct, lUserID),
		NULL,
		NULL,
		-1,
	},
	{
		0x3D124BCC, 
		"bstrSessionID", 
		L"bstrSessionID", 
		sizeof("bstrSessionID")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_NONE | SOAPFLAG_OUT | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CMailService_Login_struct, bstrSessionID),
		NULL,
		NULL,
		-1,
	},
	{ 0x00000000 }
};

extern __declspec(selectany) const _soapmap __CMailService_Login_map =
{
	0x481233A8,
	"Login",
	L"LoginResponse",
	sizeof("Login")-1,
	sizeof("LoginResponse")-1,
	SOAPMAP_FUNC,
	__CMailService_Login_entries,
	sizeof(__CMailService_Login_struct),
	2,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -