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.

77 lines
2.6 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Copyright (C) 1992, Microsoft Corporation.
  4. //
  5. // File: iface.idl
  6. //
  7. // Contents: Public definitions used for xmiting interfaces via RPC
  8. //
  9. // History: 28-Jan-93 Ricksa Created.
  10. //
  11. // Notes: These definitions are used for transmitting interfaces
  12. // via RPC.
  13. //
  14. //----------------------------------------------------------------------------
  15. [ uuid(5C0EB534-BF9F-101A-8818-02608C4D2359),
  16. version(0.1),
  17. pointer_default(unique)
  18. ]
  19. interface XmitDefs
  20. {
  21. import "wtypes.idl";
  22. #ifndef DO_NO_IMPORTS
  23. import "obase.idl";
  24. #endif
  25. // These are only valid on a request (in a ORPCTHIS header).
  26. const int ORPCF_INPUT_SYNC = ORPCF_RESERVED1;
  27. const int ORPCF_ASYNC = ORPCF_RESERVED2;
  28. const int ORPCF_DYNAMIC_CLOAKING = ORPCF_RESERVED3;
  29. // These are only valid on a reply (in a ORPCTHAT header).
  30. const int ORPCF_REJECTED = ORPCF_RESERVED1;
  31. const int ORPCF_RETRY_LATER = ORPCF_RESERVED2;
  32. typedef struct
  33. {
  34. DWORD dwFlags;
  35. DWORD dwClientThread;
  36. } LOCALTHIS;
  37. typedef enum tagLOCALFLAG
  38. {
  39. LOCALF_NONE = 0x0,
  40. // Parameters in buffer not marshalled NDR
  41. LOCALF_NONNDR = 0x800
  42. } LOCALFLAG;
  43. // CALLCATEGORY is used internally and represents the categories of calls
  44. // that can be made.
  45. // DCOMWORK - Get rid of the unused internal types.
  46. typedef enum tagCALLCATEGORY
  47. {
  48. CALLCAT_NOCALL = 0, // no call in progress
  49. CALLCAT_SYNCHRONOUS = 1, // normal sychornous call
  50. CALLCAT_ASYNC = 2, // asynchronous call
  51. CALLCAT_INPUTSYNC = 3, // input-synchronous call
  52. CALLCAT_INTERNALSYNC = 4, // internal ssync call
  53. CALLCAT_INTERNALINPUTSYNC = 5, // internal inputssync call
  54. CALLCAT_SCMCALL = 6 // important scm call
  55. } CALLCATEGORY;
  56. // wire representation of an entire interface. used for wrapping a
  57. // marshalled interface in a stream representation CXmitRpcStream.
  58. typedef struct tagInterfaceData
  59. {
  60. ULONG ulCntData; // size of data
  61. [length_is(ulCntData)] BYTE abData[1024]; // data
  62. } InterfaceData;
  63. typedef [unique] InterfaceData * PInterfaceData;
  64. #pragma midl_echo("#define IFD_SIZE(pIFD) (sizeof(InterfaceData) + pIFD->ulCntData - 1024)")
  65. }