Leaked source code of windows server 2003
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

  1. //[ IRpcTypes_itf
  2. //+-------------------------------------------------------------------
  3. //
  4. // Interface: IRpcTypes
  5. //
  6. // Purpose: Interface for testing Rpc calls via Ole style interfaces
  7. //
  8. // History: 23-Nov-92 Rickhi Created
  9. //
  10. // Notes:
  11. //
  12. //--------------------------------------------------------------------
  13. [ object,
  14. uuid(00000135-0001-0008-C000-000000000046),
  15. pointer_default(unique) ]
  16. interface IRpcTypes : IUnknown
  17. {
  18. import "unknwn.idl";
  19. import "estatd.idl";
  20. // methods to test GUID parameter passing
  21. SCODE GuidsIn([in] REFCLSID rclsid,
  22. [in] CLSID clsid,
  23. [in] REFIID riid,
  24. [in] IID iid,
  25. [in] GUID guid);
  26. SCODE GuidsOut([out] CLSID *pclsid,
  27. [out] IID *piid,
  28. [out] GUID *pguid);
  29. // methods to test DWORD / LARGE_INTEGER parameter passing
  30. SCODE DwordIn([in] DWORD dw,
  31. [in] ULONG ul,
  32. [in] LONG lg,
  33. [in] LARGE_INTEGER li,
  34. [in] ULARGE_INTEGER uli);
  35. SCODE DwordOut([out] DWORD *pdw,
  36. [out] ULONG *pul,
  37. [out] LONG *plg,
  38. [out] LARGE_INTEGER *pli,
  39. [out] ULARGE_INTEGER *puli);
  40. // methods to test Windows structures parameter passing
  41. SCODE WindowsIn([in] POINTL pointl,
  42. [in] SIZEL sizel,
  43. [in] RECTL rectl,
  44. [in] FILETIME filetime,
  45. [in] PALETTEENTRY paletentry,
  46. [in] LOGPALETTE *plogpalet);
  47. SCODE WindowsOut([out] POINTL *ppointl,
  48. [out] SIZEL *psizel,
  49. [out] RECTL *prectl,
  50. [out] FILETIME *pfiletime,
  51. [out] PALETTEENTRY *ppaletentry,
  52. [out] LOGPALETTE **pplogpalet);
  53. // methods to test OLE2.0 data/presentation structures parameter passing
  54. SCODE OleDataIn([in] STATDATA statdata,
  55. [in] STATSTG statstg,
  56. [in] STGMEDIUM stgmedium,
  57. [in] FORMATETC formatetc,
  58. [in] DVTARGETDEVICE *pdvtargetdevice);
  59. SCODE OleDataOut([out] STATDATA *pstatdata,
  60. [out] STATSTG *pstatstg,
  61. [out] STGMEDIUM *pstgmedium,
  62. [out] FORMATETC *pformatetc,
  63. [out] DVTARGETDEVICE **ppdvtargetdevice);
  64. // methods to test void pointer parameter passing - mimics stream i/o
  65. SCODE VoidPtrIn([in] ULONG cb,
  66. [in, size_is(cb)] void *pv);
  67. SCODE VoidPtrOut([out, size_is(cb), length_is(*pcb)] void *pv,
  68. [in] ULONG cb,
  69. [out] ULONG *pcb);
  70. }
  71. //]