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.
95 lines
2.3 KiB
95 lines
2.3 KiB
//[ IRpcTypes_itf
|
|
//+-------------------------------------------------------------------
|
|
//
|
|
// Interface: IRpcTypes
|
|
//
|
|
// Purpose: Interface for testing Rpc calls via Ole style interfaces
|
|
//
|
|
// History: 23-Nov-92 Rickhi Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//--------------------------------------------------------------------
|
|
|
|
[ object,
|
|
uuid(00000135-0001-0008-C000-000000000046),
|
|
pointer_default(unique) ]
|
|
|
|
interface IRpcTypes : IUnknown
|
|
{
|
|
import "unknwn.idl";
|
|
import "estatd.idl";
|
|
|
|
|
|
// methods to test GUID parameter passing
|
|
|
|
SCODE GuidsIn([in] REFCLSID rclsid,
|
|
[in] CLSID clsid,
|
|
[in] REFIID riid,
|
|
[in] IID iid,
|
|
[in] GUID guid);
|
|
|
|
SCODE GuidsOut([out] CLSID *pclsid,
|
|
[out] IID *piid,
|
|
[out] GUID *pguid);
|
|
|
|
|
|
// methods to test DWORD / LARGE_INTEGER parameter passing
|
|
|
|
SCODE DwordIn([in] DWORD dw,
|
|
[in] ULONG ul,
|
|
[in] LONG lg,
|
|
[in] LARGE_INTEGER li,
|
|
[in] ULARGE_INTEGER uli);
|
|
|
|
SCODE DwordOut([out] DWORD *pdw,
|
|
[out] ULONG *pul,
|
|
[out] LONG *plg,
|
|
[out] LARGE_INTEGER *pli,
|
|
[out] ULARGE_INTEGER *puli);
|
|
|
|
|
|
// methods to test Windows structures parameter passing
|
|
|
|
SCODE WindowsIn([in] POINTL pointl,
|
|
[in] SIZEL sizel,
|
|
[in] RECTL rectl,
|
|
[in] FILETIME filetime,
|
|
[in] PALETTEENTRY paletentry,
|
|
[in] LOGPALETTE *plogpalet);
|
|
|
|
SCODE WindowsOut([out] POINTL *ppointl,
|
|
[out] SIZEL *psizel,
|
|
[out] RECTL *prectl,
|
|
[out] FILETIME *pfiletime,
|
|
[out] PALETTEENTRY *ppaletentry,
|
|
[out] LOGPALETTE **pplogpalet);
|
|
|
|
|
|
// methods to test OLE2.0 data/presentation structures parameter passing
|
|
|
|
SCODE OleDataIn([in] STATDATA statdata,
|
|
[in] STATSTG statstg,
|
|
[in] STGMEDIUM stgmedium,
|
|
[in] FORMATETC formatetc,
|
|
[in] DVTARGETDEVICE *pdvtargetdevice);
|
|
|
|
SCODE OleDataOut([out] STATDATA *pstatdata,
|
|
[out] STATSTG *pstatstg,
|
|
[out] STGMEDIUM *pstgmedium,
|
|
[out] FORMATETC *pformatetc,
|
|
[out] DVTARGETDEVICE **ppdvtargetdevice);
|
|
|
|
|
|
// methods to test void pointer parameter passing - mimics stream i/o
|
|
|
|
SCODE VoidPtrIn([in] ULONG cb,
|
|
[in, size_is(cb)] void *pv);
|
|
|
|
SCODE VoidPtrOut([out, size_is(cb), length_is(*pcb)] void *pv,
|
|
[in] ULONG cb,
|
|
[out] ULONG *pcb);
|
|
|
|
}
|
|
|
|
//]
|