#ifndef PROCESS_CONTROL_HEAD_HEAD_FILE #define PROCESS_CONTROL_HEAD_HEAD_FILE ////////////////////////////////////////////////////////////////////////////////// //包含文件 //MFC 文件 #include #include //平台文件 #include "..\..\GlobalDef\Platform.h" //组件文件 #include "..\..\SharedControl\ServiceCore\ServiceCoreHead.h" ////////////////////////////////////////////////////////////////////////////////// //公共定义 //导出定义 #ifndef PROCESS_CONTROL_CLASS #ifdef PROCESS_CONTROL_DLL #define PROCESS_CONTROL_CLASS _declspec(dllexport) #else #define PROCESS_CONTROL_CLASS _declspec(dllimport) #endif #endif //模块定义 #ifndef _DEBUG #define PROCESS_CONTROL_DLL_NAME TEXT("ProcessControl.dll") //组件名字 #else #define PROCESS_CONTROL_DLL_NAME TEXT("ProcessControlD.dll") //组件名字 #endif ////////////////////////////////////////////////////////////////////////////////// //处理类型 #define IDT_IMMEDIATE 0x0101 //同步数据 #define IDT_ASYNCHRONISM 0x0201 //异步数据 ////////////////////////////////////////////////////////////////////////////////// #ifdef _UNICODE #define VER_IIPCRecvDataSink INTERFACE_VERSION(1,1) static const GUID IID_IIPCRecvDataSink = { 0xeaea7e0b, 0x2bba, 0x414e, 0x91, 0xb4, 0x9c, 0x7e, 0x1e, 0xb2, 0xdf, 0xb9 }; #else #define VER_IIPCRecvDataSink INTERFACE_VERSION(1,1) static const GUID IID_IIPCRecvDataSink = { 0xe1b2bbd0, 0xf92e, 0x4898, 0x89, 0xdb, 0x72, 0xdd, 0xc2, 0x8c, 0x70, 0x70 }; #endif //数据接口 interface IIPCRecvDataSink : public IUnknownEx { //同步数据 virtual bool OnImmediateData(WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize, HWND hWndSend) = NULL; //异步数据 virtual bool OnAsynchronismData(WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize, HWND hWndSend) = NULL; }; ////////////////////////////////////////////////////////////////////////////////// #ifdef _UNICODE #define VER_IProcessControl INTERFACE_VERSION(1,1) static const GUID IID_IProcessControl = { 0x7675ae4c, 0x38bb, 0x4de6, 0x94, 0xb3, 0xe0, 0x06, 0xfb, 0xe8, 0x30, 0xca }; #else #define VER_IProcessControl INTERFACE_VERSION(1,1) static const GUID IID_IProcessControl = { 0x71733503, 0x9d41, 0x429e, 0x8a, 0xf0, 0x78, 0x40, 0x61, 0x86, 0x01, 0xbe }; #endif //进程控制 interface IProcessControl : public IUnknownEx { //配置接口 public: //获取句柄 virtual HWND GetProcessControlWnd() = NULL; //配置组件 virtual bool SetProcessControlSink(IUnknownEx * pIUnknownEx) = NULL; //连接管理 public: //配置连接 virtual bool InitializeLink() = NULL; //销毁通讯 virtual bool UnInitializeLink() = NULL; //发送接口 public: //发送数据 virtual bool SendData(HWND hWndServer, WORD wMainCmdID, WORD wSubCmdID) = NULL; //发送数据 virtual bool SendData(HWND hWndServer, WORD wMainCmdID, WORD wSubCmdID, VOID * const pData, WORD wDataSize) = NULL; //执行命令 virtual bool SendCommand(HWND hWndServer, WORD wMainCmdID, WORD wSubCmdID, VOID * const pData, WORD wDataSize) = NULL; }; ////////////////////////////////////////////////////////////////////////////////// #ifdef _UNICODE #define VER_IProcessControlSink INTERFACE_VERSION(1,1) static const GUID IID_IProcessControlSink = { 0xe2b7aac5, 0x2e60, 0x4fda, 0x8a, 0x5a, 0xfa, 0x5e, 0x35, 0x1e, 0x75, 0x1a }; #else #define VER_IProcessControlSink INTERFACE_VERSION(1,1) static const GUID IID_IProcessControlSink = { 0xc770827b, 0xdeb5, 0x471c, 0x8e, 0xf5, 0x42, 0x34, 0x63, 0xe8, 0x72, 0x2e }; #endif //进程数据 interface IProcessControlSink : public IUnknownEx { //进程数据 virtual bool OnProcessControlData(WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize, HWND hWndSend) = NULL; }; ////////////////////////////////////////////////////////////////////////////////// //导出文件 #include "ProcessControl.h" #include "ProcessDataControl.h" ////////////////////////////////////////////////////////////////////////////////// //组件创建 DECLARE_MODULE_HELPER(ProcessControl, PROCESS_CONTROL_DLL_NAME, "CreateProcessControl") ////////////////////////////////////////////////////////////////////////////////// #endif