2025-04-27 07:49:33 -04:00

62 lines
1.6 KiB
Plaintext

import "oaidl.idl";
cpp_quote("DEFINE_GUID(IID_IAutoSock, 0xbcc31109,0xe14a,0x11d2,0x83,0x5e,0x00,0x80,0xc7,0xe1,0x1d,0x99);")
cpp_quote("DEFINE_GUID(LIBID_AutoSockLib, 0x9ca6ce5e,0xe14a,0x11d2,0x83,0x5e,0x00,0x80,0xc7,0xe1,0x1d,0x99);")
cpp_quote("DEFINE_GUID(CLSID_AutoSock, 0x28cb3d0e,0xe14a,0x11d2,0x83,0x5e,0x00,0x80,0xc7,0xe1,0x1d,0x99);")
#define PROPERTY_RW(type, name, prid) \
[propget, id(prid)] \
HRESULT name([out, retval] type * pRetVal); \
\
[propput, id(prid)] \
HRESULT name([in] type NewVal)
#define PROPERTY_RO(type, name, prid) \
[propget, id(prid)] \
HRESULT name([out, retval] type * pRetVal)
#define PROPERTY_WO(type, name, prid) \
[propput, id(prid)] \
HRESULT name([in] type NewVal)
[
uuid(bcc31109-e14a-11d2-835e-0080c7e11d99),
object, dual, pointer_default(unique)
]
interface IAutoSock : IDispatch
{
HRESULT Connect(BSTR IpAddress);
HRESULT Send(BSTR Data);
HRESULT Recv([out, retval]BSTR *ppRetVal);
HRESULT Close();
};
[
uuid(9ca6ce5e-e14a-11d2-835e-0080c7e11d99),
version(1.0)
]
library AutoSockLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[uuid(28cb3d0e-e14a-11d2-835e-0080c7e11d99)]
coclass AutoSock
{
[default] interface IAutoSock;
};
};