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.

119 lines
2.9 KiB

  1. // Copyright (c) 1996-1999 Microsoft Corporation
  2. //+-------------------------------------------------------------------------
  3. //
  4. //
  5. // File: disttrk.hxx
  6. //
  7. // Contents: Base link tracking types and types used for kernel to
  8. // Tracking (Workstation) Service communication.
  9. //
  10. // Classes:
  11. //
  12. // Functions:
  13. //
  14. //
  15. //
  16. // History: 18-Nov-96 BillMo Created.
  17. //
  18. // Notes:
  19. //
  20. // Codework:
  21. //
  22. //--------------------------------------------------------------------------
  23. //--------------------------------------------------------------------
  24. //
  25. // Beginning of declarations common between kernel and user modes
  26. //
  27. #define TRKWKS_PORT_NAME TEXT("\\Security\\TRKWKS_PORT")
  28. #define TRKWKS_PORT_EVENT_NAME TEXT("\\Security\\TRKWKS_EVENT")
  29. #define TRKWKS_LOCK_VOLUME_ENTERED TEXT("\\Security\\TRKWKS_LOCK_EVENT")
  30. // Structure sent by the kernel on moves
  31. typedef struct
  32. {
  33. LINK_TRACKING_INFORMATION SourceVolumeId; // src vol type & id
  34. FILE_OBJECTID_BUFFER SourceObjectId; // src obj id & birth info
  35. LINK_TRACKING_INFORMATION TargetVolumeId; // tgt vol type & id
  36. GUID TargetObjectId; // tgt obj id
  37. GUID MachineId;
  38. } MOVE_MESSAGE, *PMOVE_MESSAGE;
  39. //
  40. // TRKWKS_REQUEST, TRKWKS_REPLY are used by NTOS to send notifications
  41. // to our port.
  42. //
  43. enum TRKWKS_RQ_ENUM
  44. {
  45. TRKWKS_RQ_MOVE_NOTIFY = 0,
  46. TRKWKS_RQ_EXIT_PORT_THREAD = 1,
  47. TRKWKS_RQ_MAX = 2
  48. };
  49. // Structure sent by the kernel
  50. typedef struct
  51. {
  52. NTSTATUS Status;
  53. DWORD dwRequest;
  54. union
  55. {
  56. MOVE_MESSAGE MoveMessage;
  57. };
  58. } TRKWKS_REQUEST;
  59. typedef struct
  60. {
  61. PORT_MESSAGE PortMessage;
  62. TRKWKS_REQUEST Request;
  63. } TRKWKS_PORT_REQUEST;
  64. // Response from trkwks service
  65. typedef struct _LINK_TRACKING_RESPONSE {
  66. NTSTATUS Status;
  67. } LINK_TRACKING_RESPONSE, *PLINK_TRACKING_RESPONSE;
  68. typedef struct
  69. {
  70. PORT_MESSAGE PortMessage;
  71. LINK_TRACKING_RESPONSE Reply;
  72. } TRKWKS_PORT_REPLY;
  73. // Structure sent by trkwks service to itself during shutdown
  74. typedef struct
  75. {
  76. DWORD dwRequest;
  77. } TRKWKS_CONNECTION_INFO;
  78. typedef struct
  79. {
  80. PORT_MESSAGE PortMessage;
  81. TRKWKS_CONNECTION_INFO Info;
  82. } TRKWKS_PORT_CONNECT_REQUEST;
  83. //
  84. // End of declarations common between kernel and user modes
  85. //
  86. //--------------------------------------------------------------------
  87. //--------------------------------------------------------------------
  88. //
  89. // Beginning of declarations common between domain controller and workstations
  90. //
  91. //
  92. #define TRK_RPC_PROTOCOL_DEBUG "ncacn_ip_tcp" /* Allows ws to be out of the DC's domain */
  93. //
  94. // End of declarations common between domain controller and workstations
  95. //
  96. //--------------------------------------------------------------------