|
|
//[ 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);
}
//]
|