📄 pcdmtransfer.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 + -