Source code of Windows XP (NT5)
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.

167 lines
5.9 KiB

  1. #pragma namespace("\\root")
  2. instance of __NAMESPACE
  3. {
  4. Name = "MicrosoftADStatus";
  5. };
  6. #pragma namespace("MicrosoftADStatus")
  7. /////////////////////////////////////////////////////////////////////
  8. // Declare an instance of the __Win32Provider
  9. instance of __Win32Provider as $P
  10. {
  11. Name = "ADReplPrv" ;
  12. ClsId = "{96FA95C4-0AF3-4EF9-A1EB-C8151322157B}" ;
  13. } ;
  14. instance of __InstanceProviderRegistration
  15. {
  16. Provider = $P;
  17. SupportsPut = FALSE;
  18. SupportsGet = TRUE;
  19. SupportsDelete = FALSE;
  20. SupportsEnumeration = TRUE;
  21. };
  22. /////////////////////////////////////////////////////////////////////
  23. //
  24. // Declare a class whose dynamic instances are provided by the
  25. // TrustPrv provider.
  26. [dynamic, provider("ADReplPrv")]
  27. class Microsoft_ADReplStatus
  28. {
  29. // CompositeName combines several other elements as follows:
  30. // <SourceSite>\<SourceDsaCN>;<Domain>,["Domain" | "Configuration" | "Schema"]
  31. // CODEWORK I hate to have to do this, but Healthmon
  32. // does not support multiple keys per HEALTHMON bug 58142
  33. [key]
  34. String CompositeName;
  35. // The following properties are taken directly from the DS_REPL_NEIGHBOR
  36. // structure returned from DsReplicaGetInfo (ntdsapi.h)
  37. [Description ("X500 path for the naming context "
  38. "replicated by this connection.")]
  39. String NamingContext;
  40. [Description ("String-ized GUID for the replicated naming context.")]
  41. String NamingContextObjGuid;
  42. [Description ("X500 path for the DSA representing the source DC.")]
  43. String SourceDsaDN;
  44. [Description ("String-ized GUID for the DSA "
  45. "representing the source DC.")]
  46. String SourceDsaObjGuid;
  47. [Description ("DNS address of the source DC. Note that this is "
  48. "not the commonly-used canonical DNS name, instead "
  49. "it is a modified GUID.")]
  50. String SourceDsaAddress;
  51. [Description ("X500 path to the IntersiteTransport object active "
  52. "for this connection, commonly <null>.")]
  53. String AsyncIntersiteTransportDN;
  54. [Description ("String-ized GUID for the IntersiteTransport object "
  55. "active for this connection, commonly "
  56. "{00000000-0000-...}.")]
  57. String AsyncIntersiteTransportObjGuid;
  58. [Description ("Bitfield containing DS_REPL_NBR flags "
  59. "as defined in ntdsapi.h.")]
  60. uint32 ReplicaFlags;
  61. // CODEWORK I'm not sure what these really mean
  62. // or how the caller would use them.
  63. [Description ("String-ized GUID.")]
  64. String SourceDsaInvocationID;
  65. [Description ("USN")]
  66. uint64 LastObjChangeSynced;
  67. [Description ("USN")]
  68. uint64 AttributeFilter;
  69. [Description ("Timestamp for the last replication attempt.")]
  70. datetime LastSyncSuccess;
  71. [Description ("Timestamp for the last successful replication attempt.")]
  72. datetime LastSyncAttempt;
  73. [Description ("HRESULT error code for the last replication attempt.")]
  74. uint32 LastSyncResult;
  75. [Description ("Number of consecutive failed replication attempts.")]
  76. uint32 NumConsecutiveSyncFailures;
  77. // The following properties are derived form the above properties
  78. // for the convenience of the caller or Healthmon.
  79. [Description ("DNS domain name of the replicated naming context.")]
  80. String Domain;
  81. [Description ("True if a schema NC is being replicated.")]
  82. boolean IsSchemaNamingContext = FALSE;
  83. [Description ("True if a configuration NC is being replicated.")]
  84. boolean IsConfigurationNamingContext = FALSE;
  85. [Description ("True if this connection represents a source DC which "
  86. "has been deleted. By design, the DS will continue "
  87. "to replicate these connections for some time "
  88. "after the source DC is deleted.")]
  89. boolean IsDeletedSourceDsa = FALSE;
  90. // CODEWORK We only need this because Healthmon does not support
  91. // triggering off a combination of properties.
  92. [Description ("Number of consecutive failed replication attempts "
  93. "excepting connections which are expected to fail "
  94. "(i.e. IsDeletedSourceDsa).")]
  95. uint32 ModifiedNumConsecutiveSyncFailures;
  96. // Bit values extracted from dwReplicaFlags
  97. // #define DS_REPL_NBR_WRITEABLE (0x10)
  98. // #define DS_REPL_NBR_SYNC_ON_STARTUP (0x20)
  99. // #define DS_REPL_NBR_DO_SCHEDULED_SYNCS (0x40)
  100. // #define DS_REPL_NBR_USE_ASYNC_INTERSITE_TRANSPORT (0x80)
  101. // #define DS_REPL_NBR_TWO_WAY_SYNC (0x200)
  102. // #define DS_REPL_NBR_FULL_SYNC_IN_PROGRESS (0x10000)
  103. // #define DS_REPL_NBR_FULL_SYNC_NEXT_PACKET (0x20000)
  104. // #define DS_REPL_NBR_NEVER_SYNCED (0x200000)
  105. // #define DS_REPL_NBR_IGNORE_CHANGE_NOTIFICATIONS (0x4000000)
  106. // #define DS_REPL_NBR_DISABLE_SCHEDULED_SYNC (0x8000000)
  107. // #define DS_REPL_NBR_COMPRESS_CHANGES (0x10000000)
  108. // #define DS_REPL_NBR_NO_CHANGE_NOTIFICATIONS (0x20000000)
  109. boolean Writeable = FALSE;
  110. boolean SyncOnStartup = FALSE;
  111. boolean DoScheduledSyncs = FALSE;
  112. boolean UseAsyncIntersiteTransport = FALSE;
  113. boolean TwoWaySync = FALSE;
  114. boolean FullSyncInProgress = FALSE;
  115. boolean FullSyncNextPacket = FALSE;
  116. boolean NeverSynced = FALSE;
  117. boolean IgnoreChangeNotifications = FALSE;
  118. boolean DisableScheduledSync = FALSE;
  119. boolean CompressChanges = FALSE;
  120. boolean NoChangeNotifications = FALSE;
  121. [Description ("Site containing the source DC.")]
  122. String SourceDsaSite;
  123. [Description ("Object path component for the DSA representing "
  124. "the source DC. This is often similar to the "
  125. "computername but is not always identical.")]
  126. String SourceDsaCN;
  127. };
  128. [dynamic, provider("ADReplPrv")]
  129. class Microsoft_ADReplDomainController
  130. {
  131. [key]
  132. String DistinguishedName;
  133. [key]
  134. String CommonName;
  135. [key]
  136. String SiteName;
  137. String ObjectGUID;
  138. };