From bf64d9f0796c7b37aa1a94a1f4f3199428d366b7 Mon Sep 17 00:00:00 2001 From: ljc545w Date: Tue, 12 Apr 2022 00:12:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BE=A4=E8=89=BE=E7=89=B9?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CWeChatRobot/SendAtText.cpp | 64 + CWeChatRobot/SendAtText.h | 3 + CWeChatRobot/WeChatRobot.cpp | 11 + CWeChatRobot/WeChatRobot.h | 1 + CWeChatRobot/WeChatRobotCOM.idl | 1 + CWeChatRobot/WeChatRobotCOM.vcxproj | 584 +-- CWeChatRobot/WeChatRobotCOM.vcxproj.filters | 381 +- CWeChatRobot/WeChatRobotCOM_i.c | 168 +- CWeChatRobot/WeChatRobotCOM_i.h | 926 ++--- CWeChatRobot/WeChatRobotCOM_p.c | 3606 ++++++++++--------- CWeChatRobot/dlldata.c | 76 +- CWeChatRobot/pch.cpp | 3 + CWeChatRobot/robotdata.h | 3 + DWeChatRobot/DWeChatRobot.vcxproj | 2 + DWeChatRobot/DWeChatRobot.vcxproj.filters | 9 + DWeChatRobot/SendAtText.cpp | 77 + DWeChatRobot/SendAtText.h | 5 + DWeChatRobot/UserInfo.cpp | 52 + DWeChatRobot/UserInfo.h | 3 +- DWeChatRobot/dllmain.cpp | 1 + DWeChatRobot/pch.h | 1 + Release/CWeChatRobot.exe | Bin 74752 -> 75776 bytes Release/DWeChatRobot.dll | Bin 32768 -> 33792 bytes wxRobot.py | 13 +- 24 files changed, 3156 insertions(+), 2834 deletions(-) create mode 100644 CWeChatRobot/SendAtText.cpp create mode 100644 CWeChatRobot/SendAtText.h create mode 100644 DWeChatRobot/SendAtText.cpp create mode 100644 DWeChatRobot/SendAtText.h diff --git a/CWeChatRobot/SendAtText.cpp b/CWeChatRobot/SendAtText.cpp new file mode 100644 index 0000000..56d594e --- /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 0000000..1b49e9e --- /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 0ff6702..1963146 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 6144ea2..522700c 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 ed5418d..1553c54 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 d4aee32..87571f9 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 b6b6ea0..72d2c4f 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 a200be7..df97c0b 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 c77e9e9..1654cf2 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 5591a4b..c4a6445 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 d3872ad..61ae980 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 78abcf9..28a0d70 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 a4c345b..9c09e31 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 b9f6e00..a1430fb 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 0632d35..14aa808 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 0000000..6c2ec6e --- /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 0000000..3047bdf --- /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 5f21834..65bad3e 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 f7bca70..6935290 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 8cd56b2..6cc0772 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 b46c803..2e58b3e 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 GIT binary patch delta 14545 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 delta 13961 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 diff --git a/Release/DWeChatRobot.dll b/Release/DWeChatRobot.dll index c7b0a1f30e0fa2f470a2128c5b3d50a3ee8aa02e..bb7378dd257795c2b0a983cc9dc51df4847a99c3 100644 GIT binary patch delta 12187 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 delta 11364 zcmd^le_WGCw)f;Q!6?B*C5j3N5)?%#kN`;_fR!k=VuPSas|bp2%G!!bTGrJ#cOl_IbZ&k|5f> zpS$nh@ALVb`EkyfGiT16nK?5_>p`itRcdc-Sv#rvw^O}&gAs@`JvlfN^<@d!$^?;H zl{q4}Dbq!stC*4NCgdv9kWcmI4&H(MWI~}5FY-LaB=Y{jP@W^|Ywq0Qr9Rm8-(hvq zEo~DkH%G7oOiGT{Oi5rKU@}A4?<$a+0JWlS5@m_8C{ewZvmU-ivmo|f#twpN-^17; z;yA|G$l>HzLl*?-7<+ODV~vNC=a}Of87n4+$XCnQ5D3#UnzlAK0Xbzg66)8(CrgP_ zew&P9Enps?lIKcuC$*!5uGl@iMw**-EL>|wKJF_>jT@Lr87yS1TD0f_qi z-nNQ$9=xG_%Q%Js0~iin&(J{){5`tP_7J{-d559WZ(`fg&rOpU^LjR-XgPhTq!$!qm;OeWC5{T@|S z{UbW#@_!8o%*NiMwQ`h4d57?4v~`acsAe*`no5QhW`_X(kiJ8Y0a$+*aF6<3HjtQa zd&Rn{amvXqLoI(%x5y4+g=#io20f}d4q4DWa(2R?C$L+i`bHXb73#a2YWj2}M1!fn zLoOS&{$BaY!4smAG)H)0)a;fUx@x+8d`Erm5pt(s_bJRjWP2Kl8+28w*?_JZScA?> z8lWE5Kp)b;Bl-@rg?c9`n?k+29gN9;+8A~;{%%z4bWE!JMW2q$MvUZ>{JW^fqyu*T z*u-?{p5?r6;zCU=|6*d2rjAe3{~(PxeerUR7CnZI)D+V&S$)Uv5>lG}L-k!!9?0Vz z`uQ8coUUs`dU`}V&cDx}?`Rq$`3HutUYygDBKRUq9n?sUS%pr#nKNj}ozy}#*8?N> ztLEBTo-%3C#PB-dm6QH?2I%>^W~5Cfqse{2IFH2JMH|_$;r}cJCBN#{05&lH9rDcB}WBxOG**y|8p}y=M4Ss)xB> zfEG$UJVY_V{9_wHsNiiE!}EYgAdFQ#^672Hcb01VmTHfI)~9Jj8nM~=U<@dl^+3TV zTWk4hL*lGR1(S6~`?XuIX^L(ztW!?s@-{>I98e*T$!@*BM~g-W&=vIWi)yXouNhMR zdwP8xkB*sLkM?cnjPBD=0ajcme*qPP%e9`qDAMBZi6)c3s>Mi!)eXV2E6VfVsjBzr zy|jd`c$7DaLw4|9fCSa-spWwfyX4Q|#p!WTHN9jq{_io%B*#)df6D!?XKZ9~EoPx5 zxIV@I=|EuF=;i6C#(0#6LNxi}Wy$&h+5X^g$d*m4hV0^?Rat*HNL)eB+prtqq7T*8k{n-TlO9n4hU0W|aYhmx?XVXx!=I;{lD z+Bp4Q>D_#OaQe@rdWA+~5x6Lpw0%B~{!I8_aog3r0*U33xe{ja^mVFD+^IkOSD~_cZ z5M{MdtJGg3XvYx@%B|N3hH->=CHop7o(Qs;P8M=G|I(B5}VeZQ*|B<8EDkP{A~1Xo-Kuf(Ajn3>!H#6NQA zkqB5ka_D8GLCvvaC%p2nJ8DIr!u`X2hEBU1-9Jy~Er#g-$^V5kbRYKrt_8d{E{(S8 z^w+Nr()@59XTt{GAGbluSj6YgN|dH7;>%}cRe}dwcm8Q#teBzn{&LSc<;@(jrr~m$ zjM;|}n0TG?5|F~^a@h!Bg3Bx(<>!JkPEH`cwhx+?$uaP**Jjysmtxk$xp1X80H=Um z4Lw*9LBoRq;ax#P-lm!WxUV}JxMOzeOxh&Q1P)l9ghj`NBHTCoCs?{MbF7-pe5pu% zBK?I(KN9KG_{!ML=!Fzl&|4}?Odsd|X9>2fx=J}YS7z_IPKiG_0 zMsX`${aCI2&}9c0MaHB^kK%SLL0i{IkaW({Jcd zbjLR)CZ^LkDlHatR;jF=1gXQ=_V53Wlxb@De$PvPh?|1wxyd4I--qtt+4!tIeL7MU zU9oMQB*18jGENoaf^y60+#=odb4#R=6ux?HdG=E&q4^Ug8ne#RxLN#t>x^#ZZ_YJG zL-aUnERq(c@PwpU)VKV4$PC_ij4RY10)ZfOZtL+amP;(nudpq=CTT$-PC@x~r94Eb z@iI)LCwRa@_X&^k(0m}hY;G%M+1*cm(sK$}s9rQzS^7#hIYuLiulecTy`QMV0%+O5_0qqbVqJ87C7))jMyahK5COP_9 z?2*F2|B}Sp=gnA+mSRk`k>Lmr`e$(Y_gd<&`A>@NDS$b zw#t$uj1Gg@^pSOPU%zoG<^W#0tUqE}I7nt7W)*EDhs5l6dX8{is;vdnirq;U5-1l=apa2MvvHum3T!}LosG3?eKsFL6bG8b;IV&)4#$opt1vc47K4D4G0XJD*mQz+K^!-9>{k_9|FjYHzuw4|wTj}K(h zD2ln7wnZA5#WyTWmfoJlTNeIaikih&FG`gD9LMiolpvkA@Zh4=Q>4JvBaz&ZPcP`Gtxzf2fH?0EnYo{tAl?p@yblBl%ioQ+`~)Cq{3-@U`bjMnt53DTC%up3Iw3zY4Eh@7FqO+jasF6){4Wmyr!gMsvHpHj z%^gY&(ZpRO*l z){HXRqW&ts7kbbT`UShXKD(9a*v*qzz&8?bUs2wl5>b7)fvpSphLz6{zaSviS9!a) z(*SAsN`=bj*q)HG3zou$^M`G0cSG3()6`uV)R<XM<*ms)Gk;e7nHl7u zrhrd5>mJp}ImOr%E5fHtL9vEA-k=>JY1yhYPZ?=XQF!s7s?$}2yHoNWP{$NF#E z0aI^&KqhQMB*TV@jr6_5v^yWcMXfgx^(=o)2+)p+b4M_o_9B6nx#mAi2KcLm1*c ziqQrip*mV?gF$k8<;BnW9}3EnKSz)(yH8@u z)K!!T!v)tKLhGntFc$Vxz8%843PlApB8m#gLZK6Qv4}^O&Y1ww6pzftCPOz}9T|y? zOi=-`hoS-!5Q++@G!_+LfYS;~rN<`n4TaTG(M101!gbPTQQTOxNqQiPHx`-2;r@@z z34gX|CLLI3-QAHH=*A2@@CSaes9^g5g%)S@%k!@Wd@srSE*kegjaB&nHs$-iKjm~X z-O%C3|HfO3GovTSLy?Z>+sCDsYWgv#sk(fSR~>EF}=YP zm(Hg*tk6`4XS$PO=nk@J=X#X7sTz53>LARGhYT?&b=ZZ(AwwM0pK!^@A#>&R&>@4p z>HeWis1|vWlfTf4CEvGnx%BZAZoK)FHa`X{ctOeCSo;4|l3V%&w68{&6S8}Hm7k!} zrRi;8$^~?Bpr_jS2(agXJ<#J59508;6O|WGxcoVol@ll_Pw`lHDxIzB+E~>WulnMY zMBuBdag=_5SQI@Nyl-L9N-Cjyl`3S|ArH($P92sIdaw{FUAXq?nQ!7*-32tzC}-ht ziUkxXq0R1r#F?SWWVAC-yUT-JnvK0{qvWAh*PHG96?bYqb@dP~h8UaA=pCSHYpB|k zp51df6MJ+Zh7=0KTombtA|=K^%q5X3NYCotM5^i1;2Eqzr~D0T;(UYNyZ#=?o5@!! z?^p%$|Dw*RZ_<}FMYZlTFyAz6+{&qFdi2mM&mga^7D{4tF6vhW-ZxRH1Lbmb$TTat zZAC$ag?M2vBQ;D2SN^=Q7e-Ny2R=Ecs)Ngw8L(~mzK^&-CKHVT#zmbWtReYksFY4-}a*($W-3pua({* zn5{g0<$_H#Fk{>A;1zwkepKM(Oz~mC9q4H)Q+B~D%3?~~NW6=ojyDa7k^*VfGzANl zgb;I**Fw}`xQe2Jxw@JJ^5<5@YmEH$l@@wKQr}T^L+$+AmD#IE-NgtFJBH9{TThGD z+H?8N(oU*b)fIt#m;75t(e+$b+z=0hyUu< z0>mLhx6U#P74b-C2>Gf(ecaAY$hzEZ3(SMoOCZ z>8_we^W3Lnf)842*Z;7G^|fkImp}>CW$Y->ag}Z)ABfWfh~%|lgm)Er!2nLKbG?Hb zVRl;FsRr7^{6iLhjDfnq(>QFwcb7dq4Fvxint;oM!sRF#IZt2h%%|D}dE;;g@%#Iw zJ{^f5-8u<#^)w^*JivkQ_iIB`(hpRAY<0#W(F!LSwSw_Ot-kI}YRdQbCxy_^O|Xxw zPR;^59wCSs0id<#T(7mK7~s&EK%p%WqX%kyVXyA< zB+@H$pN8I&scZj`cocpgOWhlP@5ANE1?UK`GFJB${4ArI?Wkr^AwEcbm!b8>)E-Le+QuXSMlX z?HYu6iMO?dm|On=W;OL7wNKqE(sq$Hi?m6kjUwGH(zirGBJC0BMUi&p zi0r6HkBRgpk#>vpq)4AcisQ~IX20C;G92OO);yIYXh)EaT^567NrQ2(sA{lGKWKV| zKUgutIr4Jod_I4^y&X>w`ryq5`IZaTex+_$Rl5&j;DfucMudo9+4;faA5im4gFPSe zk1J-ZUj#1smQnC05&s$D&kFMg%PtNce>=o}47pr(aloL6UvC6n6N{Yg@3(CEJ+uUVds|=*J3?2l1Jm~ z!>>q@68(5XxL!5&g^*dqD=)UXubb+`bKhSo?JJfF+Ya92fPR34h_nRo0N@>pPVv2eA7f_#CjiF)+wWs7Yz+!dfCcb0gzZP(g`B>5 zt&C*=Y5??kS{aK27+N44xgGE&%I^Sv3wRW8A7DFRGHCQ=qr4hG-x+LHqF`dCBtWr= zf46>_YbP^3a9fB%X9k@mal4qQHV#~~nCSxOk@Duc`lPz;_^H3H>CPQ@Baqv9>b`1c z^r;K=!_vmc{~Tz;UID1w1=uD!WDy!7H%7k;90l#@4KxIR>^c&jF$hQB{(QVE6 zQ{q{7PIon-Rtk6&a0w7@DzXVk>u!u{X2gp#hv6qKhSwpsYy)>TBqnxlyf5LxqnYkN(I?Me+?-EO;H<>C zVOe_mhGjeM;y-R!IGHU3jv$6V+mO~Z3-gG-j6fJYxQ1}e41c>|PmI-n zR8Kst7Dh*wac6y9Q=LVedN>9cO-4p$=9X4MWJ=fn*3Z$Kh6r#)v`3;{;#kbvTdUvt5r9eD>>bm4dH8;IJY>+Efb0Vjz2r z!0n=uL6e<~E!ITp7C0p8NNGMoJeJ+fVb%iR|gr|;n1uy|gi!qF}67CFeD)}=rR{MGKMo)rTk(zr~1RIndvD2;UC@+E6hC2 zb3K3mIQ}}&+HRm<7)K{LUzA_p{zm$**M#WAdjjQ%UUuM*wiUs zjO!EGs}gx5fN-96Ubtfpo)d20F^2+4!a)@=M%uSCaTt(2?BE~YE+X?#SkCx%$KZ5i zQ*twci}1@d;FcwDQ3IU10f&LtXz5%!lnD8UU5&(ICTLBvZI{~eLhXGFmego(Sybl-zi~#iT|CxK( z1eUyq-`BY4)QQGI4gY56?Jcx0B45p3lxpEASQwFS1`h63z-5lZ{S~1uIfi)t&WQmwD@URqiPBZEw2s=2IW<+#AF*|PxYo;`CCaGfG6WfU!4x3zi8)<%j=ig!2F7ZL{Z`H4n*jIqNA zAx_oq?Vh07z-P7I+VV+3f@^`R#x=7jrHBiHETQEWE7DwVAP5#aU%pcW3R+I+S%d z>xry^EG27Bc1vouHG6gTw(QrkKgvF8eb4%pHO-cVQ7*Hs!x$TEjkbGidu{t|0b9H6 zC$=YSPuWh|PT5|>$X~O)Ya6ir$#&WHUpCcd%$b{WQ;t2SET<}`HfLh4DK{>+B6nl% zw%i@L2XceCFXjF&_x0QlbN`e(F>gv