WeChatFerry/Rpc/rpc.idl
2022-08-07 23:32:25 +08:00

53 lines
1.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[
uuid(ed838ecd-8a1e-4da7-bfda-9f2d12d07893),
version(1.0),
implicit_handle(handle_t hSpyBinding),
]
interface ISpy
{
import "oaidl.idl";
typedef struct RpcMessage {
int self; // 是否自己发的消息0=否1=是
int type; // 消息类型
int source; // 消息来源0=好友消息1=群消息
BSTR id; // 消息ID
BSTR xml; // 群其他消息
BSTR wxId; // 发送人微信ID
BSTR roomId; // 群ID
BSTR content; // 消息内容MAC版最大16384即16KB
} RpcMessage_t;
// 模拟 map<int, wstring>
typedef struct RpcIntBstrPair {
int key;
BSTR value;
} RpcIntBstrPair_t;
typedef RpcIntBstrPair_t *PRpcIntBstrPair;
typedef RpcIntBstrPair_t **PPRpcIntBstrPair;
typedef struct RpcContact {
BSTR wxId; // 微信ID
BSTR wxCode; // 微信号
BSTR wxName; // 微信昵称
BSTR wxCountry; // 国家
BSTR wxProvince; // 省/州
BSTR wxCity; // 城市
BSTR wxGender; // 性别
} RpcContact_t;
typedef RpcContact_t *PRpcContact;
typedef RpcContact_t **PPRpcContact;
int IsLogin();
int SendTextMsg([ in, string ] const wchar_t *wxid, [ in, string ] const wchar_t *at_wxid,
[ in, string ] const wchar_t *msg);
int SendImageMsg([ in, string ] const wchar_t *wxid, [ in, string ] const wchar_t *path);
int GetMsgTypes([out] int *pNum, [ out, size_is(, *pNum) ] PPRpcIntBstrPair *msgTypes);
int GetContacts([out] int *pNum, [ out, size_is(, *pNum) ] PPRpcContact *contacts);
int GetDbNames([out] int *pNum, [ out, size_is(, *pNum) ] BSTR **dbs);
void EnableReceiveMsg();
[callback] int ReceiveMsg([in] RpcMessage_t rpcMsg);
};