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