diff --git a/CWeChatRobot/SendAtText.cpp b/CWeChatRobot/SendAtText.cpp new file mode 100644 index 0000000000000000000000000000000000000000..56d594e7218277da7e32fa768e6ed85d8ef9d9ce --- /dev/null +++ b/CWeChatRobot/SendAtText.cpp @@ -0,0 +1,64 @@ +#include "pch.h" + +struct SendAtTextStruct +{ + DWORD chatroomid; + DWORD wxid; + DWORD wxmsg; +}; + +int SendAtText(wchar_t* chatroomid, wchar_t* wxid, wchar_t* wxmsg) { + if (!hProcess) + return 1; + DWORD WeChatRobotBase = GetWeChatRobotBase(); + DWORD dwId = 0; + DWORD dwWriteSize = 0; + SendAtTextStruct params; + ZeroMemory(¶ms, sizeof(params)); + LPVOID chatroomidaddr = VirtualAllocEx(hProcess, NULL, 1, MEM_COMMIT, PAGE_READWRITE); + LPVOID wxidaddr = VirtualAllocEx(hProcess, NULL, 1, MEM_COMMIT, PAGE_READWRITE); + LPVOID wxmsgaddr = VirtualAllocEx(hProcess, NULL, 1, MEM_COMMIT, PAGE_READWRITE); + SendAtTextStruct* paramAndFunc = (SendAtTextStruct*)::VirtualAllocEx(hProcess, 0, sizeof(SendAtTextStruct), MEM_COMMIT, PAGE_READWRITE); + if (!chatroomidaddr || !wxidaddr || !wxmsgaddr || !paramAndFunc || !WeChatRobotBase) { + return 1; + } + DWORD dwTId = 0; + + if (chatroomidaddr) + WriteProcessMemory(hProcess, chatroomidaddr, chatroomid, wcslen(chatroomid) * 2 + 2, &dwWriteSize); + + if (wxidaddr) + WriteProcessMemory(hProcess, wxidaddr, wxid, wcslen(wxid) * 2 + 2, &dwWriteSize); + + if (wxmsgaddr) + WriteProcessMemory(hProcess, wxmsgaddr, wxmsg, wcslen(wxmsg) * 2 + 2, &dwWriteSize); + + params.chatroomid = (DWORD)chatroomidaddr; + params.wxid = (DWORD)wxidaddr; + params.wxmsg = (DWORD)wxmsgaddr; + + if (paramAndFunc) { + if (!::WriteProcessMemory(hProcess, paramAndFunc, ¶ms, sizeof(SendAtTextStruct), &dwTId)) + { + return 1; + } + } + else { + return 1; + } + + DWORD SendAtTextRemoteAddr = WeChatRobotBase + SendAtTextOffset; + HANDLE hThread = ::CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)SendAtTextRemoteAddr, (LPVOID)paramAndFunc, 0, &dwId); + if (hThread) { + WaitForSingleObject(hThread, INFINITE); + } + else { + return 1; + } + CloseHandle(hThread); + VirtualFreeEx(hProcess, chatroomidaddr, 0, MEM_RELEASE); + VirtualFreeEx(hProcess, wxidaddr, 0, MEM_RELEASE); + VirtualFreeEx(hProcess, wxmsgaddr, 0, MEM_RELEASE); + VirtualFreeEx(hProcess, paramAndFunc, 0, MEM_RELEASE); + return 0; +} \ No newline at end of file diff --git a/CWeChatRobot/SendAtText.h b/CWeChatRobot/SendAtText.h new file mode 100644 index 0000000000000000000000000000000000000000..1b49e9eb2992641c7274b6f2b3f623a09eaf23bd --- /dev/null +++ b/CWeChatRobot/SendAtText.h @@ -0,0 +1,3 @@ +#pragma once +#include +int SendAtText(wchar_t* chatroomid, wchar_t* wxid, wchar_t* wxmsg); \ No newline at end of file diff --git a/CWeChatRobot/WeChatRobot.cpp b/CWeChatRobot/WeChatRobot.cpp index 0ff6702432a03be4243cf4907e68beeeed9709fe..1963146a97b6dfe507a2a1dc46aeaca810636b21 100644 --- a/CWeChatRobot/WeChatRobot.cpp +++ b/CWeChatRobot/WeChatRobot.cpp @@ -31,6 +31,17 @@ STDMETHODIMP CWeChatRobot::CSendText(BSTR wxid, BSTR wxmsg, int* __result) { return S_OK; } +/* +* 参数1:群聊id +* 参数2:艾特的人wxid +* 参数3:文本消息内容 +* 参数4:预返回的值,调用时无需提供 +*/ +STDMETHODIMP CWeChatRobot::CSendAtText(BSTR chatroomid, BSTR wxid, BSTR wxmsg, int* __result) { + *__result = SendAtText(chatroomid,wxid, wxmsg); + return S_OK; +} + /* * 参数1:接收人wxid * 参数2:图片绝对路径 diff --git a/CWeChatRobot/WeChatRobot.h b/CWeChatRobot/WeChatRobot.h index 6144ea253c40101ca95827f6667c019046cca78f..522700c99c41dce737984bc34ea2b08b43e15cd0 100644 --- a/CWeChatRobot/WeChatRobot.h +++ b/CWeChatRobot/WeChatRobot.h @@ -58,6 +58,7 @@ public: STDMETHODIMP CSendFile(BSTR wxid, BSTR filepath, int* __result); STDMETHODIMP CSendArticle(BSTR wxid, BSTR title, BSTR abstract, BSTR url, int* __result); STDMETHODIMP CSendCard(BSTR receiver, BSTR sharedwxid, BSTR nickname, int* __result); + STDMETHODIMP CSendAtText(BSTR chatroomid, BSTR wxid, BSTR wxmsg, int* __result); STDMETHODIMP CGetFriendList(VARIANT* __result); STDMETHODIMP CGetFriendListString(BSTR* __result); STDMETHODIMP CGetWxUserInfo(BSTR wxid, BSTR* __result); diff --git a/CWeChatRobot/WeChatRobotCOM.idl b/CWeChatRobot/WeChatRobotCOM.idl index ed5418d9e77bff1866f1433b36dff02ab7f30404..1553c5423d730051d350a22b3885a63789d29ca4 100644 --- a/CWeChatRobot/WeChatRobotCOM.idl +++ b/CWeChatRobot/WeChatRobotCOM.idl @@ -34,6 +34,7 @@ interface IWeChatRobot : IDispatch [id(16)] HRESULT CStartReceiveMessage([out, retval] int* __result); [id(17)] HRESULT CReceiveMessage([out, retval] VARIANT* __result); [id(18)] HRESULT CStopReceiveMessage([out, retval] int* __result); + [id(19)] HRESULT CSendAtText([in] BSTR chatroomid, [in] BSTR wxid, [in] BSTR wxmsg, [out, retval] int* __result); }; [ uuid(721abb35-141a-4aa2-94f2-762e2833fa6c), diff --git a/CWeChatRobot/WeChatRobotCOM.vcxproj b/CWeChatRobot/WeChatRobotCOM.vcxproj index d4aee32c1aeba99212e582595576eeeeadaad20a..87571f9e3f129fb133dce94437733502633aa96a 100644 --- a/CWeChatRobot/WeChatRobotCOM.vcxproj +++ b/CWeChatRobot/WeChatRobotCOM.vcxproj @@ -1,292 +1,294 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 16.0 - {F54A8A7E-C2C0-4FD8-B625-59C77FF613BA} - AtlProj - 10.0 - CWeChatRobot - - - - Application - true - v142 - Unicode - - - Application - false - v142 - Unicode - - - Application - true - v143 - Unicode - - - Application - false - v143 - Unicode - - - - - - - - - - - - - - - - - - - - - true - true - - - true - true - - - true - false - - - true - false - - - - Use - Level3 - Disabled - WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions) - pch.h - true - - - false - Win32 - _DEBUG;%(PreprocessorDefinitions) - WeChatRobotCOM_i.h - WeChatRobotCOM_i.c - WeChatRobotCOM_p.c - true - $(IntDir)WeChatRobotCOM.tlb - - true - - - 0x0804 - $(IntDir);%(AdditionalIncludeDirectories) - _DEBUG;%(PreprocessorDefinitions) - - - Windows - true - - - - - Use - Level3 - Disabled - _WINDOWS;_DEBUG;%(PreprocessorDefinitions) - pch.h - true - - - false - _DEBUG;%(PreprocessorDefinitions) - WeChatRobotCOM_i.h - WeChatRobotCOM_i.c - WeChatRobotCOM_p.c - true - $(IntDir)WeChatRobotCOM.tlb - - true - - - 0x0804 - $(IntDir);%(AdditionalIncludeDirectories) - _DEBUG;%(PreprocessorDefinitions) - - - Windows - true - - - - - Use - Level3 - MaxSpeed - WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions) - pch.h - true - - - false - Win32 - NDEBUG;%(PreprocessorDefinitions) - WeChatRobotCOM_i.h - WeChatRobotCOM_i.c - WeChatRobotCOM_p.c - true - $(IntDir)WeChatRobotCOM.tlb - - true - - - 0x0804 - $(IntDir);%(AdditionalIncludeDirectories) - NDEBUG;%(PreprocessorDefinitions) - - - Windows - true - true - true - - - - - Use - Level3 - MaxSpeed - _WINDOWS;NDEBUG;%(PreprocessorDefinitions) - pch.h - true - - - false - NDEBUG;%(PreprocessorDefinitions) - WeChatRobotCOM_i.h - WeChatRobotCOM_i.c - WeChatRobotCOM_p.c - true - $(IntDir)WeChatRobotCOM.tlb - - true - - - 0x0804 - $(IntDir);%(AdditionalIncludeDirectories) - NDEBUG;%(PreprocessorDefinitions) - - - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create - Create - Create - Create - - - - - - - - - - - - - false - false - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + {F54A8A7E-C2C0-4FD8-B625-59C77FF613BA} + AtlProj + 10.0 + CWeChatRobot + + + + Application + true + v142 + Unicode + + + Application + false + v142 + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + Unicode + + + + + + + + + + + + + + + + + + + + + true + true + + + true + true + + + true + false + + + true + false + + + + Use + Level3 + Disabled + WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions) + pch.h + true + + + false + Win32 + _DEBUG;%(PreprocessorDefinitions) + WeChatRobotCOM_i.h + WeChatRobotCOM_i.c + WeChatRobotCOM_p.c + true + $(IntDir)WeChatRobotCOM.tlb + + true + + + 0x0804 + $(IntDir);%(AdditionalIncludeDirectories) + _DEBUG;%(PreprocessorDefinitions) + + + Windows + true + + + + + Use + Level3 + Disabled + _WINDOWS;_DEBUG;%(PreprocessorDefinitions) + pch.h + true + + + false + _DEBUG;%(PreprocessorDefinitions) + WeChatRobotCOM_i.h + WeChatRobotCOM_i.c + WeChatRobotCOM_p.c + true + $(IntDir)WeChatRobotCOM.tlb + + true + + + 0x0804 + $(IntDir);%(AdditionalIncludeDirectories) + _DEBUG;%(PreprocessorDefinitions) + + + Windows + true + + + + + Use + Level3 + MaxSpeed + WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions) + pch.h + true + + + false + Win32 + NDEBUG;%(PreprocessorDefinitions) + WeChatRobotCOM_i.h + WeChatRobotCOM_i.c + WeChatRobotCOM_p.c + true + $(IntDir)WeChatRobotCOM.tlb + + true + + + 0x0804 + $(IntDir);%(AdditionalIncludeDirectories) + NDEBUG;%(PreprocessorDefinitions) + + + Windows + true + true + true + + + + + Use + Level3 + MaxSpeed + _WINDOWS;NDEBUG;%(PreprocessorDefinitions) + pch.h + true + + + false + NDEBUG;%(PreprocessorDefinitions) + WeChatRobotCOM_i.h + WeChatRobotCOM_i.c + WeChatRobotCOM_p.c + true + $(IntDir)WeChatRobotCOM.tlb + + true + + + 0x0804 + $(IntDir);%(AdditionalIncludeDirectories) + NDEBUG;%(PreprocessorDefinitions) + + + Windows + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + + + + + + + + + + + + + + false + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CWeChatRobot/WeChatRobotCOM.vcxproj.filters b/CWeChatRobot/WeChatRobotCOM.vcxproj.filters index b6b6ea0b722ecf4d5fc446980588f6b1b75d57b7..72d2c4f5574c7a789963636b35e402735d7b9fb6 100644 --- a/CWeChatRobot/WeChatRobotCOM.vcxproj.filters +++ b/CWeChatRobot/WeChatRobotCOM.vcxproj.filters @@ -1,187 +1,196 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {bbe1ba5c-e2d6-4aad-b97a-18ad64a9f157} - False - - - {2a494b07-1ec6-45c4-960c-09875429c485} - - - {9e0389a0-4ff4-40a5-8d6a-2c446d7c10b9} - - - {2f5b934c-6123-4271-880a-7e185fde0fee} - - - {99158de3-8221-42df-8b1f-eb3c7c383e20} - - - {eb0eba18-3b38-466c-8978-f7d0f2bb756e} - - - {19933e02-50d4-489c-823e-4e7fe6539792} - - - {be3e55a9-dd57-4e92-a340-cb558f3cd4f7} - - - {cdd9e8b4-4576-499c-b20e-60e05911f6d6} - - - {82fef7e4-e819-4cb2-9087-40ae1f426e73} - - - {1986e9ed-7cd3-4ad3-b333-a1d74cc53c28} - - - {9d9c2a95-9243-4809-884b-70d6d87a7128} - - - {2543fa88-031d-42ca-9dd1-ac564ee2f744} - - - {9f0d63f2-46a6-4d9c-83dd-ed19792705d0} - - - - - 头文件 - - - 头文件 - - - 头文件 - - - 头文件 - - - 生成的文件 - - - 头文件 - - - 头文件 - - - 注入工具 - - - 发送消息\发送图片 - - - 发送消息\发送文本 - - - 好友相关\好友列表 - - - 发送消息\发送文件 - - - 头文件 - - - 好友相关\好友信息 - - - 个人信息 - - - 发送消息\发送文章 - - - 发送消息\发送名片 - - - 好友相关\好友状态 - - - 接收消息 - - - - - 源文件 - - - 源文件 - - - 生成的文件 - - - 源文件 - - - 源文件 - - - 注入工具 - - - 发送消息\发送图片 - - - 发送消息\发送文本 - - - 好友相关\好友列表 - - - 发送消息\发送文件 - - - 好友相关\好友信息 - - - 个人信息 - - - 发送消息\发送文章 - - - 发送消息\发送名片 - - - 好友相关\好友状态 - - - 接收消息 - - - - - 资源文件 - - - - - 资源文件 - - - 资源文件 - - - - - 源文件 - - + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {bbe1ba5c-e2d6-4aad-b97a-18ad64a9f157} + False + + + {2a494b07-1ec6-45c4-960c-09875429c485} + + + {9e0389a0-4ff4-40a5-8d6a-2c446d7c10b9} + + + {2f5b934c-6123-4271-880a-7e185fde0fee} + + + {99158de3-8221-42df-8b1f-eb3c7c383e20} + + + {eb0eba18-3b38-466c-8978-f7d0f2bb756e} + + + {19933e02-50d4-489c-823e-4e7fe6539792} + + + {be3e55a9-dd57-4e92-a340-cb558f3cd4f7} + + + {cdd9e8b4-4576-499c-b20e-60e05911f6d6} + + + {82fef7e4-e819-4cb2-9087-40ae1f426e73} + + + {1986e9ed-7cd3-4ad3-b333-a1d74cc53c28} + + + {9d9c2a95-9243-4809-884b-70d6d87a7128} + + + {2543fa88-031d-42ca-9dd1-ac564ee2f744} + + + {9f0d63f2-46a6-4d9c-83dd-ed19792705d0} + + + {ee92dda5-7326-49ad-a09b-b339eedbb518} + + + + + 头文件 + + + 头文件 + + + 头文件 + + + 头文件 + + + 生成的文件 + + + 头文件 + + + 头文件 + + + 注入工具 + + + 发送消息\发送图片 + + + 发送消息\发送文本 + + + 好友相关\好友列表 + + + 发送消息\发送文件 + + + 头文件 + + + 好友相关\好友信息 + + + 个人信息 + + + 发送消息\发送文章 + + + 发送消息\发送名片 + + + 好友相关\好友状态 + + + 接收消息 + + + 发送消息\发送艾特 + + + + + 源文件 + + + 源文件 + + + 生成的文件 + + + 源文件 + + + 源文件 + + + 注入工具 + + + 发送消息\发送图片 + + + 发送消息\发送文本 + + + 好友相关\好友列表 + + + 发送消息\发送文件 + + + 好友相关\好友信息 + + + 个人信息 + + + 发送消息\发送文章 + + + 发送消息\发送名片 + + + 好友相关\好友状态 + + + 接收消息 + + + 发送消息\发送艾特 + + + + + 资源文件 + + + + + 资源文件 + + + 资源文件 + + + + + 源文件 + + \ No newline at end of file diff --git a/CWeChatRobot/WeChatRobotCOM_i.c b/CWeChatRobot/WeChatRobotCOM_i.c index a200be7fe0850b87c8ea05e3ebbdb3f044573a4f..df97c0b6a1b05c1ebb201f4e170caae7e4df5dc7 100644 --- a/CWeChatRobot/WeChatRobotCOM_i.c +++ b/CWeChatRobot/WeChatRobotCOM_i.c @@ -1,84 +1,84 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 8.01.0622 */ -/* at Tue Jan 19 11:14:07 2038 - */ -/* Compiler settings for WeChatRobotCOM.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.01.0622 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include -#include - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include -#undef INITGUID -#else -#include -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif // !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IWeChatRobot,0xa836e359,0x59b2,0x4e01,0x9b,0x0c,0x0e,0x5a,0x5a,0x2e,0xfa,0x22); - - -MIDL_DEFINE_GUID(IID, LIBID_WeChatRobotCOMLib,0x721abb35,0x141a,0x4aa2,0x94,0xf2,0x76,0x2e,0x28,0x33,0xfa,0x6c); - - -MIDL_DEFINE_GUID(CLSID, CLSID_WeChatRobot,0x4ce7f5e1,0x2c93,0x4bfe,0x86,0xac,0x88,0x64,0x52,0xe4,0x74,0x75); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - + + +/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ + +/* link this file in with the server and any clients */ + + + /* File created by MIDL compiler version 8.01.0622 */ +/* at Tue Jan 19 11:14:07 2038 + */ +/* Compiler settings for WeChatRobotCOM.idl: + Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.01.0622 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + + + +#ifdef __cplusplus +extern "C"{ +#endif + + +#include +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#endif + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) + +#else // !_MIDL_USE_GUIDDEF_ + +#ifndef __IID_DEFINED__ +#define __IID_DEFINED__ + +typedef struct _IID +{ + unsigned long x; + unsigned short s1; + unsigned short s2; + unsigned char c[8]; +} IID; + +#endif // __IID_DEFINED__ + +#ifndef CLSID_DEFINED +#define CLSID_DEFINED +typedef IID CLSID; +#endif // CLSID_DEFINED + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} + +#endif // !_MIDL_USE_GUIDDEF_ + +MIDL_DEFINE_GUID(IID, IID_IWeChatRobot,0xa836e359,0x59b2,0x4e01,0x9b,0x0c,0x0e,0x5a,0x5a,0x2e,0xfa,0x22); + + +MIDL_DEFINE_GUID(IID, LIBID_WeChatRobotCOMLib,0x721abb35,0x141a,0x4aa2,0x94,0xf2,0x76,0x2e,0x28,0x33,0xfa,0x6c); + + +MIDL_DEFINE_GUID(CLSID, CLSID_WeChatRobot,0x4ce7f5e1,0x2c93,0x4bfe,0x86,0xac,0x88,0x64,0x52,0xe4,0x74,0x75); + +#undef MIDL_DEFINE_GUID + +#ifdef __cplusplus +} +#endif + + + diff --git a/CWeChatRobot/WeChatRobotCOM_i.h b/CWeChatRobot/WeChatRobotCOM_i.h index c77e9e9e2f2a0b9ee90247b76550edff52fdff58..1654cf203f325776b35cb39ec47ad282a0928e85 100644 --- a/CWeChatRobot/WeChatRobotCOM_i.h +++ b/CWeChatRobot/WeChatRobotCOM_i.h @@ -1,455 +1,471 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 8.01.0622 */ -/* at Tue Jan 19 11:14:07 2038 - */ -/* Compiler settings for WeChatRobotCOM.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.01.0622 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - - - -/* verify that the version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 500 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of -#endif /* __RPCNDR_H_VERSION__ */ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __WeChatRobotCOM_i_h__ -#define __WeChatRobotCOM_i_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IWeChatRobot_FWD_DEFINED__ -#define __IWeChatRobot_FWD_DEFINED__ -typedef interface IWeChatRobot IWeChatRobot; - -#endif /* __IWeChatRobot_FWD_DEFINED__ */ - - -#ifndef __WeChatRobot_FWD_DEFINED__ -#define __WeChatRobot_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class WeChatRobot WeChatRobot; -#else -typedef struct WeChatRobot WeChatRobot; -#endif /* __cplusplus */ - -#endif /* __WeChatRobot_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "oaidl.h" -#include "ocidl.h" -#include "shobjidl.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IWeChatRobot_INTERFACE_DEFINED__ -#define __IWeChatRobot_INTERFACE_DEFINED__ - -/* interface IWeChatRobot */ -/* [unique][nonextensible][dual][uuid][object] */ - - -EXTERN_C const IID IID_IWeChatRobot; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("a836e359-59b2-4e01-9b0c-0e5a5a2efa22") - IWeChatRobot : public IDispatch - { - public: - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CStartRobotService( - /* [retval][out] */ int *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CStopRobotService( - /* [retval][out] */ int *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CSendText( - /* [in] */ BSTR wxid, - /* [in] */ BSTR wxmsg, - /* [retval][out] */ int *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CSendImage( - /* [in] */ BSTR wxid, - /* [in] */ BSTR imagepath, - /* [retval][out] */ int *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CSendFile( - /* [in] */ BSTR wxid, - /* [in] */ BSTR filepath, - /* [retval][out] */ int *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CSendArticle( - /* [in] */ BSTR wxid, - /* [in] */ BSTR title, - /* [in] */ BSTR abstract, - /* [in] */ BSTR url, - /* [retval][out] */ int *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CSendCard( - /* [in] */ BSTR receiver, - /* [in] */ BSTR sharedwxid, - /* [in] */ BSTR nickname, - /* [retval][out] */ int *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CGetFriendList( - /* [retval][out] */ VARIANT *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CGetFriendListString( - /* [retval][out] */ BSTR *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CGetWxUserInfo( - /* [in] */ BSTR wxid, - /* [retval][out] */ BSTR *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CGetSelfInfo( - /* [retval][out] */ BSTR *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CCheckFriendStatusInit( - /* [retval][out] */ int *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CCheckFriendStatus( - /* [in] */ BSTR wxid, - /* [retval][out] */ int *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CCheckFriendStatusFinish( - /* [retval][out] */ int *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CGetComWorkPath( - /* [retval][out] */ BSTR *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CStartReceiveMessage( - /* [retval][out] */ int *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CReceiveMessage( - /* [retval][out] */ VARIANT *__result) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CStopReceiveMessage( - /* [retval][out] */ int *__result) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IWeChatRobotVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IWeChatRobot * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IWeChatRobot * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IWeChatRobot * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IWeChatRobot * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IWeChatRobot * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IWeChatRobot * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IWeChatRobot * This, - /* [annotation][in] */ - _In_ DISPID dispIdMember, - /* [annotation][in] */ - _In_ REFIID riid, - /* [annotation][in] */ - _In_ LCID lcid, - /* [annotation][in] */ - _In_ WORD wFlags, - /* [annotation][out][in] */ - _In_ DISPPARAMS *pDispParams, - /* [annotation][out] */ - _Out_opt_ VARIANT *pVarResult, - /* [annotation][out] */ - _Out_opt_ EXCEPINFO *pExcepInfo, - /* [annotation][out] */ - _Out_opt_ UINT *puArgErr); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CStartRobotService )( - IWeChatRobot * This, - /* [retval][out] */ int *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CStopRobotService )( - IWeChatRobot * This, - /* [retval][out] */ int *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CSendText )( - IWeChatRobot * This, - /* [in] */ BSTR wxid, - /* [in] */ BSTR wxmsg, - /* [retval][out] */ int *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CSendImage )( - IWeChatRobot * This, - /* [in] */ BSTR wxid, - /* [in] */ BSTR imagepath, - /* [retval][out] */ int *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CSendFile )( - IWeChatRobot * This, - /* [in] */ BSTR wxid, - /* [in] */ BSTR filepath, - /* [retval][out] */ int *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CSendArticle )( - IWeChatRobot * This, - /* [in] */ BSTR wxid, - /* [in] */ BSTR title, - /* [in] */ BSTR abstract, - /* [in] */ BSTR url, - /* [retval][out] */ int *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CSendCard )( - IWeChatRobot * This, - /* [in] */ BSTR receiver, - /* [in] */ BSTR sharedwxid, - /* [in] */ BSTR nickname, - /* [retval][out] */ int *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CGetFriendList )( - IWeChatRobot * This, - /* [retval][out] */ VARIANT *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CGetFriendListString )( - IWeChatRobot * This, - /* [retval][out] */ BSTR *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CGetWxUserInfo )( - IWeChatRobot * This, - /* [in] */ BSTR wxid, - /* [retval][out] */ BSTR *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CGetSelfInfo )( - IWeChatRobot * This, - /* [retval][out] */ BSTR *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CCheckFriendStatusInit )( - IWeChatRobot * This, - /* [retval][out] */ int *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CCheckFriendStatus )( - IWeChatRobot * This, - /* [in] */ BSTR wxid, - /* [retval][out] */ int *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CCheckFriendStatusFinish )( - IWeChatRobot * This, - /* [retval][out] */ int *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CGetComWorkPath )( - IWeChatRobot * This, - /* [retval][out] */ BSTR *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CStartReceiveMessage )( - IWeChatRobot * This, - /* [retval][out] */ int *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CReceiveMessage )( - IWeChatRobot * This, - /* [retval][out] */ VARIANT *__result); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CStopReceiveMessage )( - IWeChatRobot * This, - /* [retval][out] */ int *__result); - - END_INTERFACE - } IWeChatRobotVtbl; - - interface IWeChatRobot - { - CONST_VTBL struct IWeChatRobotVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IWeChatRobot_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IWeChatRobot_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IWeChatRobot_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IWeChatRobot_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IWeChatRobot_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IWeChatRobot_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IWeChatRobot_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IWeChatRobot_CStartRobotService(This,__result) \ - ( (This)->lpVtbl -> CStartRobotService(This,__result) ) - -#define IWeChatRobot_CStopRobotService(This,__result) \ - ( (This)->lpVtbl -> CStopRobotService(This,__result) ) - -#define IWeChatRobot_CSendText(This,wxid,wxmsg,__result) \ - ( (This)->lpVtbl -> CSendText(This,wxid,wxmsg,__result) ) - -#define IWeChatRobot_CSendImage(This,wxid,imagepath,__result) \ - ( (This)->lpVtbl -> CSendImage(This,wxid,imagepath,__result) ) - -#define IWeChatRobot_CSendFile(This,wxid,filepath,__result) \ - ( (This)->lpVtbl -> CSendFile(This,wxid,filepath,__result) ) - -#define IWeChatRobot_CSendArticle(This,wxid,title,abstract,url,__result) \ - ( (This)->lpVtbl -> CSendArticle(This,wxid,title,abstract,url,__result) ) - -#define IWeChatRobot_CSendCard(This,receiver,sharedwxid,nickname,__result) \ - ( (This)->lpVtbl -> CSendCard(This,receiver,sharedwxid,nickname,__result) ) - -#define IWeChatRobot_CGetFriendList(This,__result) \ - ( (This)->lpVtbl -> CGetFriendList(This,__result) ) - -#define IWeChatRobot_CGetFriendListString(This,__result) \ - ( (This)->lpVtbl -> CGetFriendListString(This,__result) ) - -#define IWeChatRobot_CGetWxUserInfo(This,wxid,__result) \ - ( (This)->lpVtbl -> CGetWxUserInfo(This,wxid,__result) ) - -#define IWeChatRobot_CGetSelfInfo(This,__result) \ - ( (This)->lpVtbl -> CGetSelfInfo(This,__result) ) - -#define IWeChatRobot_CCheckFriendStatusInit(This,__result) \ - ( (This)->lpVtbl -> CCheckFriendStatusInit(This,__result) ) - -#define IWeChatRobot_CCheckFriendStatus(This,wxid,__result) \ - ( (This)->lpVtbl -> CCheckFriendStatus(This,wxid,__result) ) - -#define IWeChatRobot_CCheckFriendStatusFinish(This,__result) \ - ( (This)->lpVtbl -> CCheckFriendStatusFinish(This,__result) ) - -#define IWeChatRobot_CGetComWorkPath(This,__result) \ - ( (This)->lpVtbl -> CGetComWorkPath(This,__result) ) - -#define IWeChatRobot_CStartReceiveMessage(This,__result) \ - ( (This)->lpVtbl -> CStartReceiveMessage(This,__result) ) - -#define IWeChatRobot_CReceiveMessage(This,__result) \ - ( (This)->lpVtbl -> CReceiveMessage(This,__result) ) - -#define IWeChatRobot_CStopReceiveMessage(This,__result) \ - ( (This)->lpVtbl -> CStopReceiveMessage(This,__result) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IWeChatRobot_INTERFACE_DEFINED__ */ - - - -#ifndef __WeChatRobotCOMLib_LIBRARY_DEFINED__ -#define __WeChatRobotCOMLib_LIBRARY_DEFINED__ - -/* library WeChatRobotCOMLib */ -/* [version][uuid] */ - - -EXTERN_C const IID LIBID_WeChatRobotCOMLib; - -EXTERN_C const CLSID CLSID_WeChatRobot; - -#ifdef __cplusplus - -class DECLSPEC_UUID("4ce7f5e1-2c93-4bfe-86ac-886452e47475") -WeChatRobot; -#endif -#endif /* __WeChatRobotCOMLib_LIBRARY_DEFINED__ */ - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * ); -unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * ); -unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); -void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * ); - -unsigned long __RPC_USER BSTR_UserSize64( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal64( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal64(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree64( unsigned long *, BSTR * ); - -unsigned long __RPC_USER VARIANT_UserSize64( unsigned long *, unsigned long , VARIANT * ); -unsigned char * __RPC_USER VARIANT_UserMarshal64( unsigned long *, unsigned char *, VARIANT * ); -unsigned char * __RPC_USER VARIANT_UserUnmarshal64(unsigned long *, unsigned char *, VARIANT * ); -void __RPC_USER VARIANT_UserFree64( unsigned long *, VARIANT * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 8.01.0622 */ +/* at Tue Jan 19 11:14:07 2038 + */ +/* Compiler settings for WeChatRobotCOM.idl: + Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.01.0622 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 500 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif /* __RPCNDR_H_VERSION__ */ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __WeChatRobotCOM_i_h__ +#define __WeChatRobotCOM_i_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +/* Forward Declarations */ + +#ifndef __IWeChatRobot_FWD_DEFINED__ +#define __IWeChatRobot_FWD_DEFINED__ +typedef interface IWeChatRobot IWeChatRobot; + +#endif /* __IWeChatRobot_FWD_DEFINED__ */ + + +#ifndef __WeChatRobot_FWD_DEFINED__ +#define __WeChatRobot_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class WeChatRobot WeChatRobot; +#else +typedef struct WeChatRobot WeChatRobot; +#endif /* __cplusplus */ + +#endif /* __WeChatRobot_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" +#include "ocidl.h" +#include "shobjidl.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +#ifndef __IWeChatRobot_INTERFACE_DEFINED__ +#define __IWeChatRobot_INTERFACE_DEFINED__ + +/* interface IWeChatRobot */ +/* [unique][nonextensible][dual][uuid][object] */ + + +EXTERN_C const IID IID_IWeChatRobot; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("a836e359-59b2-4e01-9b0c-0e5a5a2efa22") + IWeChatRobot : public IDispatch + { + public: + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CStartRobotService( + /* [retval][out] */ int *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CStopRobotService( + /* [retval][out] */ int *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CSendText( + /* [in] */ BSTR wxid, + /* [in] */ BSTR wxmsg, + /* [retval][out] */ int *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CSendImage( + /* [in] */ BSTR wxid, + /* [in] */ BSTR imagepath, + /* [retval][out] */ int *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CSendFile( + /* [in] */ BSTR wxid, + /* [in] */ BSTR filepath, + /* [retval][out] */ int *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CSendArticle( + /* [in] */ BSTR wxid, + /* [in] */ BSTR title, + /* [in] */ BSTR abstract, + /* [in] */ BSTR url, + /* [retval][out] */ int *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CSendCard( + /* [in] */ BSTR receiver, + /* [in] */ BSTR sharedwxid, + /* [in] */ BSTR nickname, + /* [retval][out] */ int *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CGetFriendList( + /* [retval][out] */ VARIANT *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CGetFriendListString( + /* [retval][out] */ BSTR *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CGetWxUserInfo( + /* [in] */ BSTR wxid, + /* [retval][out] */ BSTR *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CGetSelfInfo( + /* [retval][out] */ BSTR *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CCheckFriendStatusInit( + /* [retval][out] */ int *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CCheckFriendStatus( + /* [in] */ BSTR wxid, + /* [retval][out] */ int *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CCheckFriendStatusFinish( + /* [retval][out] */ int *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CGetComWorkPath( + /* [retval][out] */ BSTR *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CStartReceiveMessage( + /* [retval][out] */ int *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CReceiveMessage( + /* [retval][out] */ VARIANT *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CStopReceiveMessage( + /* [retval][out] */ int *__result) = 0; + + virtual /* [id] */ HRESULT STDMETHODCALLTYPE CSendAtText( + /* [in] */ BSTR chatroomid, + /* [in] */ BSTR wxid, + /* [in] */ BSTR wxmsg, + /* [retval][out] */ int *__result) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IWeChatRobotVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IWeChatRobot * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IWeChatRobot * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IWeChatRobot * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IWeChatRobot * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IWeChatRobot * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IWeChatRobot * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [range][in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IWeChatRobot * This, + /* [annotation][in] */ + _In_ DISPID dispIdMember, + /* [annotation][in] */ + _In_ REFIID riid, + /* [annotation][in] */ + _In_ LCID lcid, + /* [annotation][in] */ + _In_ WORD wFlags, + /* [annotation][out][in] */ + _In_ DISPPARAMS *pDispParams, + /* [annotation][out] */ + _Out_opt_ VARIANT *pVarResult, + /* [annotation][out] */ + _Out_opt_ EXCEPINFO *pExcepInfo, + /* [annotation][out] */ + _Out_opt_ UINT *puArgErr); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CStartRobotService )( + IWeChatRobot * This, + /* [retval][out] */ int *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CStopRobotService )( + IWeChatRobot * This, + /* [retval][out] */ int *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CSendText )( + IWeChatRobot * This, + /* [in] */ BSTR wxid, + /* [in] */ BSTR wxmsg, + /* [retval][out] */ int *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CSendImage )( + IWeChatRobot * This, + /* [in] */ BSTR wxid, + /* [in] */ BSTR imagepath, + /* [retval][out] */ int *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CSendFile )( + IWeChatRobot * This, + /* [in] */ BSTR wxid, + /* [in] */ BSTR filepath, + /* [retval][out] */ int *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CSendArticle )( + IWeChatRobot * This, + /* [in] */ BSTR wxid, + /* [in] */ BSTR title, + /* [in] */ BSTR abstract, + /* [in] */ BSTR url, + /* [retval][out] */ int *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CSendCard )( + IWeChatRobot * This, + /* [in] */ BSTR receiver, + /* [in] */ BSTR sharedwxid, + /* [in] */ BSTR nickname, + /* [retval][out] */ int *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CGetFriendList )( + IWeChatRobot * This, + /* [retval][out] */ VARIANT *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CGetFriendListString )( + IWeChatRobot * This, + /* [retval][out] */ BSTR *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CGetWxUserInfo )( + IWeChatRobot * This, + /* [in] */ BSTR wxid, + /* [retval][out] */ BSTR *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CGetSelfInfo )( + IWeChatRobot * This, + /* [retval][out] */ BSTR *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CCheckFriendStatusInit )( + IWeChatRobot * This, + /* [retval][out] */ int *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CCheckFriendStatus )( + IWeChatRobot * This, + /* [in] */ BSTR wxid, + /* [retval][out] */ int *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CCheckFriendStatusFinish )( + IWeChatRobot * This, + /* [retval][out] */ int *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CGetComWorkPath )( + IWeChatRobot * This, + /* [retval][out] */ BSTR *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CStartReceiveMessage )( + IWeChatRobot * This, + /* [retval][out] */ int *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CReceiveMessage )( + IWeChatRobot * This, + /* [retval][out] */ VARIANT *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CStopReceiveMessage )( + IWeChatRobot * This, + /* [retval][out] */ int *__result); + + /* [id] */ HRESULT ( STDMETHODCALLTYPE *CSendAtText )( + IWeChatRobot * This, + /* [in] */ BSTR chatroomid, + /* [in] */ BSTR wxid, + /* [in] */ BSTR wxmsg, + /* [retval][out] */ int *__result); + + END_INTERFACE + } IWeChatRobotVtbl; + + interface IWeChatRobot + { + CONST_VTBL struct IWeChatRobotVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IWeChatRobot_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IWeChatRobot_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IWeChatRobot_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IWeChatRobot_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IWeChatRobot_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IWeChatRobot_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IWeChatRobot_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IWeChatRobot_CStartRobotService(This,__result) \ + ( (This)->lpVtbl -> CStartRobotService(This,__result) ) + +#define IWeChatRobot_CStopRobotService(This,__result) \ + ( (This)->lpVtbl -> CStopRobotService(This,__result) ) + +#define IWeChatRobot_CSendText(This,wxid,wxmsg,__result) \ + ( (This)->lpVtbl -> CSendText(This,wxid,wxmsg,__result) ) + +#define IWeChatRobot_CSendImage(This,wxid,imagepath,__result) \ + ( (This)->lpVtbl -> CSendImage(This,wxid,imagepath,__result) ) + +#define IWeChatRobot_CSendFile(This,wxid,filepath,__result) \ + ( (This)->lpVtbl -> CSendFile(This,wxid,filepath,__result) ) + +#define IWeChatRobot_CSendArticle(This,wxid,title,abstract,url,__result) \ + ( (This)->lpVtbl -> CSendArticle(This,wxid,title,abstract,url,__result) ) + +#define IWeChatRobot_CSendCard(This,receiver,sharedwxid,nickname,__result) \ + ( (This)->lpVtbl -> CSendCard(This,receiver,sharedwxid,nickname,__result) ) + +#define IWeChatRobot_CGetFriendList(This,__result) \ + ( (This)->lpVtbl -> CGetFriendList(This,__result) ) + +#define IWeChatRobot_CGetFriendListString(This,__result) \ + ( (This)->lpVtbl -> CGetFriendListString(This,__result) ) + +#define IWeChatRobot_CGetWxUserInfo(This,wxid,__result) \ + ( (This)->lpVtbl -> CGetWxUserInfo(This,wxid,__result) ) + +#define IWeChatRobot_CGetSelfInfo(This,__result) \ + ( (This)->lpVtbl -> CGetSelfInfo(This,__result) ) + +#define IWeChatRobot_CCheckFriendStatusInit(This,__result) \ + ( (This)->lpVtbl -> CCheckFriendStatusInit(This,__result) ) + +#define IWeChatRobot_CCheckFriendStatus(This,wxid,__result) \ + ( (This)->lpVtbl -> CCheckFriendStatus(This,wxid,__result) ) + +#define IWeChatRobot_CCheckFriendStatusFinish(This,__result) \ + ( (This)->lpVtbl -> CCheckFriendStatusFinish(This,__result) ) + +#define IWeChatRobot_CGetComWorkPath(This,__result) \ + ( (This)->lpVtbl -> CGetComWorkPath(This,__result) ) + +#define IWeChatRobot_CStartReceiveMessage(This,__result) \ + ( (This)->lpVtbl -> CStartReceiveMessage(This,__result) ) + +#define IWeChatRobot_CReceiveMessage(This,__result) \ + ( (This)->lpVtbl -> CReceiveMessage(This,__result) ) + +#define IWeChatRobot_CStopReceiveMessage(This,__result) \ + ( (This)->lpVtbl -> CStopReceiveMessage(This,__result) ) + +#define IWeChatRobot_CSendAtText(This,chatroomid,wxid,wxmsg,__result) \ + ( (This)->lpVtbl -> CSendAtText(This,chatroomid,wxid,wxmsg,__result) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IWeChatRobot_INTERFACE_DEFINED__ */ + + + +#ifndef __WeChatRobotCOMLib_LIBRARY_DEFINED__ +#define __WeChatRobotCOMLib_LIBRARY_DEFINED__ + +/* library WeChatRobotCOMLib */ +/* [version][uuid] */ + + +EXTERN_C const IID LIBID_WeChatRobotCOMLib; + +EXTERN_C const CLSID CLSID_WeChatRobot; + +#ifdef __cplusplus + +class DECLSPEC_UUID("4ce7f5e1-2c93-4bfe-86ac-886452e47475") +WeChatRobot; +#endif +#endif /* __WeChatRobotCOMLib_LIBRARY_DEFINED__ */ + +/* Additional Prototypes for ALL interfaces */ + +unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); +unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); +unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); +void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); + +unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * ); +unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * ); +unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); +void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * ); + +unsigned long __RPC_USER BSTR_UserSize64( unsigned long *, unsigned long , BSTR * ); +unsigned char * __RPC_USER BSTR_UserMarshal64( unsigned long *, unsigned char *, BSTR * ); +unsigned char * __RPC_USER BSTR_UserUnmarshal64(unsigned long *, unsigned char *, BSTR * ); +void __RPC_USER BSTR_UserFree64( unsigned long *, BSTR * ); + +unsigned long __RPC_USER VARIANT_UserSize64( unsigned long *, unsigned long , VARIANT * ); +unsigned char * __RPC_USER VARIANT_UserMarshal64( unsigned long *, unsigned char *, VARIANT * ); +unsigned char * __RPC_USER VARIANT_UserUnmarshal64(unsigned long *, unsigned char *, VARIANT * ); +void __RPC_USER VARIANT_UserFree64( unsigned long *, VARIANT * ); + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/CWeChatRobot/WeChatRobotCOM_p.c b/CWeChatRobot/WeChatRobotCOM_p.c index 5591a4bd0bbc4024b15d9f494d1fe508b0366236..c4a64457908e77e123ba2974d99be3598dbb6965 100644 --- a/CWeChatRobot/WeChatRobotCOM_p.c +++ b/CWeChatRobot/WeChatRobotCOM_p.c @@ -1,1777 +1,1829 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 8.01.0622 */ -/* at Tue Jan 19 11:14:07 2038 - */ -/* Compiler settings for WeChatRobotCOM.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.01.0622 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_) - - -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "WeChatRobotCOM_i.h" - -#define TYPE_FORMAT_STRING_SIZE 1221 -#define PROC_FORMAT_STRING_SIZE 739 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 2 - -typedef struct _WeChatRobotCOM_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } WeChatRobotCOM_MIDL_TYPE_FORMAT_STRING; - -typedef struct _WeChatRobotCOM_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } WeChatRobotCOM_MIDL_PROC_FORMAT_STRING; - -typedef struct _WeChatRobotCOM_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } WeChatRobotCOM_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const WeChatRobotCOM_MIDL_TYPE_FORMAT_STRING WeChatRobotCOM__MIDL_TypeFormatString; -extern const WeChatRobotCOM_MIDL_PROC_FORMAT_STRING WeChatRobotCOM__MIDL_ProcFormatString; -extern const WeChatRobotCOM_MIDL_EXPR_FORMAT_STRING WeChatRobotCOM__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IWeChatRobot_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IWeChatRobot_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif -#if !(TARGET_IS_NT60_OR_LATER) -#error You need Windows Vista or later to run this stub because it uses these features: -#error forced complex structure or array, new range semantics, compiled for Windows Vista. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const WeChatRobotCOM_MIDL_PROC_FORMAT_STRING WeChatRobotCOM__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure CStartRobotService */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x7 ), /* 7 */ -/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x24 ), /* 36 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0x8, /* 8 */ - 0x41, /* Ext Flags: new corr desc, has range on conformance */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter __result */ - -/* 24 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CStopRobotService */ - -/* 36 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 38 */ NdrFcLong( 0x0 ), /* 0 */ -/* 42 */ NdrFcShort( 0x8 ), /* 8 */ -/* 44 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 46 */ NdrFcShort( 0x0 ), /* 0 */ -/* 48 */ NdrFcShort( 0x24 ), /* 36 */ -/* 50 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 52 */ 0x8, /* 8 */ - 0x41, /* Ext Flags: new corr desc, has range on conformance */ -/* 54 */ NdrFcShort( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter __result */ - -/* 60 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 64 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 66 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 70 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CSendText */ - -/* 72 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 74 */ NdrFcLong( 0x0 ), /* 0 */ -/* 78 */ NdrFcShort( 0x9 ), /* 9 */ -/* 80 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 82 */ NdrFcShort( 0x0 ), /* 0 */ -/* 84 */ NdrFcShort( 0x24 ), /* 36 */ -/* 86 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x4, /* 4 */ -/* 88 */ 0x8, /* 8 */ - 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ -/* 90 */ NdrFcShort( 0x0 ), /* 0 */ -/* 92 */ NdrFcShort( 0x1 ), /* 1 */ -/* 94 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter wxid */ - -/* 96 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 98 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 100 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter wxmsg */ - -/* 102 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 104 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 106 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter __result */ - -/* 108 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 110 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 116 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CSendImage */ - -/* 120 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 122 */ NdrFcLong( 0x0 ), /* 0 */ -/* 126 */ NdrFcShort( 0xa ), /* 10 */ -/* 128 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 130 */ NdrFcShort( 0x0 ), /* 0 */ -/* 132 */ NdrFcShort( 0x24 ), /* 36 */ -/* 134 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x4, /* 4 */ -/* 136 */ 0x8, /* 8 */ - 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ -/* 138 */ NdrFcShort( 0x0 ), /* 0 */ -/* 140 */ NdrFcShort( 0x1 ), /* 1 */ -/* 142 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter wxid */ - -/* 144 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 146 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 148 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter imagepath */ - -/* 150 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 152 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 154 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter __result */ - -/* 156 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 158 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 160 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 162 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 164 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 166 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CSendFile */ - -/* 168 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 170 */ NdrFcLong( 0x0 ), /* 0 */ -/* 174 */ NdrFcShort( 0xb ), /* 11 */ -/* 176 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 178 */ NdrFcShort( 0x0 ), /* 0 */ -/* 180 */ NdrFcShort( 0x24 ), /* 36 */ -/* 182 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x4, /* 4 */ -/* 184 */ 0x8, /* 8 */ - 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ -/* 186 */ NdrFcShort( 0x0 ), /* 0 */ -/* 188 */ NdrFcShort( 0x1 ), /* 1 */ -/* 190 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter wxid */ - -/* 192 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 194 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 196 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter filepath */ - -/* 198 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 200 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 202 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter __result */ - -/* 204 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 206 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 208 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 210 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 212 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 214 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CSendArticle */ - -/* 216 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 218 */ NdrFcLong( 0x0 ), /* 0 */ -/* 222 */ NdrFcShort( 0xc ), /* 12 */ -/* 224 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ -/* 226 */ NdrFcShort( 0x0 ), /* 0 */ -/* 228 */ NdrFcShort( 0x24 ), /* 36 */ -/* 230 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x6, /* 6 */ -/* 232 */ 0x8, /* 8 */ - 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ -/* 234 */ NdrFcShort( 0x0 ), /* 0 */ -/* 236 */ NdrFcShort( 0x1 ), /* 1 */ -/* 238 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter wxid */ - -/* 240 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 242 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 244 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter title */ - -/* 246 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 248 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 250 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter abstract */ - -/* 252 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 254 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 256 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter url */ - -/* 258 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 260 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 262 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter __result */ - -/* 264 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 266 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 268 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 270 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 272 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 274 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CSendCard */ - -/* 276 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 278 */ NdrFcLong( 0x0 ), /* 0 */ -/* 282 */ NdrFcShort( 0xd ), /* 13 */ -/* 284 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 286 */ NdrFcShort( 0x0 ), /* 0 */ -/* 288 */ NdrFcShort( 0x24 ), /* 36 */ -/* 290 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x5, /* 5 */ -/* 292 */ 0x8, /* 8 */ - 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ -/* 294 */ NdrFcShort( 0x0 ), /* 0 */ -/* 296 */ NdrFcShort( 0x1 ), /* 1 */ -/* 298 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter receiver */ - -/* 300 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 302 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 304 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter sharedwxid */ - -/* 306 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 308 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 310 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter nickname */ - -/* 312 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 314 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 316 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter __result */ - -/* 318 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 320 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 322 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 324 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 326 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 328 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CGetFriendList */ - -/* 330 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 332 */ NdrFcLong( 0x0 ), /* 0 */ -/* 336 */ NdrFcShort( 0xe ), /* 14 */ -/* 338 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 340 */ NdrFcShort( 0x0 ), /* 0 */ -/* 342 */ NdrFcShort( 0x8 ), /* 8 */ -/* 344 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 346 */ 0x8, /* 8 */ - 0x43, /* Ext Flags: new corr desc, clt corr check, has range on conformance */ -/* 348 */ NdrFcShort( 0x1 ), /* 1 */ -/* 350 */ NdrFcShort( 0x0 ), /* 0 */ -/* 352 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter __result */ - -/* 354 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 356 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 358 */ NdrFcShort( 0x4ac ), /* Type Offset=1196 */ - - /* Return value */ - -/* 360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 362 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 364 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CGetFriendListString */ - -/* 366 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 368 */ NdrFcLong( 0x0 ), /* 0 */ -/* 372 */ NdrFcShort( 0xf ), /* 15 */ -/* 374 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 376 */ NdrFcShort( 0x0 ), /* 0 */ -/* 378 */ NdrFcShort( 0x8 ), /* 8 */ -/* 380 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 382 */ 0x8, /* 8 */ - 0x43, /* Ext Flags: new corr desc, clt corr check, has range on conformance */ -/* 384 */ NdrFcShort( 0x1 ), /* 1 */ -/* 386 */ NdrFcShort( 0x0 ), /* 0 */ -/* 388 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter __result */ - -/* 390 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 392 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 394 */ NdrFcShort( 0x4ba ), /* Type Offset=1210 */ - - /* Return value */ - -/* 396 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 398 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 400 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CGetWxUserInfo */ - -/* 402 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 404 */ NdrFcLong( 0x0 ), /* 0 */ -/* 408 */ NdrFcShort( 0x10 ), /* 16 */ -/* 410 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 412 */ NdrFcShort( 0x0 ), /* 0 */ -/* 414 */ NdrFcShort( 0x8 ), /* 8 */ -/* 416 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ - 0x3, /* 3 */ -/* 418 */ 0x8, /* 8 */ - 0x47, /* Ext Flags: new corr desc, clt corr check, srv corr check, has range on conformance */ -/* 420 */ NdrFcShort( 0x1 ), /* 1 */ -/* 422 */ NdrFcShort( 0x1 ), /* 1 */ -/* 424 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter wxid */ - -/* 426 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 428 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 430 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter __result */ - -/* 432 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 434 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 436 */ NdrFcShort( 0x4ba ), /* Type Offset=1210 */ - - /* Return value */ - -/* 438 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 440 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 442 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CGetSelfInfo */ - -/* 444 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 446 */ NdrFcLong( 0x0 ), /* 0 */ -/* 450 */ NdrFcShort( 0x11 ), /* 17 */ -/* 452 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 454 */ NdrFcShort( 0x0 ), /* 0 */ -/* 456 */ NdrFcShort( 0x8 ), /* 8 */ -/* 458 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 460 */ 0x8, /* 8 */ - 0x43, /* Ext Flags: new corr desc, clt corr check, has range on conformance */ -/* 462 */ NdrFcShort( 0x1 ), /* 1 */ -/* 464 */ NdrFcShort( 0x0 ), /* 0 */ -/* 466 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter __result */ - -/* 468 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 470 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 472 */ NdrFcShort( 0x4ba ), /* Type Offset=1210 */ - - /* Return value */ - -/* 474 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 476 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 478 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CCheckFriendStatusInit */ - -/* 480 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 482 */ NdrFcLong( 0x0 ), /* 0 */ -/* 486 */ NdrFcShort( 0x12 ), /* 18 */ -/* 488 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 490 */ NdrFcShort( 0x0 ), /* 0 */ -/* 492 */ NdrFcShort( 0x24 ), /* 36 */ -/* 494 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 496 */ 0x8, /* 8 */ - 0x41, /* Ext Flags: new corr desc, has range on conformance */ -/* 498 */ NdrFcShort( 0x0 ), /* 0 */ -/* 500 */ NdrFcShort( 0x0 ), /* 0 */ -/* 502 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter __result */ - -/* 504 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 506 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 508 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 510 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 512 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 514 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CCheckFriendStatus */ - -/* 516 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 518 */ NdrFcLong( 0x0 ), /* 0 */ -/* 522 */ NdrFcShort( 0x13 ), /* 19 */ -/* 524 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 526 */ NdrFcShort( 0x0 ), /* 0 */ -/* 528 */ NdrFcShort( 0x24 ), /* 36 */ -/* 530 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x3, /* 3 */ -/* 532 */ 0x8, /* 8 */ - 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ -/* 534 */ NdrFcShort( 0x0 ), /* 0 */ -/* 536 */ NdrFcShort( 0x1 ), /* 1 */ -/* 538 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter wxid */ - -/* 540 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 542 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 544 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ - - /* Parameter __result */ - -/* 546 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 548 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 550 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 552 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 554 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 556 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CCheckFriendStatusFinish */ - -/* 558 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 560 */ NdrFcLong( 0x0 ), /* 0 */ -/* 564 */ NdrFcShort( 0x14 ), /* 20 */ -/* 566 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 568 */ NdrFcShort( 0x0 ), /* 0 */ -/* 570 */ NdrFcShort( 0x24 ), /* 36 */ -/* 572 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 574 */ 0x8, /* 8 */ - 0x41, /* Ext Flags: new corr desc, has range on conformance */ -/* 576 */ NdrFcShort( 0x0 ), /* 0 */ -/* 578 */ NdrFcShort( 0x0 ), /* 0 */ -/* 580 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter __result */ - -/* 582 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 584 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 586 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 588 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 590 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 592 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CGetComWorkPath */ - -/* 594 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 596 */ NdrFcLong( 0x0 ), /* 0 */ -/* 600 */ NdrFcShort( 0x15 ), /* 21 */ -/* 602 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 604 */ NdrFcShort( 0x0 ), /* 0 */ -/* 606 */ NdrFcShort( 0x8 ), /* 8 */ -/* 608 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 610 */ 0x8, /* 8 */ - 0x43, /* Ext Flags: new corr desc, clt corr check, has range on conformance */ -/* 612 */ NdrFcShort( 0x1 ), /* 1 */ -/* 614 */ NdrFcShort( 0x0 ), /* 0 */ -/* 616 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter __result */ - -/* 618 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 620 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 622 */ NdrFcShort( 0x4ba ), /* Type Offset=1210 */ - - /* Return value */ - -/* 624 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 626 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 628 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CStartReceiveMessage */ - -/* 630 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 632 */ NdrFcLong( 0x0 ), /* 0 */ -/* 636 */ NdrFcShort( 0x16 ), /* 22 */ -/* 638 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 640 */ NdrFcShort( 0x0 ), /* 0 */ -/* 642 */ NdrFcShort( 0x24 ), /* 36 */ -/* 644 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 646 */ 0x8, /* 8 */ - 0x41, /* Ext Flags: new corr desc, has range on conformance */ -/* 648 */ NdrFcShort( 0x0 ), /* 0 */ -/* 650 */ NdrFcShort( 0x0 ), /* 0 */ -/* 652 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter __result */ - -/* 654 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 656 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 658 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 660 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 662 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 664 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CReceiveMessage */ - -/* 666 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 668 */ NdrFcLong( 0x0 ), /* 0 */ -/* 672 */ NdrFcShort( 0x17 ), /* 23 */ -/* 674 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 676 */ NdrFcShort( 0x0 ), /* 0 */ -/* 678 */ NdrFcShort( 0x8 ), /* 8 */ -/* 680 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 682 */ 0x8, /* 8 */ - 0x43, /* Ext Flags: new corr desc, clt corr check, has range on conformance */ -/* 684 */ NdrFcShort( 0x1 ), /* 1 */ -/* 686 */ NdrFcShort( 0x0 ), /* 0 */ -/* 688 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter __result */ - -/* 690 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 692 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 694 */ NdrFcShort( 0x4ac ), /* Type Offset=1196 */ - - /* Return value */ - -/* 696 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 698 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 700 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure CStopReceiveMessage */ - -/* 702 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 704 */ NdrFcLong( 0x0 ), /* 0 */ -/* 708 */ NdrFcShort( 0x18 ), /* 24 */ -/* 710 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 712 */ NdrFcShort( 0x0 ), /* 0 */ -/* 714 */ NdrFcShort( 0x24 ), /* 36 */ -/* 716 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 718 */ 0x8, /* 8 */ - 0x41, /* Ext Flags: new corr desc, has range on conformance */ -/* 720 */ NdrFcShort( 0x0 ), /* 0 */ -/* 722 */ NdrFcShort( 0x0 ), /* 0 */ -/* 724 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter __result */ - -/* 726 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 728 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 730 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 732 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 734 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 736 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const WeChatRobotCOM_MIDL_TYPE_FORMAT_STRING WeChatRobotCOM__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 6 */ - 0x12, 0x0, /* FC_UP */ -/* 8 */ NdrFcShort( 0x18 ), /* Offset= 24 (32) */ -/* 10 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 12 */ NdrFcShort( 0x2 ), /* 2 */ -/* 14 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 16 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 20 */ 0x0 , - 0x0, /* 0 */ -/* 22 */ NdrFcLong( 0x0 ), /* 0 */ -/* 26 */ NdrFcLong( 0x0 ), /* 0 */ -/* 30 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 32 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 34 */ NdrFcShort( 0x8 ), /* 8 */ -/* 36 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (10) */ -/* 38 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 40 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 42 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 44 */ NdrFcShort( 0x0 ), /* 0 */ -/* 46 */ NdrFcShort( 0x4 ), /* 4 */ -/* 48 */ NdrFcShort( 0x0 ), /* 0 */ -/* 50 */ NdrFcShort( 0xffd4 ), /* Offset= -44 (6) */ -/* 52 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 54 */ NdrFcShort( 0x476 ), /* Offset= 1142 (1196) */ -/* 56 */ - 0x13, 0x0, /* FC_OP */ -/* 58 */ NdrFcShort( 0x45e ), /* Offset= 1118 (1176) */ -/* 60 */ - 0x2b, /* FC_NON_ENCAPSULATED_UNION */ - 0x9, /* FC_ULONG */ -/* 62 */ 0x7, /* Corr desc: FC_USHORT */ - 0x0, /* */ -/* 64 */ NdrFcShort( 0xfff8 ), /* -8 */ -/* 66 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 68 */ 0x0 , - 0x0, /* 0 */ -/* 70 */ NdrFcLong( 0x0 ), /* 0 */ -/* 74 */ NdrFcLong( 0x0 ), /* 0 */ -/* 78 */ NdrFcShort( 0x2 ), /* Offset= 2 (80) */ -/* 80 */ NdrFcShort( 0x10 ), /* 16 */ -/* 82 */ NdrFcShort( 0x2f ), /* 47 */ -/* 84 */ NdrFcLong( 0x14 ), /* 20 */ -/* 88 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ -/* 90 */ NdrFcLong( 0x3 ), /* 3 */ -/* 94 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 96 */ NdrFcLong( 0x11 ), /* 17 */ -/* 100 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */ -/* 102 */ NdrFcLong( 0x2 ), /* 2 */ -/* 106 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 108 */ NdrFcLong( 0x4 ), /* 4 */ -/* 112 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */ -/* 114 */ NdrFcLong( 0x5 ), /* 5 */ -/* 118 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ -/* 120 */ NdrFcLong( 0xb ), /* 11 */ -/* 124 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 126 */ NdrFcLong( 0xa ), /* 10 */ -/* 130 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 132 */ NdrFcLong( 0x6 ), /* 6 */ -/* 136 */ NdrFcShort( 0xe8 ), /* Offset= 232 (368) */ -/* 138 */ NdrFcLong( 0x7 ), /* 7 */ -/* 142 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ -/* 144 */ NdrFcLong( 0x8 ), /* 8 */ -/* 148 */ NdrFcShort( 0xe2 ), /* Offset= 226 (374) */ -/* 150 */ NdrFcLong( 0xd ), /* 13 */ -/* 154 */ NdrFcShort( 0xe0 ), /* Offset= 224 (378) */ -/* 156 */ NdrFcLong( 0x9 ), /* 9 */ -/* 160 */ NdrFcShort( 0xec ), /* Offset= 236 (396) */ -/* 162 */ NdrFcLong( 0x2000 ), /* 8192 */ -/* 166 */ NdrFcShort( 0xf8 ), /* Offset= 248 (414) */ -/* 168 */ NdrFcLong( 0x24 ), /* 36 */ -/* 172 */ NdrFcShort( 0x3a2 ), /* Offset= 930 (1102) */ -/* 174 */ NdrFcLong( 0x4024 ), /* 16420 */ -/* 178 */ NdrFcShort( 0x39c ), /* Offset= 924 (1102) */ -/* 180 */ NdrFcLong( 0x4011 ), /* 16401 */ -/* 184 */ NdrFcShort( 0x39a ), /* Offset= 922 (1106) */ -/* 186 */ NdrFcLong( 0x4002 ), /* 16386 */ -/* 190 */ NdrFcShort( 0x398 ), /* Offset= 920 (1110) */ -/* 192 */ NdrFcLong( 0x4003 ), /* 16387 */ -/* 196 */ NdrFcShort( 0x396 ), /* Offset= 918 (1114) */ -/* 198 */ NdrFcLong( 0x4014 ), /* 16404 */ -/* 202 */ NdrFcShort( 0x394 ), /* Offset= 916 (1118) */ -/* 204 */ NdrFcLong( 0x4004 ), /* 16388 */ -/* 208 */ NdrFcShort( 0x392 ), /* Offset= 914 (1122) */ -/* 210 */ NdrFcLong( 0x4005 ), /* 16389 */ -/* 214 */ NdrFcShort( 0x390 ), /* Offset= 912 (1126) */ -/* 216 */ NdrFcLong( 0x400b ), /* 16395 */ -/* 220 */ NdrFcShort( 0x37a ), /* Offset= 890 (1110) */ -/* 222 */ NdrFcLong( 0x400a ), /* 16394 */ -/* 226 */ NdrFcShort( 0x378 ), /* Offset= 888 (1114) */ -/* 228 */ NdrFcLong( 0x4006 ), /* 16390 */ -/* 232 */ NdrFcShort( 0x382 ), /* Offset= 898 (1130) */ -/* 234 */ NdrFcLong( 0x4007 ), /* 16391 */ -/* 238 */ NdrFcShort( 0x378 ), /* Offset= 888 (1126) */ -/* 240 */ NdrFcLong( 0x4008 ), /* 16392 */ -/* 244 */ NdrFcShort( 0x37a ), /* Offset= 890 (1134) */ -/* 246 */ NdrFcLong( 0x400d ), /* 16397 */ -/* 250 */ NdrFcShort( 0x378 ), /* Offset= 888 (1138) */ -/* 252 */ NdrFcLong( 0x4009 ), /* 16393 */ -/* 256 */ NdrFcShort( 0x376 ), /* Offset= 886 (1142) */ -/* 258 */ NdrFcLong( 0x6000 ), /* 24576 */ -/* 262 */ NdrFcShort( 0x374 ), /* Offset= 884 (1146) */ -/* 264 */ NdrFcLong( 0x400c ), /* 16396 */ -/* 268 */ NdrFcShort( 0x372 ), /* Offset= 882 (1150) */ -/* 270 */ NdrFcLong( 0x10 ), /* 16 */ -/* 274 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */ -/* 276 */ NdrFcLong( 0x12 ), /* 18 */ -/* 280 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 282 */ NdrFcLong( 0x13 ), /* 19 */ -/* 286 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 288 */ NdrFcLong( 0x15 ), /* 21 */ -/* 292 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ -/* 294 */ NdrFcLong( 0x16 ), /* 22 */ -/* 298 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 300 */ NdrFcLong( 0x17 ), /* 23 */ -/* 304 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 306 */ NdrFcLong( 0xe ), /* 14 */ -/* 310 */ NdrFcShort( 0x350 ), /* Offset= 848 (1158) */ -/* 312 */ NdrFcLong( 0x400e ), /* 16398 */ -/* 316 */ NdrFcShort( 0x354 ), /* Offset= 852 (1168) */ -/* 318 */ NdrFcLong( 0x4010 ), /* 16400 */ -/* 322 */ NdrFcShort( 0x352 ), /* Offset= 850 (1172) */ -/* 324 */ NdrFcLong( 0x4012 ), /* 16402 */ -/* 328 */ NdrFcShort( 0x30e ), /* Offset= 782 (1110) */ -/* 330 */ NdrFcLong( 0x4013 ), /* 16403 */ -/* 334 */ NdrFcShort( 0x30c ), /* Offset= 780 (1114) */ -/* 336 */ NdrFcLong( 0x4015 ), /* 16405 */ -/* 340 */ NdrFcShort( 0x30a ), /* Offset= 778 (1118) */ -/* 342 */ NdrFcLong( 0x4016 ), /* 16406 */ -/* 346 */ NdrFcShort( 0x300 ), /* Offset= 768 (1114) */ -/* 348 */ NdrFcLong( 0x4017 ), /* 16407 */ -/* 352 */ NdrFcShort( 0x2fa ), /* Offset= 762 (1114) */ -/* 354 */ NdrFcLong( 0x0 ), /* 0 */ -/* 358 */ NdrFcShort( 0x0 ), /* Offset= 0 (358) */ -/* 360 */ NdrFcLong( 0x1 ), /* 1 */ -/* 364 */ NdrFcShort( 0x0 ), /* Offset= 0 (364) */ -/* 366 */ NdrFcShort( 0xffff ), /* Offset= -1 (365) */ -/* 368 */ - 0x15, /* FC_STRUCT */ - 0x7, /* 7 */ -/* 370 */ NdrFcShort( 0x8 ), /* 8 */ -/* 372 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 374 */ - 0x13, 0x0, /* FC_OP */ -/* 376 */ NdrFcShort( 0xfea8 ), /* Offset= -344 (32) */ -/* 378 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 380 */ NdrFcLong( 0x0 ), /* 0 */ -/* 384 */ NdrFcShort( 0x0 ), /* 0 */ -/* 386 */ NdrFcShort( 0x0 ), /* 0 */ -/* 388 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 390 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 392 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 394 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 396 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 398 */ NdrFcLong( 0x20400 ), /* 132096 */ -/* 402 */ NdrFcShort( 0x0 ), /* 0 */ -/* 404 */ NdrFcShort( 0x0 ), /* 0 */ -/* 406 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 408 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 410 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 412 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 414 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 416 */ NdrFcShort( 0x2 ), /* Offset= 2 (418) */ -/* 418 */ - 0x13, 0x0, /* FC_OP */ -/* 420 */ NdrFcShort( 0x298 ), /* Offset= 664 (1084) */ -/* 422 */ - 0x2a, /* FC_ENCAPSULATED_UNION */ - 0x49, /* 73 */ -/* 424 */ NdrFcShort( 0x18 ), /* 24 */ -/* 426 */ NdrFcShort( 0xa ), /* 10 */ -/* 428 */ NdrFcLong( 0x8 ), /* 8 */ -/* 432 */ NdrFcShort( 0x64 ), /* Offset= 100 (532) */ -/* 434 */ NdrFcLong( 0xd ), /* 13 */ -/* 438 */ NdrFcShort( 0x9c ), /* Offset= 156 (594) */ -/* 440 */ NdrFcLong( 0x9 ), /* 9 */ -/* 444 */ NdrFcShort( 0xd0 ), /* Offset= 208 (652) */ -/* 446 */ NdrFcLong( 0xc ), /* 12 */ -/* 450 */ NdrFcShort( 0x104 ), /* Offset= 260 (710) */ -/* 452 */ NdrFcLong( 0x24 ), /* 36 */ -/* 456 */ NdrFcShort( 0x174 ), /* Offset= 372 (828) */ -/* 458 */ NdrFcLong( 0x800d ), /* 32781 */ -/* 462 */ NdrFcShort( 0x190 ), /* Offset= 400 (862) */ -/* 464 */ NdrFcLong( 0x10 ), /* 16 */ -/* 468 */ NdrFcShort( 0x1b4 ), /* Offset= 436 (904) */ -/* 470 */ NdrFcLong( 0x2 ), /* 2 */ -/* 474 */ NdrFcShort( 0x1d8 ), /* Offset= 472 (946) */ -/* 476 */ NdrFcLong( 0x3 ), /* 3 */ -/* 480 */ NdrFcShort( 0x1fc ), /* Offset= 508 (988) */ -/* 482 */ NdrFcLong( 0x14 ), /* 20 */ -/* 486 */ NdrFcShort( 0x220 ), /* Offset= 544 (1030) */ -/* 488 */ NdrFcShort( 0xffff ), /* Offset= -1 (487) */ -/* 490 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 492 */ NdrFcShort( 0x4 ), /* 4 */ -/* 494 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 496 */ NdrFcShort( 0x0 ), /* 0 */ -/* 498 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 500 */ 0x0 , - 0x0, /* 0 */ -/* 502 */ NdrFcLong( 0x0 ), /* 0 */ -/* 506 */ NdrFcLong( 0x0 ), /* 0 */ -/* 510 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 512 */ - 0x48, /* FC_VARIABLE_REPEAT */ - 0x49, /* FC_FIXED_OFFSET */ -/* 514 */ NdrFcShort( 0x4 ), /* 4 */ -/* 516 */ NdrFcShort( 0x0 ), /* 0 */ -/* 518 */ NdrFcShort( 0x1 ), /* 1 */ -/* 520 */ NdrFcShort( 0x0 ), /* 0 */ -/* 522 */ NdrFcShort( 0x0 ), /* 0 */ -/* 524 */ 0x13, 0x0, /* FC_OP */ -/* 526 */ NdrFcShort( 0xfe12 ), /* Offset= -494 (32) */ -/* 528 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 530 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 532 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 534 */ NdrFcShort( 0x8 ), /* 8 */ -/* 536 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 538 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 540 */ NdrFcShort( 0x4 ), /* 4 */ -/* 542 */ NdrFcShort( 0x4 ), /* 4 */ -/* 544 */ 0x11, 0x0, /* FC_RP */ -/* 546 */ NdrFcShort( 0xffc8 ), /* Offset= -56 (490) */ -/* 548 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 550 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 552 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 554 */ NdrFcShort( 0x0 ), /* 0 */ -/* 556 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 558 */ NdrFcShort( 0x0 ), /* 0 */ -/* 560 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 562 */ 0x0 , - 0x0, /* 0 */ -/* 564 */ NdrFcLong( 0x0 ), /* 0 */ -/* 568 */ NdrFcLong( 0x0 ), /* 0 */ -/* 572 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 576 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 578 */ 0x0 , - 0x0, /* 0 */ -/* 580 */ NdrFcLong( 0x0 ), /* 0 */ -/* 584 */ NdrFcLong( 0x0 ), /* 0 */ -/* 588 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 590 */ NdrFcShort( 0xff2c ), /* Offset= -212 (378) */ -/* 592 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 594 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 596 */ NdrFcShort( 0x8 ), /* 8 */ -/* 598 */ NdrFcShort( 0x0 ), /* 0 */ -/* 600 */ NdrFcShort( 0x6 ), /* Offset= 6 (606) */ -/* 602 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 604 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 606 */ - 0x11, 0x0, /* FC_RP */ -/* 608 */ NdrFcShort( 0xffc8 ), /* Offset= -56 (552) */ -/* 610 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 612 */ NdrFcShort( 0x0 ), /* 0 */ -/* 614 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 616 */ NdrFcShort( 0x0 ), /* 0 */ -/* 618 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 620 */ 0x0 , - 0x0, /* 0 */ -/* 622 */ NdrFcLong( 0x0 ), /* 0 */ -/* 626 */ NdrFcLong( 0x0 ), /* 0 */ -/* 630 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 634 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 636 */ 0x0 , - 0x0, /* 0 */ -/* 638 */ NdrFcLong( 0x0 ), /* 0 */ -/* 642 */ NdrFcLong( 0x0 ), /* 0 */ -/* 646 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 648 */ NdrFcShort( 0xff04 ), /* Offset= -252 (396) */ -/* 650 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 652 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 654 */ NdrFcShort( 0x8 ), /* 8 */ -/* 656 */ NdrFcShort( 0x0 ), /* 0 */ -/* 658 */ NdrFcShort( 0x6 ), /* Offset= 6 (664) */ -/* 660 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 662 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 664 */ - 0x11, 0x0, /* FC_RP */ -/* 666 */ NdrFcShort( 0xffc8 ), /* Offset= -56 (610) */ -/* 668 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 670 */ NdrFcShort( 0x4 ), /* 4 */ -/* 672 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 674 */ NdrFcShort( 0x0 ), /* 0 */ -/* 676 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 678 */ 0x0 , - 0x0, /* 0 */ -/* 680 */ NdrFcLong( 0x0 ), /* 0 */ -/* 684 */ NdrFcLong( 0x0 ), /* 0 */ -/* 688 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 690 */ - 0x48, /* FC_VARIABLE_REPEAT */ - 0x49, /* FC_FIXED_OFFSET */ -/* 692 */ NdrFcShort( 0x4 ), /* 4 */ -/* 694 */ NdrFcShort( 0x0 ), /* 0 */ -/* 696 */ NdrFcShort( 0x1 ), /* 1 */ -/* 698 */ NdrFcShort( 0x0 ), /* 0 */ -/* 700 */ NdrFcShort( 0x0 ), /* 0 */ -/* 702 */ 0x13, 0x0, /* FC_OP */ -/* 704 */ NdrFcShort( 0x1d8 ), /* Offset= 472 (1176) */ -/* 706 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 708 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 710 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 712 */ NdrFcShort( 0x8 ), /* 8 */ -/* 714 */ NdrFcShort( 0x0 ), /* 0 */ -/* 716 */ NdrFcShort( 0x6 ), /* Offset= 6 (722) */ -/* 718 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 720 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 722 */ - 0x11, 0x0, /* FC_RP */ -/* 724 */ NdrFcShort( 0xffc8 ), /* Offset= -56 (668) */ -/* 726 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 728 */ NdrFcLong( 0x2f ), /* 47 */ -/* 732 */ NdrFcShort( 0x0 ), /* 0 */ -/* 734 */ NdrFcShort( 0x0 ), /* 0 */ -/* 736 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 738 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 740 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 742 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 744 */ - 0x1b, /* FC_CARRAY */ - 0x0, /* 0 */ -/* 746 */ NdrFcShort( 0x1 ), /* 1 */ -/* 748 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 750 */ NdrFcShort( 0x4 ), /* 4 */ -/* 752 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 754 */ 0x0 , - 0x0, /* 0 */ -/* 756 */ NdrFcLong( 0x0 ), /* 0 */ -/* 760 */ NdrFcLong( 0x0 ), /* 0 */ -/* 764 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 766 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 768 */ NdrFcShort( 0x10 ), /* 16 */ -/* 770 */ NdrFcShort( 0x0 ), /* 0 */ -/* 772 */ NdrFcShort( 0xa ), /* Offset= 10 (782) */ -/* 774 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 776 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 778 */ NdrFcShort( 0xffcc ), /* Offset= -52 (726) */ -/* 780 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 782 */ - 0x13, 0x20, /* FC_OP [maybenull_sizeis] */ -/* 784 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (744) */ -/* 786 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 788 */ NdrFcShort( 0x4 ), /* 4 */ -/* 790 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 792 */ NdrFcShort( 0x0 ), /* 0 */ -/* 794 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 796 */ 0x0 , - 0x0, /* 0 */ -/* 798 */ NdrFcLong( 0x0 ), /* 0 */ -/* 802 */ NdrFcLong( 0x0 ), /* 0 */ -/* 806 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 808 */ - 0x48, /* FC_VARIABLE_REPEAT */ - 0x49, /* FC_FIXED_OFFSET */ -/* 810 */ NdrFcShort( 0x4 ), /* 4 */ -/* 812 */ NdrFcShort( 0x0 ), /* 0 */ -/* 814 */ NdrFcShort( 0x1 ), /* 1 */ -/* 816 */ NdrFcShort( 0x0 ), /* 0 */ -/* 818 */ NdrFcShort( 0x0 ), /* 0 */ -/* 820 */ 0x13, 0x0, /* FC_OP */ -/* 822 */ NdrFcShort( 0xffc8 ), /* Offset= -56 (766) */ -/* 824 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 826 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 828 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 830 */ NdrFcShort( 0x8 ), /* 8 */ -/* 832 */ NdrFcShort( 0x0 ), /* 0 */ -/* 834 */ NdrFcShort( 0x6 ), /* Offset= 6 (840) */ -/* 836 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 838 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 840 */ - 0x11, 0x0, /* FC_RP */ -/* 842 */ NdrFcShort( 0xffc8 ), /* Offset= -56 (786) */ -/* 844 */ - 0x1d, /* FC_SMFARRAY */ - 0x0, /* 0 */ -/* 846 */ NdrFcShort( 0x8 ), /* 8 */ -/* 848 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 850 */ - 0x15, /* FC_STRUCT */ - 0x3, /* 3 */ -/* 852 */ NdrFcShort( 0x10 ), /* 16 */ -/* 854 */ 0x8, /* FC_LONG */ - 0x6, /* FC_SHORT */ -/* 856 */ 0x6, /* FC_SHORT */ - 0x4c, /* FC_EMBEDDED_COMPLEX */ -/* 858 */ 0x0, /* 0 */ - NdrFcShort( 0xfff1 ), /* Offset= -15 (844) */ - 0x5b, /* FC_END */ -/* 862 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 864 */ NdrFcShort( 0x18 ), /* 24 */ -/* 866 */ NdrFcShort( 0x0 ), /* 0 */ -/* 868 */ NdrFcShort( 0xa ), /* Offset= 10 (878) */ -/* 870 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 872 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 874 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (850) */ -/* 876 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 878 */ - 0x11, 0x0, /* FC_RP */ -/* 880 */ NdrFcShort( 0xfeb8 ), /* Offset= -328 (552) */ -/* 882 */ - 0x1b, /* FC_CARRAY */ - 0x0, /* 0 */ -/* 884 */ NdrFcShort( 0x1 ), /* 1 */ -/* 886 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 888 */ NdrFcShort( 0x0 ), /* 0 */ -/* 890 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 892 */ 0x0 , - 0x0, /* 0 */ -/* 894 */ NdrFcLong( 0x0 ), /* 0 */ -/* 898 */ NdrFcLong( 0x0 ), /* 0 */ -/* 902 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 904 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 906 */ NdrFcShort( 0x8 ), /* 8 */ -/* 908 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 910 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 912 */ NdrFcShort( 0x4 ), /* 4 */ -/* 914 */ NdrFcShort( 0x4 ), /* 4 */ -/* 916 */ 0x13, 0x20, /* FC_OP [maybenull_sizeis] */ -/* 918 */ NdrFcShort( 0xffdc ), /* Offset= -36 (882) */ -/* 920 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 922 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 924 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 926 */ NdrFcShort( 0x2 ), /* 2 */ -/* 928 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 930 */ NdrFcShort( 0x0 ), /* 0 */ -/* 932 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 934 */ 0x0 , - 0x0, /* 0 */ -/* 936 */ NdrFcLong( 0x0 ), /* 0 */ -/* 940 */ NdrFcLong( 0x0 ), /* 0 */ -/* 944 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 946 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 948 */ NdrFcShort( 0x8 ), /* 8 */ -/* 950 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 952 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 954 */ NdrFcShort( 0x4 ), /* 4 */ -/* 956 */ NdrFcShort( 0x4 ), /* 4 */ -/* 958 */ 0x13, 0x20, /* FC_OP [maybenull_sizeis] */ -/* 960 */ NdrFcShort( 0xffdc ), /* Offset= -36 (924) */ -/* 962 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 964 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 966 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 968 */ NdrFcShort( 0x4 ), /* 4 */ -/* 970 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 972 */ NdrFcShort( 0x0 ), /* 0 */ -/* 974 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 976 */ 0x0 , - 0x0, /* 0 */ -/* 978 */ NdrFcLong( 0x0 ), /* 0 */ -/* 982 */ NdrFcLong( 0x0 ), /* 0 */ -/* 986 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 988 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 990 */ NdrFcShort( 0x8 ), /* 8 */ -/* 992 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 994 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 996 */ NdrFcShort( 0x4 ), /* 4 */ -/* 998 */ NdrFcShort( 0x4 ), /* 4 */ -/* 1000 */ 0x13, 0x20, /* FC_OP [maybenull_sizeis] */ -/* 1002 */ NdrFcShort( 0xffdc ), /* Offset= -36 (966) */ -/* 1004 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 1006 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 1008 */ - 0x1b, /* FC_CARRAY */ - 0x7, /* 7 */ -/* 1010 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1012 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 1014 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1016 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 1018 */ 0x0 , - 0x0, /* 0 */ -/* 1020 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1024 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1028 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 1030 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 1032 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1034 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 1036 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 1038 */ NdrFcShort( 0x4 ), /* 4 */ -/* 1040 */ NdrFcShort( 0x4 ), /* 4 */ -/* 1042 */ 0x13, 0x20, /* FC_OP [maybenull_sizeis] */ -/* 1044 */ NdrFcShort( 0xffdc ), /* Offset= -36 (1008) */ -/* 1046 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 1048 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 1050 */ - 0x15, /* FC_STRUCT */ - 0x3, /* 3 */ -/* 1052 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1054 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 1056 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 1058 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 1060 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1062 */ 0x7, /* Corr desc: FC_USHORT */ - 0x0, /* */ -/* 1064 */ NdrFcShort( 0xffd8 ), /* -40 */ -/* 1066 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 1068 */ 0x0 , - 0x0, /* 0 */ -/* 1070 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1074 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1078 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 1080 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (1050) */ -/* 1082 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 1084 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 1086 */ NdrFcShort( 0x28 ), /* 40 */ -/* 1088 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (1058) */ -/* 1090 */ NdrFcShort( 0x0 ), /* Offset= 0 (1090) */ -/* 1092 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 1094 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 1096 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 1098 */ NdrFcShort( 0xfd5c ), /* Offset= -676 (422) */ -/* 1100 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 1102 */ - 0x13, 0x0, /* FC_OP */ -/* 1104 */ NdrFcShort( 0xfeae ), /* Offset= -338 (766) */ -/* 1106 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 1108 */ 0x1, /* FC_BYTE */ - 0x5c, /* FC_PAD */ -/* 1110 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 1112 */ 0x6, /* FC_SHORT */ - 0x5c, /* FC_PAD */ -/* 1114 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 1116 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 1118 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 1120 */ 0xb, /* FC_HYPER */ - 0x5c, /* FC_PAD */ -/* 1122 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 1124 */ 0xa, /* FC_FLOAT */ - 0x5c, /* FC_PAD */ -/* 1126 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 1128 */ 0xc, /* FC_DOUBLE */ - 0x5c, /* FC_PAD */ -/* 1130 */ - 0x13, 0x0, /* FC_OP */ -/* 1132 */ NdrFcShort( 0xfd04 ), /* Offset= -764 (368) */ -/* 1134 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 1136 */ NdrFcShort( 0xfd06 ), /* Offset= -762 (374) */ -/* 1138 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 1140 */ NdrFcShort( 0xfd06 ), /* Offset= -762 (378) */ -/* 1142 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 1144 */ NdrFcShort( 0xfd14 ), /* Offset= -748 (396) */ -/* 1146 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 1148 */ NdrFcShort( 0xfd22 ), /* Offset= -734 (414) */ -/* 1150 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 1152 */ NdrFcShort( 0x2 ), /* Offset= 2 (1154) */ -/* 1154 */ - 0x13, 0x0, /* FC_OP */ -/* 1156 */ NdrFcShort( 0x14 ), /* Offset= 20 (1176) */ -/* 1158 */ - 0x15, /* FC_STRUCT */ - 0x7, /* 7 */ -/* 1160 */ NdrFcShort( 0x10 ), /* 16 */ -/* 1162 */ 0x6, /* FC_SHORT */ - 0x1, /* FC_BYTE */ -/* 1164 */ 0x1, /* FC_BYTE */ - 0x8, /* FC_LONG */ -/* 1166 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 1168 */ - 0x13, 0x0, /* FC_OP */ -/* 1170 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (1158) */ -/* 1172 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 1174 */ 0x2, /* FC_CHAR */ - 0x5c, /* FC_PAD */ -/* 1176 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x7, /* 7 */ -/* 1178 */ NdrFcShort( 0x20 ), /* 32 */ -/* 1180 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1182 */ NdrFcShort( 0x0 ), /* Offset= 0 (1182) */ -/* 1184 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 1186 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 1188 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 1190 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 1192 */ NdrFcShort( 0xfb94 ), /* Offset= -1132 (60) */ -/* 1194 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 1196 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 1198 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1200 */ NdrFcShort( 0x10 ), /* 16 */ -/* 1202 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1204 */ NdrFcShort( 0xfb84 ), /* Offset= -1148 (56) */ -/* 1206 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 1208 */ NdrFcShort( 0x2 ), /* Offset= 2 (1210) */ -/* 1210 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 1212 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1214 */ NdrFcShort( 0x4 ), /* 4 */ -/* 1216 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1218 */ NdrFcShort( 0xfcb4 ), /* Offset= -844 (374) */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - }, - { - VARIANT_UserSize - ,VARIANT_UserMarshal - ,VARIANT_UserUnmarshal - ,VARIANT_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IDispatch, ver. 0.0, - GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IWeChatRobot, ver. 0.0, - GUID={0xa836e359,0x59b2,0x4e01,{0x9b,0x0c,0x0e,0x5a,0x5a,0x2e,0xfa,0x22}} */ - -#pragma code_seg(".orpc") -static const unsigned short IWeChatRobot_FormatStringOffsetTable[] = - { - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - 0, - 36, - 72, - 120, - 168, - 216, - 276, - 330, - 366, - 402, - 444, - 480, - 516, - 558, - 594, - 630, - 666, - 702 - }; - -static const MIDL_STUBLESS_PROXY_INFO IWeChatRobot_ProxyInfo = - { - &Object_StubDesc, - WeChatRobotCOM__MIDL_ProcFormatString.Format, - &IWeChatRobot_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IWeChatRobot_ServerInfo = - { - &Object_StubDesc, - 0, - WeChatRobotCOM__MIDL_ProcFormatString.Format, - &IWeChatRobot_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(25) _IWeChatRobotProxyVtbl = -{ - &IWeChatRobot_ProxyInfo, - &IID_IWeChatRobot, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - 0 /* IDispatch::GetTypeInfoCount */ , - 0 /* IDispatch::GetTypeInfo */ , - 0 /* IDispatch::GetIDsOfNames */ , - 0 /* IDispatch_Invoke_Proxy */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CStartRobotService */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CStopRobotService */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CSendText */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CSendImage */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CSendFile */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CSendArticle */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CSendCard */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CGetFriendList */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CGetFriendListString */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CGetWxUserInfo */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CGetSelfInfo */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CCheckFriendStatusInit */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CCheckFriendStatus */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CCheckFriendStatusFinish */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CGetComWorkPath */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CStartReceiveMessage */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CReceiveMessage */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CStopReceiveMessage */ -}; - - -static const PRPC_STUB_FUNCTION IWeChatRobot_table[] = -{ - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2 -}; - -CInterfaceStubVtbl _IWeChatRobotStubVtbl = -{ - &IID_IWeChatRobot, - &IWeChatRobot_ServerInfo, - 25, - &IWeChatRobot_table[-3], - CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - WeChatRobotCOM__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x60001, /* Ndr library version */ - 0, - 0x801026e, /* MIDL Version 8.1.622 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _WeChatRobotCOM_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IWeChatRobotProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _WeChatRobotCOM_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IWeChatRobotStubVtbl, - 0 -}; - -PCInterfaceName const _WeChatRobotCOM_InterfaceNamesList[] = -{ - "IWeChatRobot", - 0 -}; - -const IID * const _WeChatRobotCOM_BaseIIDList[] = -{ - &IID_IDispatch, - 0 -}; - - -#define _WeChatRobotCOM_CHECK_IID(n) IID_GENERIC_CHECK_IID( _WeChatRobotCOM, pIID, n) - -int __stdcall _WeChatRobotCOM_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_WeChatRobotCOM_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo WeChatRobotCOM_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _WeChatRobotCOM_ProxyVtblList, - (PCInterfaceStubVtblList *) & _WeChatRobotCOM_StubVtblList, - (const PCInterfaceName * ) & _WeChatRobotCOM_InterfaceNamesList, - (const IID ** ) & _WeChatRobotCOM_BaseIIDList, - & _WeChatRobotCOM_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_) */ - + + +/* this ALWAYS GENERATED file contains the proxy stub code */ + + + /* File created by MIDL compiler version 8.01.0622 */ +/* at Tue Jan 19 11:14:07 2038 + */ +/* Compiler settings for WeChatRobotCOM.idl: + Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.01.0622 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#if !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_) + + +#if _MSC_VER >= 1200 +#pragma warning(push) +#endif + +#pragma warning( disable: 4211 ) /* redefine extern to static */ +#pragma warning( disable: 4232 ) /* dllimport identity*/ +#pragma warning( disable: 4024 ) /* array to pointer mapping*/ +#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ +#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ + +#pragma optimize("", off ) + +#define USE_STUBLESS_PROXY + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REDQ_RPCPROXY_H_VERSION__ +#define __REQUIRED_RPCPROXY_H_VERSION__ 475 +#endif + + +#include "rpcproxy.h" +#ifndef __RPCPROXY_H_VERSION__ +#error this stub requires an updated version of +#endif /* __RPCPROXY_H_VERSION__ */ + + +#include "WeChatRobotCOM_i.h" + +#define TYPE_FORMAT_STRING_SIZE 1221 +#define PROC_FORMAT_STRING_SIZE 793 +#define EXPR_FORMAT_STRING_SIZE 1 +#define TRANSMIT_AS_TABLE_SIZE 0 +#define WIRE_MARSHAL_TABLE_SIZE 2 + +typedef struct _WeChatRobotCOM_MIDL_TYPE_FORMAT_STRING + { + short Pad; + unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; + } WeChatRobotCOM_MIDL_TYPE_FORMAT_STRING; + +typedef struct _WeChatRobotCOM_MIDL_PROC_FORMAT_STRING + { + short Pad; + unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; + } WeChatRobotCOM_MIDL_PROC_FORMAT_STRING; + +typedef struct _WeChatRobotCOM_MIDL_EXPR_FORMAT_STRING + { + long Pad; + unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; + } WeChatRobotCOM_MIDL_EXPR_FORMAT_STRING; + + +static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = +{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; + + +extern const WeChatRobotCOM_MIDL_TYPE_FORMAT_STRING WeChatRobotCOM__MIDL_TypeFormatString; +extern const WeChatRobotCOM_MIDL_PROC_FORMAT_STRING WeChatRobotCOM__MIDL_ProcFormatString; +extern const WeChatRobotCOM_MIDL_EXPR_FORMAT_STRING WeChatRobotCOM__MIDL_ExprFormatString; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IWeChatRobot_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IWeChatRobot_ProxyInfo; + + +extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; + +#if !defined(__RPC_WIN32__) +#error Invalid build platform for this stub. +#endif +#if !(TARGET_IS_NT60_OR_LATER) +#error You need Windows Vista or later to run this stub because it uses these features: +#error forced complex structure or array, new range semantics, compiled for Windows Vista. +#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. +#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. +#endif + + +static const WeChatRobotCOM_MIDL_PROC_FORMAT_STRING WeChatRobotCOM__MIDL_ProcFormatString = + { + 0, + { + + /* Procedure CStartRobotService */ + + 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2 */ NdrFcLong( 0x0 ), /* 0 */ +/* 6 */ NdrFcShort( 0x7 ), /* 7 */ +/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 10 */ NdrFcShort( 0x0 ), /* 0 */ +/* 12 */ NdrFcShort( 0x24 ), /* 36 */ +/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 16 */ 0x8, /* 8 */ + 0x41, /* Ext Flags: new corr desc, has range on conformance */ +/* 18 */ NdrFcShort( 0x0 ), /* 0 */ +/* 20 */ NdrFcShort( 0x0 ), /* 0 */ +/* 22 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter __result */ + +/* 24 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 28 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 34 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CStopRobotService */ + +/* 36 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 38 */ NdrFcLong( 0x0 ), /* 0 */ +/* 42 */ NdrFcShort( 0x8 ), /* 8 */ +/* 44 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 46 */ NdrFcShort( 0x0 ), /* 0 */ +/* 48 */ NdrFcShort( 0x24 ), /* 36 */ +/* 50 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 52 */ 0x8, /* 8 */ + 0x41, /* Ext Flags: new corr desc, has range on conformance */ +/* 54 */ NdrFcShort( 0x0 ), /* 0 */ +/* 56 */ NdrFcShort( 0x0 ), /* 0 */ +/* 58 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter __result */ + +/* 60 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 64 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 66 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 70 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CSendText */ + +/* 72 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 74 */ NdrFcLong( 0x0 ), /* 0 */ +/* 78 */ NdrFcShort( 0x9 ), /* 9 */ +/* 80 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 82 */ NdrFcShort( 0x0 ), /* 0 */ +/* 84 */ NdrFcShort( 0x24 ), /* 36 */ +/* 86 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x4, /* 4 */ +/* 88 */ 0x8, /* 8 */ + 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ +/* 90 */ NdrFcShort( 0x0 ), /* 0 */ +/* 92 */ NdrFcShort( 0x1 ), /* 1 */ +/* 94 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter wxid */ + +/* 96 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 98 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 100 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter wxmsg */ + +/* 102 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 104 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 106 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter __result */ + +/* 108 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 110 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 112 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 116 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 118 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CSendImage */ + +/* 120 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 122 */ NdrFcLong( 0x0 ), /* 0 */ +/* 126 */ NdrFcShort( 0xa ), /* 10 */ +/* 128 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 130 */ NdrFcShort( 0x0 ), /* 0 */ +/* 132 */ NdrFcShort( 0x24 ), /* 36 */ +/* 134 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x4, /* 4 */ +/* 136 */ 0x8, /* 8 */ + 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ +/* 138 */ NdrFcShort( 0x0 ), /* 0 */ +/* 140 */ NdrFcShort( 0x1 ), /* 1 */ +/* 142 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter wxid */ + +/* 144 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 146 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 148 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter imagepath */ + +/* 150 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 152 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 154 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter __result */ + +/* 156 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 158 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 160 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 162 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 164 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 166 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CSendFile */ + +/* 168 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 170 */ NdrFcLong( 0x0 ), /* 0 */ +/* 174 */ NdrFcShort( 0xb ), /* 11 */ +/* 176 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 178 */ NdrFcShort( 0x0 ), /* 0 */ +/* 180 */ NdrFcShort( 0x24 ), /* 36 */ +/* 182 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x4, /* 4 */ +/* 184 */ 0x8, /* 8 */ + 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ +/* 186 */ NdrFcShort( 0x0 ), /* 0 */ +/* 188 */ NdrFcShort( 0x1 ), /* 1 */ +/* 190 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter wxid */ + +/* 192 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 194 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 196 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter filepath */ + +/* 198 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 200 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 202 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter __result */ + +/* 204 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 206 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 208 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 210 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 212 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 214 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CSendArticle */ + +/* 216 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 218 */ NdrFcLong( 0x0 ), /* 0 */ +/* 222 */ NdrFcShort( 0xc ), /* 12 */ +/* 224 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ +/* 226 */ NdrFcShort( 0x0 ), /* 0 */ +/* 228 */ NdrFcShort( 0x24 ), /* 36 */ +/* 230 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x6, /* 6 */ +/* 232 */ 0x8, /* 8 */ + 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ +/* 234 */ NdrFcShort( 0x0 ), /* 0 */ +/* 236 */ NdrFcShort( 0x1 ), /* 1 */ +/* 238 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter wxid */ + +/* 240 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 242 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 244 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter title */ + +/* 246 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 248 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 250 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter abstract */ + +/* 252 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 254 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 256 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter url */ + +/* 258 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 260 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 262 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter __result */ + +/* 264 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 266 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 268 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 270 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 272 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 274 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CSendCard */ + +/* 276 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 278 */ NdrFcLong( 0x0 ), /* 0 */ +/* 282 */ NdrFcShort( 0xd ), /* 13 */ +/* 284 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 286 */ NdrFcShort( 0x0 ), /* 0 */ +/* 288 */ NdrFcShort( 0x24 ), /* 36 */ +/* 290 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x5, /* 5 */ +/* 292 */ 0x8, /* 8 */ + 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ +/* 294 */ NdrFcShort( 0x0 ), /* 0 */ +/* 296 */ NdrFcShort( 0x1 ), /* 1 */ +/* 298 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter receiver */ + +/* 300 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 302 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 304 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter sharedwxid */ + +/* 306 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 308 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 310 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter nickname */ + +/* 312 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 314 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 316 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter __result */ + +/* 318 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 320 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 322 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 324 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 326 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 328 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CGetFriendList */ + +/* 330 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 332 */ NdrFcLong( 0x0 ), /* 0 */ +/* 336 */ NdrFcShort( 0xe ), /* 14 */ +/* 338 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 340 */ NdrFcShort( 0x0 ), /* 0 */ +/* 342 */ NdrFcShort( 0x8 ), /* 8 */ +/* 344 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 346 */ 0x8, /* 8 */ + 0x43, /* Ext Flags: new corr desc, clt corr check, has range on conformance */ +/* 348 */ NdrFcShort( 0x1 ), /* 1 */ +/* 350 */ NdrFcShort( 0x0 ), /* 0 */ +/* 352 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter __result */ + +/* 354 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 356 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 358 */ NdrFcShort( 0x4ac ), /* Type Offset=1196 */ + + /* Return value */ + +/* 360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 362 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 364 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CGetFriendListString */ + +/* 366 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 368 */ NdrFcLong( 0x0 ), /* 0 */ +/* 372 */ NdrFcShort( 0xf ), /* 15 */ +/* 374 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 376 */ NdrFcShort( 0x0 ), /* 0 */ +/* 378 */ NdrFcShort( 0x8 ), /* 8 */ +/* 380 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 382 */ 0x8, /* 8 */ + 0x43, /* Ext Flags: new corr desc, clt corr check, has range on conformance */ +/* 384 */ NdrFcShort( 0x1 ), /* 1 */ +/* 386 */ NdrFcShort( 0x0 ), /* 0 */ +/* 388 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter __result */ + +/* 390 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 392 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 394 */ NdrFcShort( 0x4ba ), /* Type Offset=1210 */ + + /* Return value */ + +/* 396 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 398 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 400 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CGetWxUserInfo */ + +/* 402 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 404 */ NdrFcLong( 0x0 ), /* 0 */ +/* 408 */ NdrFcShort( 0x10 ), /* 16 */ +/* 410 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 412 */ NdrFcShort( 0x0 ), /* 0 */ +/* 414 */ NdrFcShort( 0x8 ), /* 8 */ +/* 416 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ + 0x3, /* 3 */ +/* 418 */ 0x8, /* 8 */ + 0x47, /* Ext Flags: new corr desc, clt corr check, srv corr check, has range on conformance */ +/* 420 */ NdrFcShort( 0x1 ), /* 1 */ +/* 422 */ NdrFcShort( 0x1 ), /* 1 */ +/* 424 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter wxid */ + +/* 426 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 428 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 430 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter __result */ + +/* 432 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 434 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 436 */ NdrFcShort( 0x4ba ), /* Type Offset=1210 */ + + /* Return value */ + +/* 438 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 440 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 442 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CGetSelfInfo */ + +/* 444 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 446 */ NdrFcLong( 0x0 ), /* 0 */ +/* 450 */ NdrFcShort( 0x11 ), /* 17 */ +/* 452 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 454 */ NdrFcShort( 0x0 ), /* 0 */ +/* 456 */ NdrFcShort( 0x8 ), /* 8 */ +/* 458 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 460 */ 0x8, /* 8 */ + 0x43, /* Ext Flags: new corr desc, clt corr check, has range on conformance */ +/* 462 */ NdrFcShort( 0x1 ), /* 1 */ +/* 464 */ NdrFcShort( 0x0 ), /* 0 */ +/* 466 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter __result */ + +/* 468 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 470 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 472 */ NdrFcShort( 0x4ba ), /* Type Offset=1210 */ + + /* Return value */ + +/* 474 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 476 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 478 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CCheckFriendStatusInit */ + +/* 480 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 482 */ NdrFcLong( 0x0 ), /* 0 */ +/* 486 */ NdrFcShort( 0x12 ), /* 18 */ +/* 488 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 490 */ NdrFcShort( 0x0 ), /* 0 */ +/* 492 */ NdrFcShort( 0x24 ), /* 36 */ +/* 494 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 496 */ 0x8, /* 8 */ + 0x41, /* Ext Flags: new corr desc, has range on conformance */ +/* 498 */ NdrFcShort( 0x0 ), /* 0 */ +/* 500 */ NdrFcShort( 0x0 ), /* 0 */ +/* 502 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter __result */ + +/* 504 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 506 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 508 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 510 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 512 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 514 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CCheckFriendStatus */ + +/* 516 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 518 */ NdrFcLong( 0x0 ), /* 0 */ +/* 522 */ NdrFcShort( 0x13 ), /* 19 */ +/* 524 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 526 */ NdrFcShort( 0x0 ), /* 0 */ +/* 528 */ NdrFcShort( 0x24 ), /* 36 */ +/* 530 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x3, /* 3 */ +/* 532 */ 0x8, /* 8 */ + 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ +/* 534 */ NdrFcShort( 0x0 ), /* 0 */ +/* 536 */ NdrFcShort( 0x1 ), /* 1 */ +/* 538 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter wxid */ + +/* 540 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 542 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 544 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter __result */ + +/* 546 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 548 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 550 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 552 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 554 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 556 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CCheckFriendStatusFinish */ + +/* 558 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 560 */ NdrFcLong( 0x0 ), /* 0 */ +/* 564 */ NdrFcShort( 0x14 ), /* 20 */ +/* 566 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 568 */ NdrFcShort( 0x0 ), /* 0 */ +/* 570 */ NdrFcShort( 0x24 ), /* 36 */ +/* 572 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 574 */ 0x8, /* 8 */ + 0x41, /* Ext Flags: new corr desc, has range on conformance */ +/* 576 */ NdrFcShort( 0x0 ), /* 0 */ +/* 578 */ NdrFcShort( 0x0 ), /* 0 */ +/* 580 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter __result */ + +/* 582 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 584 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 586 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 588 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 590 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 592 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CGetComWorkPath */ + +/* 594 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 596 */ NdrFcLong( 0x0 ), /* 0 */ +/* 600 */ NdrFcShort( 0x15 ), /* 21 */ +/* 602 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 604 */ NdrFcShort( 0x0 ), /* 0 */ +/* 606 */ NdrFcShort( 0x8 ), /* 8 */ +/* 608 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 610 */ 0x8, /* 8 */ + 0x43, /* Ext Flags: new corr desc, clt corr check, has range on conformance */ +/* 612 */ NdrFcShort( 0x1 ), /* 1 */ +/* 614 */ NdrFcShort( 0x0 ), /* 0 */ +/* 616 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter __result */ + +/* 618 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 620 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 622 */ NdrFcShort( 0x4ba ), /* Type Offset=1210 */ + + /* Return value */ + +/* 624 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 626 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 628 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CStartReceiveMessage */ + +/* 630 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 632 */ NdrFcLong( 0x0 ), /* 0 */ +/* 636 */ NdrFcShort( 0x16 ), /* 22 */ +/* 638 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 640 */ NdrFcShort( 0x0 ), /* 0 */ +/* 642 */ NdrFcShort( 0x24 ), /* 36 */ +/* 644 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 646 */ 0x8, /* 8 */ + 0x41, /* Ext Flags: new corr desc, has range on conformance */ +/* 648 */ NdrFcShort( 0x0 ), /* 0 */ +/* 650 */ NdrFcShort( 0x0 ), /* 0 */ +/* 652 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter __result */ + +/* 654 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 656 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 658 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 660 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 662 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 664 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CReceiveMessage */ + +/* 666 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 668 */ NdrFcLong( 0x0 ), /* 0 */ +/* 672 */ NdrFcShort( 0x17 ), /* 23 */ +/* 674 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 676 */ NdrFcShort( 0x0 ), /* 0 */ +/* 678 */ NdrFcShort( 0x8 ), /* 8 */ +/* 680 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 682 */ 0x8, /* 8 */ + 0x43, /* Ext Flags: new corr desc, clt corr check, has range on conformance */ +/* 684 */ NdrFcShort( 0x1 ), /* 1 */ +/* 686 */ NdrFcShort( 0x0 ), /* 0 */ +/* 688 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter __result */ + +/* 690 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 692 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 694 */ NdrFcShort( 0x4ac ), /* Type Offset=1196 */ + + /* Return value */ + +/* 696 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 698 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 700 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CStopReceiveMessage */ + +/* 702 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 704 */ NdrFcLong( 0x0 ), /* 0 */ +/* 708 */ NdrFcShort( 0x18 ), /* 24 */ +/* 710 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 712 */ NdrFcShort( 0x0 ), /* 0 */ +/* 714 */ NdrFcShort( 0x24 ), /* 36 */ +/* 716 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 718 */ 0x8, /* 8 */ + 0x41, /* Ext Flags: new corr desc, has range on conformance */ +/* 720 */ NdrFcShort( 0x0 ), /* 0 */ +/* 722 */ NdrFcShort( 0x0 ), /* 0 */ +/* 724 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter __result */ + +/* 726 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 728 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 730 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 732 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 734 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 736 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure CSendAtText */ + +/* 738 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 740 */ NdrFcLong( 0x0 ), /* 0 */ +/* 744 */ NdrFcShort( 0x19 ), /* 25 */ +/* 746 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 748 */ NdrFcShort( 0x0 ), /* 0 */ +/* 750 */ NdrFcShort( 0x24 ), /* 36 */ +/* 752 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x5, /* 5 */ +/* 754 */ 0x8, /* 8 */ + 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ +/* 756 */ NdrFcShort( 0x0 ), /* 0 */ +/* 758 */ NdrFcShort( 0x1 ), /* 1 */ +/* 760 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter chatroomid */ + +/* 762 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 764 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 766 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter wxid */ + +/* 768 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 770 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 772 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter wxmsg */ + +/* 774 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 776 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 778 */ NdrFcShort( 0x2a ), /* Type Offset=42 */ + + /* Parameter __result */ + +/* 780 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 782 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 784 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 786 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 788 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 790 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + 0x0 + } + }; + +static const WeChatRobotCOM_MIDL_TYPE_FORMAT_STRING WeChatRobotCOM__MIDL_TypeFormatString = + { + 0, + { + NdrFcShort( 0x0 ), /* 0 */ +/* 2 */ + 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ +/* 4 */ 0x8, /* FC_LONG */ + 0x5c, /* FC_PAD */ +/* 6 */ + 0x12, 0x0, /* FC_UP */ +/* 8 */ NdrFcShort( 0x18 ), /* Offset= 24 (32) */ +/* 10 */ + 0x1b, /* FC_CARRAY */ + 0x1, /* 1 */ +/* 12 */ NdrFcShort( 0x2 ), /* 2 */ +/* 14 */ 0x9, /* Corr desc: FC_ULONG */ + 0x0, /* */ +/* 16 */ NdrFcShort( 0xfffc ), /* -4 */ +/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 20 */ 0x0 , + 0x0, /* 0 */ +/* 22 */ NdrFcLong( 0x0 ), /* 0 */ +/* 26 */ NdrFcLong( 0x0 ), /* 0 */ +/* 30 */ 0x6, /* FC_SHORT */ + 0x5b, /* FC_END */ +/* 32 */ + 0x17, /* FC_CSTRUCT */ + 0x3, /* 3 */ +/* 34 */ NdrFcShort( 0x8 ), /* 8 */ +/* 36 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (10) */ +/* 38 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 40 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 42 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 44 */ NdrFcShort( 0x0 ), /* 0 */ +/* 46 */ NdrFcShort( 0x4 ), /* 4 */ +/* 48 */ NdrFcShort( 0x0 ), /* 0 */ +/* 50 */ NdrFcShort( 0xffd4 ), /* Offset= -44 (6) */ +/* 52 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 54 */ NdrFcShort( 0x476 ), /* Offset= 1142 (1196) */ +/* 56 */ + 0x13, 0x0, /* FC_OP */ +/* 58 */ NdrFcShort( 0x45e ), /* Offset= 1118 (1176) */ +/* 60 */ + 0x2b, /* FC_NON_ENCAPSULATED_UNION */ + 0x9, /* FC_ULONG */ +/* 62 */ 0x7, /* Corr desc: FC_USHORT */ + 0x0, /* */ +/* 64 */ NdrFcShort( 0xfff8 ), /* -8 */ +/* 66 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 68 */ 0x0 , + 0x0, /* 0 */ +/* 70 */ NdrFcLong( 0x0 ), /* 0 */ +/* 74 */ NdrFcLong( 0x0 ), /* 0 */ +/* 78 */ NdrFcShort( 0x2 ), /* Offset= 2 (80) */ +/* 80 */ NdrFcShort( 0x10 ), /* 16 */ +/* 82 */ NdrFcShort( 0x2f ), /* 47 */ +/* 84 */ NdrFcLong( 0x14 ), /* 20 */ +/* 88 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ +/* 90 */ NdrFcLong( 0x3 ), /* 3 */ +/* 94 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 96 */ NdrFcLong( 0x11 ), /* 17 */ +/* 100 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */ +/* 102 */ NdrFcLong( 0x2 ), /* 2 */ +/* 106 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ +/* 108 */ NdrFcLong( 0x4 ), /* 4 */ +/* 112 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */ +/* 114 */ NdrFcLong( 0x5 ), /* 5 */ +/* 118 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ +/* 120 */ NdrFcLong( 0xb ), /* 11 */ +/* 124 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ +/* 126 */ NdrFcLong( 0xa ), /* 10 */ +/* 130 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 132 */ NdrFcLong( 0x6 ), /* 6 */ +/* 136 */ NdrFcShort( 0xe8 ), /* Offset= 232 (368) */ +/* 138 */ NdrFcLong( 0x7 ), /* 7 */ +/* 142 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ +/* 144 */ NdrFcLong( 0x8 ), /* 8 */ +/* 148 */ NdrFcShort( 0xe2 ), /* Offset= 226 (374) */ +/* 150 */ NdrFcLong( 0xd ), /* 13 */ +/* 154 */ NdrFcShort( 0xe0 ), /* Offset= 224 (378) */ +/* 156 */ NdrFcLong( 0x9 ), /* 9 */ +/* 160 */ NdrFcShort( 0xec ), /* Offset= 236 (396) */ +/* 162 */ NdrFcLong( 0x2000 ), /* 8192 */ +/* 166 */ NdrFcShort( 0xf8 ), /* Offset= 248 (414) */ +/* 168 */ NdrFcLong( 0x24 ), /* 36 */ +/* 172 */ NdrFcShort( 0x3a2 ), /* Offset= 930 (1102) */ +/* 174 */ NdrFcLong( 0x4024 ), /* 16420 */ +/* 178 */ NdrFcShort( 0x39c ), /* Offset= 924 (1102) */ +/* 180 */ NdrFcLong( 0x4011 ), /* 16401 */ +/* 184 */ NdrFcShort( 0x39a ), /* Offset= 922 (1106) */ +/* 186 */ NdrFcLong( 0x4002 ), /* 16386 */ +/* 190 */ NdrFcShort( 0x398 ), /* Offset= 920 (1110) */ +/* 192 */ NdrFcLong( 0x4003 ), /* 16387 */ +/* 196 */ NdrFcShort( 0x396 ), /* Offset= 918 (1114) */ +/* 198 */ NdrFcLong( 0x4014 ), /* 16404 */ +/* 202 */ NdrFcShort( 0x394 ), /* Offset= 916 (1118) */ +/* 204 */ NdrFcLong( 0x4004 ), /* 16388 */ +/* 208 */ NdrFcShort( 0x392 ), /* Offset= 914 (1122) */ +/* 210 */ NdrFcLong( 0x4005 ), /* 16389 */ +/* 214 */ NdrFcShort( 0x390 ), /* Offset= 912 (1126) */ +/* 216 */ NdrFcLong( 0x400b ), /* 16395 */ +/* 220 */ NdrFcShort( 0x37a ), /* Offset= 890 (1110) */ +/* 222 */ NdrFcLong( 0x400a ), /* 16394 */ +/* 226 */ NdrFcShort( 0x378 ), /* Offset= 888 (1114) */ +/* 228 */ NdrFcLong( 0x4006 ), /* 16390 */ +/* 232 */ NdrFcShort( 0x382 ), /* Offset= 898 (1130) */ +/* 234 */ NdrFcLong( 0x4007 ), /* 16391 */ +/* 238 */ NdrFcShort( 0x378 ), /* Offset= 888 (1126) */ +/* 240 */ NdrFcLong( 0x4008 ), /* 16392 */ +/* 244 */ NdrFcShort( 0x37a ), /* Offset= 890 (1134) */ +/* 246 */ NdrFcLong( 0x400d ), /* 16397 */ +/* 250 */ NdrFcShort( 0x378 ), /* Offset= 888 (1138) */ +/* 252 */ NdrFcLong( 0x4009 ), /* 16393 */ +/* 256 */ NdrFcShort( 0x376 ), /* Offset= 886 (1142) */ +/* 258 */ NdrFcLong( 0x6000 ), /* 24576 */ +/* 262 */ NdrFcShort( 0x374 ), /* Offset= 884 (1146) */ +/* 264 */ NdrFcLong( 0x400c ), /* 16396 */ +/* 268 */ NdrFcShort( 0x372 ), /* Offset= 882 (1150) */ +/* 270 */ NdrFcLong( 0x10 ), /* 16 */ +/* 274 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */ +/* 276 */ NdrFcLong( 0x12 ), /* 18 */ +/* 280 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ +/* 282 */ NdrFcLong( 0x13 ), /* 19 */ +/* 286 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 288 */ NdrFcLong( 0x15 ), /* 21 */ +/* 292 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ +/* 294 */ NdrFcLong( 0x16 ), /* 22 */ +/* 298 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 300 */ NdrFcLong( 0x17 ), /* 23 */ +/* 304 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 306 */ NdrFcLong( 0xe ), /* 14 */ +/* 310 */ NdrFcShort( 0x350 ), /* Offset= 848 (1158) */ +/* 312 */ NdrFcLong( 0x400e ), /* 16398 */ +/* 316 */ NdrFcShort( 0x354 ), /* Offset= 852 (1168) */ +/* 318 */ NdrFcLong( 0x4010 ), /* 16400 */ +/* 322 */ NdrFcShort( 0x352 ), /* Offset= 850 (1172) */ +/* 324 */ NdrFcLong( 0x4012 ), /* 16402 */ +/* 328 */ NdrFcShort( 0x30e ), /* Offset= 782 (1110) */ +/* 330 */ NdrFcLong( 0x4013 ), /* 16403 */ +/* 334 */ NdrFcShort( 0x30c ), /* Offset= 780 (1114) */ +/* 336 */ NdrFcLong( 0x4015 ), /* 16405 */ +/* 340 */ NdrFcShort( 0x30a ), /* Offset= 778 (1118) */ +/* 342 */ NdrFcLong( 0x4016 ), /* 16406 */ +/* 346 */ NdrFcShort( 0x300 ), /* Offset= 768 (1114) */ +/* 348 */ NdrFcLong( 0x4017 ), /* 16407 */ +/* 352 */ NdrFcShort( 0x2fa ), /* Offset= 762 (1114) */ +/* 354 */ NdrFcLong( 0x0 ), /* 0 */ +/* 358 */ NdrFcShort( 0x0 ), /* Offset= 0 (358) */ +/* 360 */ NdrFcLong( 0x1 ), /* 1 */ +/* 364 */ NdrFcShort( 0x0 ), /* Offset= 0 (364) */ +/* 366 */ NdrFcShort( 0xffff ), /* Offset= -1 (365) */ +/* 368 */ + 0x15, /* FC_STRUCT */ + 0x7, /* 7 */ +/* 370 */ NdrFcShort( 0x8 ), /* 8 */ +/* 372 */ 0xb, /* FC_HYPER */ + 0x5b, /* FC_END */ +/* 374 */ + 0x13, 0x0, /* FC_OP */ +/* 376 */ NdrFcShort( 0xfea8 ), /* Offset= -344 (32) */ +/* 378 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 380 */ NdrFcLong( 0x0 ), /* 0 */ +/* 384 */ NdrFcShort( 0x0 ), /* 0 */ +/* 386 */ NdrFcShort( 0x0 ), /* 0 */ +/* 388 */ 0xc0, /* 192 */ + 0x0, /* 0 */ +/* 390 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 392 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 394 */ 0x0, /* 0 */ + 0x46, /* 70 */ +/* 396 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 398 */ NdrFcLong( 0x20400 ), /* 132096 */ +/* 402 */ NdrFcShort( 0x0 ), /* 0 */ +/* 404 */ NdrFcShort( 0x0 ), /* 0 */ +/* 406 */ 0xc0, /* 192 */ + 0x0, /* 0 */ +/* 408 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 410 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 412 */ 0x0, /* 0 */ + 0x46, /* 70 */ +/* 414 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 416 */ NdrFcShort( 0x2 ), /* Offset= 2 (418) */ +/* 418 */ + 0x13, 0x0, /* FC_OP */ +/* 420 */ NdrFcShort( 0x298 ), /* Offset= 664 (1084) */ +/* 422 */ + 0x2a, /* FC_ENCAPSULATED_UNION */ + 0x49, /* 73 */ +/* 424 */ NdrFcShort( 0x18 ), /* 24 */ +/* 426 */ NdrFcShort( 0xa ), /* 10 */ +/* 428 */ NdrFcLong( 0x8 ), /* 8 */ +/* 432 */ NdrFcShort( 0x64 ), /* Offset= 100 (532) */ +/* 434 */ NdrFcLong( 0xd ), /* 13 */ +/* 438 */ NdrFcShort( 0x9c ), /* Offset= 156 (594) */ +/* 440 */ NdrFcLong( 0x9 ), /* 9 */ +/* 444 */ NdrFcShort( 0xd0 ), /* Offset= 208 (652) */ +/* 446 */ NdrFcLong( 0xc ), /* 12 */ +/* 450 */ NdrFcShort( 0x104 ), /* Offset= 260 (710) */ +/* 452 */ NdrFcLong( 0x24 ), /* 36 */ +/* 456 */ NdrFcShort( 0x174 ), /* Offset= 372 (828) */ +/* 458 */ NdrFcLong( 0x800d ), /* 32781 */ +/* 462 */ NdrFcShort( 0x190 ), /* Offset= 400 (862) */ +/* 464 */ NdrFcLong( 0x10 ), /* 16 */ +/* 468 */ NdrFcShort( 0x1b4 ), /* Offset= 436 (904) */ +/* 470 */ NdrFcLong( 0x2 ), /* 2 */ +/* 474 */ NdrFcShort( 0x1d8 ), /* Offset= 472 (946) */ +/* 476 */ NdrFcLong( 0x3 ), /* 3 */ +/* 480 */ NdrFcShort( 0x1fc ), /* Offset= 508 (988) */ +/* 482 */ NdrFcLong( 0x14 ), /* 20 */ +/* 486 */ NdrFcShort( 0x220 ), /* Offset= 544 (1030) */ +/* 488 */ NdrFcShort( 0xffff ), /* Offset= -1 (487) */ +/* 490 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 492 */ NdrFcShort( 0x4 ), /* 4 */ +/* 494 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 496 */ NdrFcShort( 0x0 ), /* 0 */ +/* 498 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 500 */ 0x0 , + 0x0, /* 0 */ +/* 502 */ NdrFcLong( 0x0 ), /* 0 */ +/* 506 */ NdrFcLong( 0x0 ), /* 0 */ +/* 510 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 512 */ + 0x48, /* FC_VARIABLE_REPEAT */ + 0x49, /* FC_FIXED_OFFSET */ +/* 514 */ NdrFcShort( 0x4 ), /* 4 */ +/* 516 */ NdrFcShort( 0x0 ), /* 0 */ +/* 518 */ NdrFcShort( 0x1 ), /* 1 */ +/* 520 */ NdrFcShort( 0x0 ), /* 0 */ +/* 522 */ NdrFcShort( 0x0 ), /* 0 */ +/* 524 */ 0x13, 0x0, /* FC_OP */ +/* 526 */ NdrFcShort( 0xfe12 ), /* Offset= -494 (32) */ +/* 528 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 530 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 532 */ + 0x16, /* FC_PSTRUCT */ + 0x3, /* 3 */ +/* 534 */ NdrFcShort( 0x8 ), /* 8 */ +/* 536 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 538 */ + 0x46, /* FC_NO_REPEAT */ + 0x5c, /* FC_PAD */ +/* 540 */ NdrFcShort( 0x4 ), /* 4 */ +/* 542 */ NdrFcShort( 0x4 ), /* 4 */ +/* 544 */ 0x11, 0x0, /* FC_RP */ +/* 546 */ NdrFcShort( 0xffc8 ), /* Offset= -56 (490) */ +/* 548 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 550 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 552 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 554 */ NdrFcShort( 0x0 ), /* 0 */ +/* 556 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 558 */ NdrFcShort( 0x0 ), /* 0 */ +/* 560 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 562 */ 0x0 , + 0x0, /* 0 */ +/* 564 */ NdrFcLong( 0x0 ), /* 0 */ +/* 568 */ NdrFcLong( 0x0 ), /* 0 */ +/* 572 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 576 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 578 */ 0x0 , + 0x0, /* 0 */ +/* 580 */ NdrFcLong( 0x0 ), /* 0 */ +/* 584 */ NdrFcLong( 0x0 ), /* 0 */ +/* 588 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 590 */ NdrFcShort( 0xff2c ), /* Offset= -212 (378) */ +/* 592 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 594 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 596 */ NdrFcShort( 0x8 ), /* 8 */ +/* 598 */ NdrFcShort( 0x0 ), /* 0 */ +/* 600 */ NdrFcShort( 0x6 ), /* Offset= 6 (606) */ +/* 602 */ 0x8, /* FC_LONG */ + 0x36, /* FC_POINTER */ +/* 604 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 606 */ + 0x11, 0x0, /* FC_RP */ +/* 608 */ NdrFcShort( 0xffc8 ), /* Offset= -56 (552) */ +/* 610 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 612 */ NdrFcShort( 0x0 ), /* 0 */ +/* 614 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 616 */ NdrFcShort( 0x0 ), /* 0 */ +/* 618 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 620 */ 0x0 , + 0x0, /* 0 */ +/* 622 */ NdrFcLong( 0x0 ), /* 0 */ +/* 626 */ NdrFcLong( 0x0 ), /* 0 */ +/* 630 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 634 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 636 */ 0x0 , + 0x0, /* 0 */ +/* 638 */ NdrFcLong( 0x0 ), /* 0 */ +/* 642 */ NdrFcLong( 0x0 ), /* 0 */ +/* 646 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 648 */ NdrFcShort( 0xff04 ), /* Offset= -252 (396) */ +/* 650 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 652 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 654 */ NdrFcShort( 0x8 ), /* 8 */ +/* 656 */ NdrFcShort( 0x0 ), /* 0 */ +/* 658 */ NdrFcShort( 0x6 ), /* Offset= 6 (664) */ +/* 660 */ 0x8, /* FC_LONG */ + 0x36, /* FC_POINTER */ +/* 662 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 664 */ + 0x11, 0x0, /* FC_RP */ +/* 666 */ NdrFcShort( 0xffc8 ), /* Offset= -56 (610) */ +/* 668 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 670 */ NdrFcShort( 0x4 ), /* 4 */ +/* 672 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 674 */ NdrFcShort( 0x0 ), /* 0 */ +/* 676 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 678 */ 0x0 , + 0x0, /* 0 */ +/* 680 */ NdrFcLong( 0x0 ), /* 0 */ +/* 684 */ NdrFcLong( 0x0 ), /* 0 */ +/* 688 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 690 */ + 0x48, /* FC_VARIABLE_REPEAT */ + 0x49, /* FC_FIXED_OFFSET */ +/* 692 */ NdrFcShort( 0x4 ), /* 4 */ +/* 694 */ NdrFcShort( 0x0 ), /* 0 */ +/* 696 */ NdrFcShort( 0x1 ), /* 1 */ +/* 698 */ NdrFcShort( 0x0 ), /* 0 */ +/* 700 */ NdrFcShort( 0x0 ), /* 0 */ +/* 702 */ 0x13, 0x0, /* FC_OP */ +/* 704 */ NdrFcShort( 0x1d8 ), /* Offset= 472 (1176) */ +/* 706 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 708 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 710 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 712 */ NdrFcShort( 0x8 ), /* 8 */ +/* 714 */ NdrFcShort( 0x0 ), /* 0 */ +/* 716 */ NdrFcShort( 0x6 ), /* Offset= 6 (722) */ +/* 718 */ 0x8, /* FC_LONG */ + 0x36, /* FC_POINTER */ +/* 720 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 722 */ + 0x11, 0x0, /* FC_RP */ +/* 724 */ NdrFcShort( 0xffc8 ), /* Offset= -56 (668) */ +/* 726 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 728 */ NdrFcLong( 0x2f ), /* 47 */ +/* 732 */ NdrFcShort( 0x0 ), /* 0 */ +/* 734 */ NdrFcShort( 0x0 ), /* 0 */ +/* 736 */ 0xc0, /* 192 */ + 0x0, /* 0 */ +/* 738 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 740 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 742 */ 0x0, /* 0 */ + 0x46, /* 70 */ +/* 744 */ + 0x1b, /* FC_CARRAY */ + 0x0, /* 0 */ +/* 746 */ NdrFcShort( 0x1 ), /* 1 */ +/* 748 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 750 */ NdrFcShort( 0x4 ), /* 4 */ +/* 752 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 754 */ 0x0 , + 0x0, /* 0 */ +/* 756 */ NdrFcLong( 0x0 ), /* 0 */ +/* 760 */ NdrFcLong( 0x0 ), /* 0 */ +/* 764 */ 0x1, /* FC_BYTE */ + 0x5b, /* FC_END */ +/* 766 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 768 */ NdrFcShort( 0x10 ), /* 16 */ +/* 770 */ NdrFcShort( 0x0 ), /* 0 */ +/* 772 */ NdrFcShort( 0xa ), /* Offset= 10 (782) */ +/* 774 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 776 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 778 */ NdrFcShort( 0xffcc ), /* Offset= -52 (726) */ +/* 780 */ 0x36, /* FC_POINTER */ + 0x5b, /* FC_END */ +/* 782 */ + 0x13, 0x20, /* FC_OP [maybenull_sizeis] */ +/* 784 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (744) */ +/* 786 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 788 */ NdrFcShort( 0x4 ), /* 4 */ +/* 790 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 792 */ NdrFcShort( 0x0 ), /* 0 */ +/* 794 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 796 */ 0x0 , + 0x0, /* 0 */ +/* 798 */ NdrFcLong( 0x0 ), /* 0 */ +/* 802 */ NdrFcLong( 0x0 ), /* 0 */ +/* 806 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 808 */ + 0x48, /* FC_VARIABLE_REPEAT */ + 0x49, /* FC_FIXED_OFFSET */ +/* 810 */ NdrFcShort( 0x4 ), /* 4 */ +/* 812 */ NdrFcShort( 0x0 ), /* 0 */ +/* 814 */ NdrFcShort( 0x1 ), /* 1 */ +/* 816 */ NdrFcShort( 0x0 ), /* 0 */ +/* 818 */ NdrFcShort( 0x0 ), /* 0 */ +/* 820 */ 0x13, 0x0, /* FC_OP */ +/* 822 */ NdrFcShort( 0xffc8 ), /* Offset= -56 (766) */ +/* 824 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 826 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 828 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 830 */ NdrFcShort( 0x8 ), /* 8 */ +/* 832 */ NdrFcShort( 0x0 ), /* 0 */ +/* 834 */ NdrFcShort( 0x6 ), /* Offset= 6 (840) */ +/* 836 */ 0x8, /* FC_LONG */ + 0x36, /* FC_POINTER */ +/* 838 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 840 */ + 0x11, 0x0, /* FC_RP */ +/* 842 */ NdrFcShort( 0xffc8 ), /* Offset= -56 (786) */ +/* 844 */ + 0x1d, /* FC_SMFARRAY */ + 0x0, /* 0 */ +/* 846 */ NdrFcShort( 0x8 ), /* 8 */ +/* 848 */ 0x1, /* FC_BYTE */ + 0x5b, /* FC_END */ +/* 850 */ + 0x15, /* FC_STRUCT */ + 0x3, /* 3 */ +/* 852 */ NdrFcShort( 0x10 ), /* 16 */ +/* 854 */ 0x8, /* FC_LONG */ + 0x6, /* FC_SHORT */ +/* 856 */ 0x6, /* FC_SHORT */ + 0x4c, /* FC_EMBEDDED_COMPLEX */ +/* 858 */ 0x0, /* 0 */ + NdrFcShort( 0xfff1 ), /* Offset= -15 (844) */ + 0x5b, /* FC_END */ +/* 862 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 864 */ NdrFcShort( 0x18 ), /* 24 */ +/* 866 */ NdrFcShort( 0x0 ), /* 0 */ +/* 868 */ NdrFcShort( 0xa ), /* Offset= 10 (878) */ +/* 870 */ 0x8, /* FC_LONG */ + 0x36, /* FC_POINTER */ +/* 872 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 874 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (850) */ +/* 876 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 878 */ + 0x11, 0x0, /* FC_RP */ +/* 880 */ NdrFcShort( 0xfeb8 ), /* Offset= -328 (552) */ +/* 882 */ + 0x1b, /* FC_CARRAY */ + 0x0, /* 0 */ +/* 884 */ NdrFcShort( 0x1 ), /* 1 */ +/* 886 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 888 */ NdrFcShort( 0x0 ), /* 0 */ +/* 890 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 892 */ 0x0 , + 0x0, /* 0 */ +/* 894 */ NdrFcLong( 0x0 ), /* 0 */ +/* 898 */ NdrFcLong( 0x0 ), /* 0 */ +/* 902 */ 0x1, /* FC_BYTE */ + 0x5b, /* FC_END */ +/* 904 */ + 0x16, /* FC_PSTRUCT */ + 0x3, /* 3 */ +/* 906 */ NdrFcShort( 0x8 ), /* 8 */ +/* 908 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 910 */ + 0x46, /* FC_NO_REPEAT */ + 0x5c, /* FC_PAD */ +/* 912 */ NdrFcShort( 0x4 ), /* 4 */ +/* 914 */ NdrFcShort( 0x4 ), /* 4 */ +/* 916 */ 0x13, 0x20, /* FC_OP [maybenull_sizeis] */ +/* 918 */ NdrFcShort( 0xffdc ), /* Offset= -36 (882) */ +/* 920 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 922 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 924 */ + 0x1b, /* FC_CARRAY */ + 0x1, /* 1 */ +/* 926 */ NdrFcShort( 0x2 ), /* 2 */ +/* 928 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 930 */ NdrFcShort( 0x0 ), /* 0 */ +/* 932 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 934 */ 0x0 , + 0x0, /* 0 */ +/* 936 */ NdrFcLong( 0x0 ), /* 0 */ +/* 940 */ NdrFcLong( 0x0 ), /* 0 */ +/* 944 */ 0x6, /* FC_SHORT */ + 0x5b, /* FC_END */ +/* 946 */ + 0x16, /* FC_PSTRUCT */ + 0x3, /* 3 */ +/* 948 */ NdrFcShort( 0x8 ), /* 8 */ +/* 950 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 952 */ + 0x46, /* FC_NO_REPEAT */ + 0x5c, /* FC_PAD */ +/* 954 */ NdrFcShort( 0x4 ), /* 4 */ +/* 956 */ NdrFcShort( 0x4 ), /* 4 */ +/* 958 */ 0x13, 0x20, /* FC_OP [maybenull_sizeis] */ +/* 960 */ NdrFcShort( 0xffdc ), /* Offset= -36 (924) */ +/* 962 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 964 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 966 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 968 */ NdrFcShort( 0x4 ), /* 4 */ +/* 970 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 972 */ NdrFcShort( 0x0 ), /* 0 */ +/* 974 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 976 */ 0x0 , + 0x0, /* 0 */ +/* 978 */ NdrFcLong( 0x0 ), /* 0 */ +/* 982 */ NdrFcLong( 0x0 ), /* 0 */ +/* 986 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 988 */ + 0x16, /* FC_PSTRUCT */ + 0x3, /* 3 */ +/* 990 */ NdrFcShort( 0x8 ), /* 8 */ +/* 992 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 994 */ + 0x46, /* FC_NO_REPEAT */ + 0x5c, /* FC_PAD */ +/* 996 */ NdrFcShort( 0x4 ), /* 4 */ +/* 998 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1000 */ 0x13, 0x20, /* FC_OP [maybenull_sizeis] */ +/* 1002 */ NdrFcShort( 0xffdc ), /* Offset= -36 (966) */ +/* 1004 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 1006 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 1008 */ + 0x1b, /* FC_CARRAY */ + 0x7, /* 7 */ +/* 1010 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1012 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 1014 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1016 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1018 */ 0x0 , + 0x0, /* 0 */ +/* 1020 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1024 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1028 */ 0xb, /* FC_HYPER */ + 0x5b, /* FC_END */ +/* 1030 */ + 0x16, /* FC_PSTRUCT */ + 0x3, /* 3 */ +/* 1032 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1034 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 1036 */ + 0x46, /* FC_NO_REPEAT */ + 0x5c, /* FC_PAD */ +/* 1038 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1040 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1042 */ 0x13, 0x20, /* FC_OP [maybenull_sizeis] */ +/* 1044 */ NdrFcShort( 0xffdc ), /* Offset= -36 (1008) */ +/* 1046 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 1048 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 1050 */ + 0x15, /* FC_STRUCT */ + 0x3, /* 3 */ +/* 1052 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1054 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1056 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1058 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 1060 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1062 */ 0x7, /* Corr desc: FC_USHORT */ + 0x0, /* */ +/* 1064 */ NdrFcShort( 0xffd8 ), /* -40 */ +/* 1066 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1068 */ 0x0 , + 0x0, /* 0 */ +/* 1070 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1074 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1078 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1080 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (1050) */ +/* 1082 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1084 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 1086 */ NdrFcShort( 0x28 ), /* 40 */ +/* 1088 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (1058) */ +/* 1090 */ NdrFcShort( 0x0 ), /* Offset= 0 (1090) */ +/* 1092 */ 0x6, /* FC_SHORT */ + 0x6, /* FC_SHORT */ +/* 1094 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1096 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1098 */ NdrFcShort( 0xfd5c ), /* Offset= -676 (422) */ +/* 1100 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1102 */ + 0x13, 0x0, /* FC_OP */ +/* 1104 */ NdrFcShort( 0xfeae ), /* Offset= -338 (766) */ +/* 1106 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1108 */ 0x1, /* FC_BYTE */ + 0x5c, /* FC_PAD */ +/* 1110 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1112 */ 0x6, /* FC_SHORT */ + 0x5c, /* FC_PAD */ +/* 1114 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1116 */ 0x8, /* FC_LONG */ + 0x5c, /* FC_PAD */ +/* 1118 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1120 */ 0xb, /* FC_HYPER */ + 0x5c, /* FC_PAD */ +/* 1122 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1124 */ 0xa, /* FC_FLOAT */ + 0x5c, /* FC_PAD */ +/* 1126 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1128 */ 0xc, /* FC_DOUBLE */ + 0x5c, /* FC_PAD */ +/* 1130 */ + 0x13, 0x0, /* FC_OP */ +/* 1132 */ NdrFcShort( 0xfd04 ), /* Offset= -764 (368) */ +/* 1134 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1136 */ NdrFcShort( 0xfd06 ), /* Offset= -762 (374) */ +/* 1138 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1140 */ NdrFcShort( 0xfd06 ), /* Offset= -762 (378) */ +/* 1142 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1144 */ NdrFcShort( 0xfd14 ), /* Offset= -748 (396) */ +/* 1146 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1148 */ NdrFcShort( 0xfd22 ), /* Offset= -734 (414) */ +/* 1150 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1152 */ NdrFcShort( 0x2 ), /* Offset= 2 (1154) */ +/* 1154 */ + 0x13, 0x0, /* FC_OP */ +/* 1156 */ NdrFcShort( 0x14 ), /* Offset= 20 (1176) */ +/* 1158 */ + 0x15, /* FC_STRUCT */ + 0x7, /* 7 */ +/* 1160 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1162 */ 0x6, /* FC_SHORT */ + 0x1, /* FC_BYTE */ +/* 1164 */ 0x1, /* FC_BYTE */ + 0x8, /* FC_LONG */ +/* 1166 */ 0xb, /* FC_HYPER */ + 0x5b, /* FC_END */ +/* 1168 */ + 0x13, 0x0, /* FC_OP */ +/* 1170 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (1158) */ +/* 1172 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1174 */ 0x2, /* FC_CHAR */ + 0x5c, /* FC_PAD */ +/* 1176 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x7, /* 7 */ +/* 1178 */ NdrFcShort( 0x20 ), /* 32 */ +/* 1180 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1182 */ NdrFcShort( 0x0 ), /* Offset= 0 (1182) */ +/* 1184 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1186 */ 0x6, /* FC_SHORT */ + 0x6, /* FC_SHORT */ +/* 1188 */ 0x6, /* FC_SHORT */ + 0x6, /* FC_SHORT */ +/* 1190 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1192 */ NdrFcShort( 0xfb94 ), /* Offset= -1132 (60) */ +/* 1194 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1196 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 1198 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1200 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1202 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1204 */ NdrFcShort( 0xfb84 ), /* Offset= -1148 (56) */ +/* 1206 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 1208 */ NdrFcShort( 0x2 ), /* Offset= 2 (1210) */ +/* 1210 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 1212 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1214 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1216 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1218 */ NdrFcShort( 0xfcb4 ), /* Offset= -844 (374) */ + + 0x0 + } + }; + +static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = + { + + { + BSTR_UserSize + ,BSTR_UserMarshal + ,BSTR_UserUnmarshal + ,BSTR_UserFree + }, + { + VARIANT_UserSize + ,VARIANT_UserMarshal + ,VARIANT_UserUnmarshal + ,VARIANT_UserFree + } + + }; + + + +/* Object interface: IUnknown, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ + + +/* Object interface: IDispatch, ver. 0.0, + GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ + + +/* Object interface: IWeChatRobot, ver. 0.0, + GUID={0xa836e359,0x59b2,0x4e01,{0x9b,0x0c,0x0e,0x5a,0x5a,0x2e,0xfa,0x22}} */ + +#pragma code_seg(".orpc") +static const unsigned short IWeChatRobot_FormatStringOffsetTable[] = + { + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + 0, + 36, + 72, + 120, + 168, + 216, + 276, + 330, + 366, + 402, + 444, + 480, + 516, + 558, + 594, + 630, + 666, + 702, + 738 + }; + +static const MIDL_STUBLESS_PROXY_INFO IWeChatRobot_ProxyInfo = + { + &Object_StubDesc, + WeChatRobotCOM__MIDL_ProcFormatString.Format, + &IWeChatRobot_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IWeChatRobot_ServerInfo = + { + &Object_StubDesc, + 0, + WeChatRobotCOM__MIDL_ProcFormatString.Format, + &IWeChatRobot_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(26) _IWeChatRobotProxyVtbl = +{ + &IWeChatRobot_ProxyInfo, + &IID_IWeChatRobot, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + 0 /* IDispatch::GetTypeInfoCount */ , + 0 /* IDispatch::GetTypeInfo */ , + 0 /* IDispatch::GetIDsOfNames */ , + 0 /* IDispatch_Invoke_Proxy */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CStartRobotService */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CStopRobotService */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CSendText */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CSendImage */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CSendFile */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CSendArticle */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CSendCard */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CGetFriendList */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CGetFriendListString */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CGetWxUserInfo */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CGetSelfInfo */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CCheckFriendStatusInit */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CCheckFriendStatus */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CCheckFriendStatusFinish */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CGetComWorkPath */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CStartReceiveMessage */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CReceiveMessage */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CStopReceiveMessage */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CSendAtText */ +}; + + +static const PRPC_STUB_FUNCTION IWeChatRobot_table[] = +{ + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2 +}; + +CInterfaceStubVtbl _IWeChatRobotStubVtbl = +{ + &IID_IWeChatRobot, + &IWeChatRobot_ServerInfo, + 26, + &IWeChatRobot_table[-3], + CStdStubBuffer_DELEGATING_METHODS +}; + +static const MIDL_STUB_DESC Object_StubDesc = + { + 0, + NdrOleAllocate, + NdrOleFree, + 0, + 0, + 0, + 0, + 0, + WeChatRobotCOM__MIDL_TypeFormatString.Format, + 1, /* -error bounds_check flag */ + 0x60001, /* Ndr library version */ + 0, + 0x801026e, /* MIDL Version 8.1.622 */ + 0, + UserMarshalRoutines, + 0, /* notify & notify_flag routine table */ + 0x1, /* MIDL flag */ + 0, /* cs routines */ + 0, /* proxy/server info */ + 0 + }; + +const CInterfaceProxyVtbl * const _WeChatRobotCOM_ProxyVtblList[] = +{ + ( CInterfaceProxyVtbl *) &_IWeChatRobotProxyVtbl, + 0 +}; + +const CInterfaceStubVtbl * const _WeChatRobotCOM_StubVtblList[] = +{ + ( CInterfaceStubVtbl *) &_IWeChatRobotStubVtbl, + 0 +}; + +PCInterfaceName const _WeChatRobotCOM_InterfaceNamesList[] = +{ + "IWeChatRobot", + 0 +}; + +const IID * const _WeChatRobotCOM_BaseIIDList[] = +{ + &IID_IDispatch, + 0 +}; + + +#define _WeChatRobotCOM_CHECK_IID(n) IID_GENERIC_CHECK_IID( _WeChatRobotCOM, pIID, n) + +int __stdcall _WeChatRobotCOM_IID_Lookup( const IID * pIID, int * pIndex ) +{ + + if(!_WeChatRobotCOM_CHECK_IID(0)) + { + *pIndex = 0; + return 1; + } + + return 0; +} + +const ExtendedProxyFileInfo WeChatRobotCOM_ProxyFileInfo = +{ + (PCInterfaceProxyVtblList *) & _WeChatRobotCOM_ProxyVtblList, + (PCInterfaceStubVtblList *) & _WeChatRobotCOM_StubVtblList, + (const PCInterfaceName * ) & _WeChatRobotCOM_InterfaceNamesList, + (const IID ** ) & _WeChatRobotCOM_BaseIIDList, + & _WeChatRobotCOM_IID_Lookup, + 1, + 2, + 0, /* table of [async_uuid] interfaces */ + 0, /* Filler1 */ + 0, /* Filler2 */ + 0 /* Filler3 */ +}; +#pragma optimize("", on ) +#if _MSC_VER >= 1200 +#pragma warning(pop) +#endif + + +#endif /* !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_) */ + diff --git a/CWeChatRobot/dlldata.c b/CWeChatRobot/dlldata.c index d3872ad81fc63a2ba3e8bebcc0248842b4153119..61ae980f38f65cc1cbf636e72b38f61836be9102 100644 --- a/CWeChatRobot/dlldata.c +++ b/CWeChatRobot/dlldata.c @@ -1,38 +1,38 @@ -/********************************************************* - DllData file -- generated by MIDL compiler - - DO NOT ALTER THIS FILE - - This file is regenerated by MIDL on every IDL file compile. - - To completely reconstruct this file, delete it and rerun MIDL - on all the IDL files in this DLL, specifying this file for the - /dlldata command line option - -*********************************************************/ - -#define PROXY_DELEGATION - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -EXTERN_PROXY_FILE( WeChatRobotCOM ) - - -PROXYFILE_LIST_START -/* Start of list */ - REFERENCE_PROXY_FILE( WeChatRobotCOM ), -/* End of list */ -PROXYFILE_LIST_END - - -DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID ) - -#ifdef __cplusplus -} /*extern "C" */ -#endif - -/* end of generated dlldata file */ +/********************************************************* + DllData file -- generated by MIDL compiler + + DO NOT ALTER THIS FILE + + This file is regenerated by MIDL on every IDL file compile. + + To completely reconstruct this file, delete it and rerun MIDL + on all the IDL files in this DLL, specifying this file for the + /dlldata command line option + +*********************************************************/ + +#define PROXY_DELEGATION + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +EXTERN_PROXY_FILE( WeChatRobotCOM ) + + +PROXYFILE_LIST_START +/* Start of list */ + REFERENCE_PROXY_FILE( WeChatRobotCOM ), +/* End of list */ +PROXYFILE_LIST_END + + +DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID ) + +#ifdef __cplusplus +} /*extern "C" */ +#endif + +/* end of generated dlldata file */ diff --git a/CWeChatRobot/pch.cpp b/CWeChatRobot/pch.cpp index 78abcf9f7e85da89d1e75134a2f83ff45a59e2da..28a0d70574aa2aa19736456e3bd11f1c4bae9508 100644 --- a/CWeChatRobot/pch.cpp +++ b/CWeChatRobot/pch.cpp @@ -8,6 +8,7 @@ DWORD SendTextOffset = 0x0; DWORD SendFileOffset = 0x0; DWORD SendArticleOffset = 0x0; DWORD SendCardOffset = 0x0; +DWORD SendAtTextOffset = 0x0; DWORD GetFriendListInitOffset = 0x0; DWORD GetFriendListRemoteOffset = 0x0; @@ -97,6 +98,8 @@ void GetProcOffset(wchar_t* workPath) { SendArticleOffset = SendArticleProcAddr - WeChatBase; DWORD SendCardProcAddr = (DWORD)GetProcAddress(hd, SendCardRemote); SendCardOffset = SendCardProcAddr - WeChatBase; + DWORD SendAtTextProcAddr = (DWORD)GetProcAddress(hd, SendAtTextRemote); + SendAtTextOffset = SendAtTextProcAddr - WeChatBase; DWORD GetFriendListInitProcAddr = (DWORD)GetProcAddress(hd, GetFriendListInit); GetFriendListInitOffset = GetFriendListInitProcAddr - WeChatBase; diff --git a/CWeChatRobot/robotdata.h b/CWeChatRobot/robotdata.h index a4c345b155673f72279539e7e52ece26d60ce89f..9c09e31bcb0a33c4654cb29291772a3ef391f0a0 100644 --- a/CWeChatRobot/robotdata.h +++ b/CWeChatRobot/robotdata.h @@ -5,6 +5,7 @@ #include "SendFile.h" #include "SendArticle.h" #include "SendCard.h" +#include "SendAtText.h" #include "FriendList.h" #include "UserInfo.h" #include "SelfInfo.h" @@ -17,6 +18,7 @@ extern DWORD SendTextOffset; extern DWORD SendFileOffset; extern DWORD SendArticleOffset; extern DWORD SendCardOffset; +extern DWORD SendAtTextOffset; extern DWORD GetFriendListInitOffset; extern DWORD GetFriendListRemoteOffset; @@ -46,6 +48,7 @@ extern DWORD PopHeadMessageRemoteOffset; #define SendFileRemote "SendFileRemote" #define SendArticleRemote "SendArticleRemote" #define SendCardRemote "SendCardRemote" +#define SendAtTextRemote "SendAtTextRemote" #define GetFriendListInit "GetFriendListInit" #define GetFriendListRemote "GetFriendListRemote" diff --git a/DWeChatRobot/DWeChatRobot.vcxproj b/DWeChatRobot/DWeChatRobot.vcxproj index b9f6e00689aca8854ffb4e18de7b61b4ced66e4c..a1430fb147cb017f53260995992c1122e2c41e93 100644 --- a/DWeChatRobot/DWeChatRobot.vcxproj +++ b/DWeChatRobot/DWeChatRobot.vcxproj @@ -162,6 +162,7 @@ + @@ -181,6 +182,7 @@ + diff --git a/DWeChatRobot/DWeChatRobot.vcxproj.filters b/DWeChatRobot/DWeChatRobot.vcxproj.filters index 0632d35499547b31bacd258c0a028a96750c5a91..14aa8088f3ef57bd1b1f7add39f8e5f4cd56a5ba 100644 --- a/DWeChatRobot/DWeChatRobot.vcxproj.filters +++ b/DWeChatRobot/DWeChatRobot.vcxproj.filters @@ -55,6 +55,9 @@ {4763248d-1490-48c0-aa63-bf3265cf8178} + + {15310114-64cf-4426-a4ef-3c889824d2de} + @@ -96,6 +99,9 @@ 接收消息 + + 发送消息\发送艾特 + @@ -137,5 +143,8 @@ 接收消息 + + 发送消息\发送艾特 + \ No newline at end of file diff --git a/DWeChatRobot/SendAtText.cpp b/DWeChatRobot/SendAtText.cpp new file mode 100644 index 0000000000000000000000000000000000000000..6c2ec6ece0ef963b729a26b17e5fc49539da9ff3 --- /dev/null +++ b/DWeChatRobot/SendAtText.cpp @@ -0,0 +1,77 @@ +#include "pch.h" + +#define SendAtTextCallOffset 0x6782E7B0 - 0x67370000 +#define DeleteAtTextCacheCallOffset 0x67404200 - 0x67370000 + +struct SendAtTextStruct +{ + DWORD chatroomid; + DWORD wxid; + DWORD wxmsg; +}; + +struct AtUserStruct { + wchar_t* wxid; + DWORD Length; + DWORD maxLength; + DWORD fill1 = 0; + DWORD fill2 = 0; + DWORD fill3 = 0; +}; + +struct AtStruct { + AtUserStruct* AtUser = NULL; + DWORD addr_end1; + DWORD addr_end2; +}; + +void SendAtTextRemote(LPVOID lpParameter) { + SendAtTextStruct* rp = (SendAtTextStruct*)lpParameter; + wchar_t* wsChatRoomId = (WCHAR*)rp->chatroomid; + wchar_t* wsWxId = (WCHAR*)rp->wxid; + wchar_t* wsTextMsg = (WCHAR*)rp->wxmsg; + SendAtText(wsChatRoomId,wsWxId, wsTextMsg); +} + +void __stdcall SendAtText(wchar_t* wsChatRoomId, wchar_t* wsWxId, wchar_t* wsTextMsg) { + wchar_t* NickName = GetUserNickNameByWxId(wsWxId); + if (!NickName) + return; + wchar_t* SendTextMsg = new wchar_t[wcslen(wsTextMsg) + wcslen(NickName) + 3]; + ZeroMemory(SendTextMsg, (wcslen(wsTextMsg) + wcslen(NickName) + 3) * 2); + swprintf_s(SendTextMsg, (wcslen(wsTextMsg) + wcslen(NickName) + 2) * 2,L"@%ws %ws",NickName,wsTextMsg); + + WxBaseStruct wxChatRoomId(wsChatRoomId); + WxBaseStruct wxTextMsg(SendTextMsg); + AtStruct at = { 0 }; + AtUserStruct AtUser = { 0 }; + AtUser.wxid = wsWxId; + AtUser.Length = wcslen(wsWxId); + AtUser.maxLength = wcslen(wsWxId) * 2; + at.AtUser = &AtUser; + at.addr_end1 = (DWORD)&AtUser.fill3; + at.addr_end2 = (DWORD)&AtUser.fill3; + + wchar_t** pWxmsg = &wxTextMsg.buffer; + char buffer[0x3B0] = { 0 }; + + DWORD dllBaseAddress = GetWeChatWinBase(); + DWORD callAddress = dllBaseAddress + SendAtTextCallOffset; + DWORD DeleteTextCacheCall = dllBaseAddress + DeleteAtTextCacheCallOffset; + + __asm { + pushad; + lea eax, at; + push 0x1; + push eax; + mov edi, pWxmsg; + push edi; + lea edx, wxChatRoomId; + lea ecx, buffer; + call callAddress; + add esp, 0xC; + lea ecx, buffer; + call DeleteTextCacheCall; + popad; + } +} \ No newline at end of file diff --git a/DWeChatRobot/SendAtText.h b/DWeChatRobot/SendAtText.h new file mode 100644 index 0000000000000000000000000000000000000000..3047bdf47cb76962c77f5e991d6cd628aad77056 --- /dev/null +++ b/DWeChatRobot/SendAtText.h @@ -0,0 +1,5 @@ +#pragma once +#include + +void __stdcall SendAtText(wchar_t* wxChatRoomId, wchar_t* wsWxId, wchar_t* wsTextMsg); +extern "C" __declspec(dllexport) void SendAtTextRemote(LPVOID lpParameter); \ No newline at end of file diff --git a/DWeChatRobot/UserInfo.cpp b/DWeChatRobot/UserInfo.cpp index 5f218349dc7a08974867038c52b2271180d16c11..65bad3e5dbb024852ae1efdb38bc9040c8e9f401 100644 --- a/DWeChatRobot/UserInfo.cpp +++ b/DWeChatRobot/UserInfo.cpp @@ -129,4 +129,56 @@ BOOL __stdcall GetUserInfoByWxId(wchar_t* wxid) { popad; } return isSuccess; +} + +wchar_t* __stdcall GetUserNickNameByWxId(wchar_t* wxid) { + DWORD WeChatWinBase = GetWeChatWinBase(); + DWORD WxGetUserInfoCall0 = WeChatWinBase + GetUserInfoCall0Offset; + DWORD WxGetUserInfoCall1 = WeChatWinBase + GetUserInfoCall1Offset; + DWORD WxGetUserInfoCall2 = WeChatWinBase + GetUserInfoCall2Offset; + DWORD WxGetUserInfoCall3 = WeChatWinBase + GetUserInfoCall3Offset; + DWORD DeleteUserInofCacheCall1 = WeChatWinBase + DeleteUserInfoCacheCall1Offset; + DWORD DeleteUserInofCacheCall2 = WeChatWinBase + DeleteUserInfoCacheCall2Offset; + char buffer[0x3FC] = { 0 }; + WxBaseStruct pWxid(wxid); + DWORD address = 0; + DWORD isSuccess = 0; + __asm + { + pushad; + call WxGetUserInfoCall0; + mov edi, eax; + lea ecx, buffer; + call WxGetUserInfoCall1; + lea eax, buffer; + mov address, eax; + push eax; + sub esp, 0x14; + mov ecx, esp; + lea esi, pWxid; + push esi; + call WxGetUserInfoCall2; + mov ecx, edi; + call WxGetUserInfoCall3; + mov isSuccess, eax; + popad; + } + wchar_t* NickName = NULL; + if (isSuccess) { + DWORD length = *(DWORD*)(address + 0x6C + 0x4); + NickName = new wchar_t[length + 1]; + ZeroMemory(NickName, (length + 1) * 2); + memcpy(NickName, (wchar_t*)(*(DWORD*)(address + 0x6C)), length * 2); + } + __asm { + pushad; + lea eax, buffer; + push eax; + call DeleteUserInofCacheCall1; + lea ecx, buffer; + mov esi, eax; + call DeleteUserInofCacheCall2; + popad; + } + return NickName; } \ No newline at end of file diff --git a/DWeChatRobot/UserInfo.h b/DWeChatRobot/UserInfo.h index f7bca702c544a053a468541c8741c3a674b7f04c..693529006b3781f125167973a6a7df1bc68bbad8 100644 --- a/DWeChatRobot/UserInfo.h +++ b/DWeChatRobot/UserInfo.h @@ -2,4 +2,5 @@ #include BOOL __stdcall GetUserInfoByWxId(wchar_t* wxid); extern "C" __declspec(dllexport) DWORD GetWxUserInfoRemote(LPVOID lparamter); -extern "C" __declspec(dllexport) VOID DeleteUserInfoCacheRemote(); \ No newline at end of file +extern "C" __declspec(dllexport) VOID DeleteUserInfoCacheRemote(); +wchar_t* __stdcall GetUserNickNameByWxId(wchar_t* wxid); \ No newline at end of file diff --git a/DWeChatRobot/dllmain.cpp b/DWeChatRobot/dllmain.cpp index 8cd56b2198782d7a47a721b06ecf1b7031073755..6cc07724230e31f412ddff8755369536e061f760 100644 --- a/DWeChatRobot/dllmain.cpp +++ b/DWeChatRobot/dllmain.cpp @@ -15,6 +15,7 @@ BOOL APIENTRY DllMain( HMODULE hModule, printf("SendImage 0x%08X\n", (DWORD)SendImage); printf("SendText 0x%08X\n", (DWORD)SendText); printf("SendFile 0x%08X\n", (DWORD)SendFile); + printf("SendAtText 0x%08X\n", (DWORD)SendAtText); printf("GetFriendList 0x%08X\n", (DWORD)GetFriendList); printf("GetUserInfoByWxId 0x%08X\n", (DWORD)GetUserInfoByWxId); printf("SendArticle 0x%08X\n", (DWORD)SendArticle); diff --git a/DWeChatRobot/pch.h b/DWeChatRobot/pch.h index b46c8030800dcbf4a7d83c5f942465edb78ef6df..2e58b3ec888b29654804c4f838878d25db7a1ed0 100644 --- a/DWeChatRobot/pch.h +++ b/DWeChatRobot/pch.h @@ -22,6 +22,7 @@ #include "CheckFriendStatus.h" #include "LogMsgInfo.h" #include "ReceiveMessage.h" +#include "SendAtText.h" #endif //PCH_H using namespace std; diff --git a/Release/CWeChatRobot.exe b/Release/CWeChatRobot.exe index 846ff6f2038bb61060005e5128044f80c2c5c373..cef5ebd3b2f2cc5a4cc5b70ace326526161878ff 100644 Binary files a/Release/CWeChatRobot.exe and b/Release/CWeChatRobot.exe differ diff --git a/Release/DWeChatRobot.dll b/Release/DWeChatRobot.dll index c7b0a1f30e0fa2f470a2128c5b3d50a3ee8aa02e..bb7378dd257795c2b0a983cc9dc51df4847a99c3 100644 Binary files a/Release/DWeChatRobot.dll and b/Release/DWeChatRobot.dll differ diff --git a/wxRobot.py b/wxRobot.py index 2e0940e73afb3c5f17f2e30eda3c0dbe35625e74..15f846012e5d9d6ca5c176cc3ef3b283f34a7804 100644 --- a/wxRobot.py +++ b/wxRobot.py @@ -35,6 +35,11 @@ class ChatSession(): def SendCard(self,sharedwxid,nickname): return self.robot.CSendCard(self.chatwith,sharedwxid,nickname) + + def SendAtText(self,wxid,msg): + if '@chatroom' not in self.chatwith: + return 1 + return self.robot.CSendAtText(self.chatwith,wxid,msg) class WeChatRobot(): @@ -158,7 +163,7 @@ class WeChatRobot(): while self.ReceiveMessageStarted: try: message = dict(ThreadRobot.robot.CReceiveMessage()) - if CallBackFunc: + if CallBackFunc and message: CallBackFunc(ThreadRobot,message) except IndexError: message = None @@ -239,7 +244,11 @@ def test_ReceiveMessage(): wx = WeChatRobot() wx.StartService() wx.StartReceiveMessage(CallBackFunc = ReceiveMessageCallBack) - input('按Enter可退出') + try: + while True: + pass + except KeyboardInterrupt: + pass wx.StopService() if __name__ == '__main__':