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

📄 pcdmtransfer.h

📁 是一本关于
💻 H
字号:
// PCDMTransfer.h : Declaration of the CPCDMTransfer

#ifndef __PCDMTRANSFER_H_
#define __PCDMTRANSFER_H_

#include "resource.h"       // main symbols
// <BOOK_ADDON Chapter 9.6.2> ******************************************
#include <winsock.h>
#ifdef UNDER_CE
#undef _WIN32_WINNT
#endif
#include "af_irda.h"
#define DESIRED_WINSOCK_VERSION     0x0101  
#define MINIMUM_WINSOCK_VERSION     0x0001  
#define MAX_BUF_LEN			8000
#define PACKET_TYPE_FILE            0x46494c45L     // "FILE"
#define PACKET_TYPE_NACK            0x4e41434bL     // "NACK"
#define MPPort				4322	// New Port !
#define WM_SOCKET_SELECT            (WM_USER + 100) 
typedef INT             		SOCKERR;        
typedef struct _PACKET_FILE
{
    	DWORD       type;           
    	DWORD       cbFile;                 
		DWORD		PakSize;
		DWORD		Code;
    	CHAR        szFile[MAX_BUF_LEN];     
} PACKET_FILE, FAR * LPPACKET_FILE;
// </BOOK_ADDON Chapter 9.6.2> ******************************************
/////////////////////////////////////////////////////////////////////////////
// CPCDMTransfer
class ATL_NO_VTABLE CPCDMTransfer : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CPCDMTransfer, &CLSID_PCDMTransfer>,
	public IDispatchImpl<IPCDMTransfer, &IID_IPCDMTransfer, &LIBID_PCDMDLLLib>
{
public:
	CPCDMTransfer()
	{
// <BOOK_ADDON Chapter 9.6.2> ******************************************
		InitializeCriticalSection(&m_csec);
		wsainit = WSAStartup( DESIRED_WINSOCK_VERSION, &wsadata );
		if(wsainit==0 && wsadata.wVersion < MINIMUM_WINSOCK_VERSION ) 
			wsainit=-1;
	}
	~CPCDMTransfer()
	{
		CancelReceive();
		WSACleanup();
	}
// </BOOK_ADDON Chapter 9.6.2> ******************************************

DECLARE_REGISTRY_RESOURCEID(IDR_PCDMTRANSFER)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CPCDMTransfer)
	COM_INTERFACE_ENTRY(IPCDMTransfer)
	COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()

// IPCDMTransfer
public:
	STDMETHOD(CancelReceive)();
	STDMETHOD(ReceiveString)(BSTR *Text);
	STDMETHOD(SendString)(BSTR Text);
//<BOOK_ADDONS Chapter 9.6.2> ********************************************************
private:
	CRITICAL_SECTION	m_csec;
	SOCKET				sCommand;
	SOCKERR				wsainit;
	WSADATA				wsadata;
//</BOOK_ADDONS Chapter 9.6.2> ********************************************************
};

#endif //__PCDMTRANSFER_H_

⌨️ 快捷键说明

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