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.

140 lines
3.7 KiB

  1. #pragma namespace("\\root")
  2. instance of __NAMESPACE
  3. {
  4. Name = "MicrosoftActiveDirectory";
  5. };
  6. #pragma namespace("MicrosoftActiveDirectory")
  7. // The docs say to declare it as:
  8. //#pragma namespace("\\\\.\\root\\MicrosoftActiveDirectory")
  9. #pragma classflags(64)
  10. #pragma autorecover
  11. /////////////////////////////////////////////////////////////////////
  12. // Declare an instance of the __Win32Provider
  13. Instance of __Win32Provider as $P
  14. {
  15. Name = "TrustPrv" ;
  16. ClsId = "{8065652F-4C29-4908-AAE5-201C891904C5}" ;
  17. ImpersonationLevel = 1;
  18. PerUserInitialization = TRUE;
  19. HostingModel = "NetworkServiceHost"; // comment this out to compile on Win2k
  20. };
  21. instance of __InstanceProviderRegistration
  22. {
  23. Provider = $P;
  24. SupportsPut = FALSE;
  25. SupportsGet = TRUE;
  26. SupportsDelete = FALSE;
  27. SupportsEnumeration = TRUE;
  28. };
  29. /////////////////////////////////////////////////////////////////////
  30. //
  31. // Declare a class whose dynamic instances are provided by the
  32. // TrustPrv provider.
  33. [
  34. dynamic,
  35. provider("TrustPrv"),
  36. description("Instances of this class provide information about the domains that"
  37. " have trust with the local domain.")
  38. ]
  39. class Microsoft_DomainTrustStatus
  40. {
  41. [key]
  42. String TrustedDomain;
  43. [Description ("Pre-Windows 2000 domain name.")]
  44. String FlatName;
  45. [Description ("Security Identifier for the domain.")]
  46. String SID;
  47. [Description ("Direction of trust: 1 is inbound, 2 is outbound, "
  48. "3 is bi-directional.")]
  49. uint32 TrustDirection;
  50. [Description ("Type of trust: 1 is downlevel, 2 is uplevel, 3 is "
  51. "non-Windows Kerberos Realm, 4 is DCE.")]
  52. uint32 TrustType;
  53. [Description ("Attributes can be a combination of: 1 is non-"
  54. "transitive, 2 is uplevel clients only, 40000 is "
  55. "tree parent and 80000 is tree root.")]
  56. uint32 TrustAttributes;
  57. [Description ("Name of trusted domain's domain controller.")]
  58. String TrustedDCName;
  59. [Description ("Error code of trust failure. Zero means no failure.")]
  60. uint32 TrustStatus;
  61. [Description ("String description of trust status.")]
  62. String TrustStatusString;
  63. Boolean TrustIsOk = FALSE;
  64. };
  65. [
  66. singleton,
  67. description("The properties of this class parameterize the operation of"
  68. " the trust monitor.")
  69. ]
  70. class Microsoft_TrustProvider
  71. {
  72. [Description ("Integer in minutes: if current request for trust enumeration"
  73. " within this window, use last listing.")]
  74. uint32 TrustListLifetime;
  75. [Description ("Integer in minutes: if current request for status within this"
  76. " window, use last results.")]
  77. uint32 TrustStatusLifetime;
  78. [Description ("0 don't verify, just enum; 1 do an SC_QUERY; 2 do a PW check"
  79. " (if available); 3 do an SC_RESET.")]
  80. uint32 TrustCheckLevel;
  81. [Description ("If true, return trusting as well as trusted domains (if different)")]
  82. Boolean ReturnAll;
  83. };
  84. instance of Microsoft_TrustProvider
  85. {
  86. TrustListLifetime = 20;
  87. TrustStatusLifetime = 3;
  88. TrustCheckLevel = 2;
  89. ReturnAll = TRUE;
  90. };
  91. [
  92. singleton,
  93. dynamic,
  94. provider("TrustPrv"),
  95. description("This class provides information about the domain on which this"
  96. " instance of the trust monitor is running.")
  97. ]
  98. class Microsoft_LocalDomainInfo
  99. {
  100. [description("DNS name of local domain.")]
  101. String DNSname;
  102. [description("SAM name of local domain.")]
  103. String FlatName;
  104. [description("Security ID of local domain.")]
  105. String SID;
  106. [description("Name of enterprise tree root.")]
  107. String TreeName;
  108. [description("Name of the DC on whom TrustMon is running.")]
  109. String DCname;
  110. };