mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.9 KiB
66 lines
1.9 KiB
//[ IRpcTest_itf
|
|
//+-------------------------------------------------------------------
|
|
//
|
|
// Interface: IRpcTest (ib)
|
|
//
|
|
// Purpose: Interface for testing Rpc calls via Ole style interfaces
|
|
//
|
|
// History: 23-Nov-92 Rickhi Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//--------------------------------------------------------------------
|
|
|
|
[ object,
|
|
uuid(00000137-0001-0008-C000-000000000046),
|
|
pointer_default(unique) ]
|
|
|
|
interface IRpcTest : IUnknown
|
|
{
|
|
import "unknwn.idl";
|
|
|
|
// test passing void parameters
|
|
SCODE Void(void);
|
|
SCODE VoidRC(void);
|
|
|
|
// test passing void ptr parameters ie byte arrays
|
|
SCODE VoidPtrIn([in] ULONG cb, [in, size_is(cb)] BYTE *pv);
|
|
SCODE VoidPtrOut([in] ULONG cb, [out] ULONG *pcb,
|
|
[out, size_is(cb), length_is(*pcb)] BYTE *pv);
|
|
|
|
// test passing dword parameters
|
|
SCODE DwordIn([in] DWORD dw);
|
|
SCODE DwordOut([out] DWORD *pdw);
|
|
SCODE DwordInOut([in,out] DWORD *pdw);
|
|
|
|
// test passing LARGE_INTEGER parameters
|
|
SCODE LiIn([in] LARGE_INTEGER li);
|
|
SCODE LiOut([out] LARGE_INTEGER *pli);
|
|
SCODE ULiIn([in] ULARGE_INTEGER uli);
|
|
SCODE ULiOut([out] ULARGE_INTEGER *puli);
|
|
|
|
// test passing string parameters
|
|
SCODE StringIn([in,string] LPWSTR pwsz);
|
|
SCODE StringOut([out,string] LPWSTR *ppwsz);
|
|
SCODE StringInOut([in,out,string] LPWSTR pwsz);
|
|
|
|
// test passing GUID parameters
|
|
SCODE GuidIn([in] GUID guid);
|
|
SCODE GuidOut([out] GUID *pguid);
|
|
|
|
// test passing interface parameters
|
|
SCODE IUnknownIn([in] IUnknown *punk);
|
|
SCODE IUnknownOut([out] IUnknown **ppunk);
|
|
|
|
// these versions retain the interface ptr
|
|
SCODE IUnknownInKeep([in] IUnknown *punk);
|
|
SCODE IUnknownInRelease(void);
|
|
|
|
SCODE IUnknownOutKeep([out] IUnknown **ppunk);
|
|
|
|
// these versions test asking for a non-IUnknown interface
|
|
SCODE InterfaceIn([in] REFIID riid, [in, iid_is(riid)] IUnknown *punk);
|
|
SCODE InterfaceOut([in] REFIID riid, [out,iid_is(riid)] IUnknown **ppunk);
|
|
}
|
|
|
|
//]
|