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.

224 lines
9.4 KiB

  1. // WhqlProvider.MOF
  2. // WMI classes definitions for the WHQL provider.
  3. // The provider is used to get signing info. about all device drivers
  4. //
  5. // This mof defines two classes.Win32_PnPSignedDriver & Win32_PnPSignedDriverCIMDataFile
  6. //
  7. //===================================================================
  8. #pragma namespace("\\\\.\\ROOT\\CIMV2")
  9. //*************************************************************
  10. //*** Registers Provider ***
  11. //*************************************************************
  12. instance of __Win32Provider as $P
  13. {
  14. Name = "WhqlProvider";
  15. ClsId = "{A0F93E27-F05D-4153-A151-F3720369A4C7}";
  16. ImpersonationLevel = 1;
  17. PerUserInitialization = TRUE;
  18. HostingModel = "NetworkServiceHost";
  19. };
  20. instance of __InstanceProviderRegistration
  21. {
  22. Provider = $P;
  23. SupportsGet = TRUE;
  24. SupportsPut = FALSE;
  25. SupportsDelete = FALSE;
  26. SupportsEnumeration = TRUE;
  27. QuerySupportLevels = NULL;
  28. };
  29. instance of __MethodProviderRegistration
  30. {
  31. Provider = $P;
  32. };
  33. //This would actually store info about the Driver.
  34. [provider("WhqlProvider"): ToInstance ToSubClass, dynamic: ToInstance ToSubClass,
  35. Description(
  36. "The Win32_PnPSignedDriver class provides digital signature information about drivers "): ToSubClass ]
  37. class Win32_PnPSignedDriver : CIM_Service
  38. {
  39. [read: ToInstance ToSubClass ,
  40. Decription("The DeviceID property is the DeviceID of the device e.g. ROOT\\FTDISK\\0000 "): ToSubClass ]
  41. String DeviceID;
  42. [read: ToInstance ToSubClass ,
  43. Decription("The ClassGUID property is the ClassGUID of the device e.g. {71A27CDD-812A-11D0-BEC7-08002BE2092F}"): ToSubClass ]
  44. String ClassGuid;
  45. [Decription("The IsSigned property is the signature status of driver "
  46. "that is it represents whether the driver is signed or not")]
  47. Boolean IsSigned;
  48. [read: ToInstance ToSubClass ,
  49. Decription("The Signer property is the signer of driver if it is signed e.g. ntbuild "): ToSubClass ]
  50. String Signer;
  51. [read: ToInstance ToSubClass ,
  52. Decription("The InfName property is the name of the Inf file which installed this device e.g. machine.inf "): ToSubClass ]
  53. String InfName ;
  54. [read: ToInstance ToSubClass ,
  55. Decription("The DriverVersion property is the version of the driver e.g. 5.1.2427.1 "): ToSubClass ]
  56. String DriverVersion;
  57. //a-kjaw BugBug: Needs to be converted to WMI DateTime format.
  58. [read: ToInstance ToSubClass ,
  59. Decription("The DriverDate property is the Date of the driver e.g 1-25-2001 "): ToSubClass ]
  60. datetime DriverDate;
  61. [read: ToInstance ToSubClass ,
  62. Decription("The Description property is the Description of the driver e.g. Volume Manager "): ToSubClass ]
  63. //String DriverDesc;
  64. String Description;
  65. //a-kjaw: BugBug :Needs to be changed to avoid confusion?
  66. [read: ToInstance ToSubClass ,
  67. Decription("The ProviderName property is the Provider of the driver e.g. Microsoft "): ToSubClass ]
  68. String DriverProviderName;
  69. //[read: ToInstance ToSubClass ,
  70. //Decription("The HardwareID property array is the array of HardwareIDs of the driver "): ToSubClass ]
  71. // String HardWareID[];
  72. [read: ToInstance ToSubClass ,
  73. Decription("The HardwareID property is the HardwareID of the driver e.g. ROOT\\FTDISK "): ToSubClass ]
  74. String HardWareID;
  75. [read: ToInstance ToSubClass ,
  76. Decription("The DeviceName property is the name of the device"): ToSubClass ]
  77. String DeviceName;
  78. [read: ToInstance ToSubClass ,
  79. Decription("The DeviceClass property is DeviceClass of the driver e.g. SYSTEM "): ToSubClass ]
  80. String DeviceClass;
  81. [read: ToInstance ToSubClass ,
  82. Decription("The CompatID property is the CompatID for the driver e.g. DETECTEDInternal\\ftdisk "): ToSubClass ]
  83. String CompatID;
  84. [read: ToInstance ToSubClass ,
  85. Decription("The Location property is the Location of the driver "): ToSubClass ]
  86. String Location;
  87. [read: ToInstance ToSubClass ,
  88. Decription("The PDO property represents Physical Device Object e.g \\Device\\00000002 "
  89. "PDOs represent individual devices on a bus to a bus driver"
  90. "A bus driver creates a PDO for each device that it enumerates on its bus."
  91. "The PDO represents the device to the bus driver. Other drivers for a device attach device objects "
  92. "on top of the PDO--the PDO is always at the bottom of the device stack"): ToSubClass ]
  93. String PDO;
  94. [read: ToInstance ToSubClass ,
  95. Decription("The Manufacturer property is the Manufacturer of the driver e.g. Microsoft"): ToSubClass ]
  96. String Manufacturer;
  97. [read: ToInstance ToSubClass ,
  98. Decription("The FriendlyName property is the array of FriendlyName/Caption of the driver e.g. Communications Port (COM2)"): ToSubClass ]
  99. String FriendlyName;
  100. [read: ToInstance ToSubClass ,
  101. Decription("The DevLoader property is the Device Loader for the device"): ToSubClass ]
  102. String DevLoader;
  103. [read: ToInstance ToSubClass ,
  104. Decription("The DriverName of the driver "): ToSubClass ]
  105. String DriverName;
  106. //Other attributes as reqd by WHQL.
  107. /*[read: ToInstance ToSubClass ,
  108. Decription("The DrvTool property is an authenticated attribute stored in drivers' cat file which represents"
  109. "Version # of the tool that generated .CAT file."): ToSubClass ]
  110. String DrvTool;
  111. [read: ToInstance ToSubClass ,
  112. Decription("The SerialNumber property is an authenticated attribute stored in drivers' cat file which represents"
  113. "Self-Sign job ID"): ToSubClass ]
  114. String SerialNumber;
  115. [read: ToInstance ToSubClass ,
  116. Decription("The KitVer property is an authenticated attribute stored in drivers' cat file which represents "
  117. "Test Kit version driver set passed testing with? Note: KV_Unknown means No Test Program"): ToSubClass ]
  118. String KitVer;
  119. [read: ToInstance ToSubClass ,
  120. Decription("The OSBuild property is an authenticated attribute stored in drivers' cat file which represents "
  121. "Which build of OS did driver set pass testing with?"): ToSubClass ]
  122. String OSBuild;
  123. [read: ToInstance ToSubClass ,
  124. Decription("The OSAttr property is an authenticated attribute stored in drivers' cat file whch represents OS Attribute "): ToSubClass ]
  125. String OSAttr;
  126. [read: ToInstance ToSubClass ,
  127. Decription("OSSP is an authenticated attribute stored in drivers' cat file which represents "
  128. "Which OS Service Pack did driver set pass testing with?"): ToSubClass ]
  129. String OSSP;
  130. [read: ToInstance ToSubClass ,
  131. Decription("The HWIDxxx property is an authenticated attribute stored in drivers' cat file which represents"
  132. "Hardware Ids that have actually passed testing. Note: there number of hardware Ids is practically unlimited "): ToSubClass ]
  133. String HWIDxxx;
  134. [read: ToInstance ToSubClass ,
  135. Decription("The Company property is an authenticated attribute stored in drivers' cat file which represents "
  136. "Company name that requested driver set be signed"): ToSubClass ]
  137. String Company;
  138. [read: ToInstance ToSubClass ,
  139. Decription("The SupURL property is an authenticated attribute stored in drivers' cat file which represents"
  140. "Support URL for company that requested driver set be signed"): ToSubClass ]
  141. String SupURL;
  142. [read: ToInstance ToSubClass ,
  143. Decription("The SupPhone property is an authenticated attribute stored in drivers' cat file which represents The Support phone no."): ToSubClass ]
  144. String SupPhone;
  145. [read: ToInstance ToSubClass ,
  146. Decription("The PilotProg property is an authenticated attribute stored in drivers' cat file which represents"
  147. "Audit trail for drivers signed during Pilot Program"): ToSubClass ]
  148. String PilotProg;
  149. [read: ToInstance ToSubClass ,
  150. Decription("The Cave property is an authenticated attribute stored in drivers' cat file which represents"
  151. "Audit trail if we have to sign driver sets without reviewing test log files"): ToSubClass ]
  152. String Cave; */
  153. };
  154. [provider("WhqlProvider"): ToInstance ToSubClass, dynamic: ToInstance ToSubClass ,
  155. Decription("Win32_PnPSignedDriverCIMDataFile is an association class basically used to get all the binary "
  156. "files associated with the driver"): ToSubClass ]
  157. class Win32_PnPSignedDriverCIMDataFile : CIM_Dependency
  158. {
  159. /*[read: ToInstance ToSubClass, key ,
  160. Decription("The PnPID propety is the PnPID of the device represented by Win32_PnPSignedDriver class instance"): ToSubClass ]
  161. String PnPID;
  162. //[read: ToInstance ToSubClass, key]String FileName;*/
  163. [read: ToInstance ToSubClass, key ,
  164. Decription("The Antecedent propety is a reference to Win32_PnPSignedDriver instance "): ToSubClass ]
  165. Win32_PnPSignedDriver ref Antecedent;
  166. [read: ToInstance ToSubClass, key ,
  167. Decription("The Dependent property is a reference to CIM_DataFile which represents "
  168. "the binary file associated with the PnP driver "): ToSubClass ]
  169. CIM_DataFile ref Dependent;
  170. };
  171. /*[provider("WhqlProvider"): ToInstance ToSubClass, dynamic: ToInstance ToSubClass ,
  172. Decription("Win32_PnPSignedDriverWin32PnPEntity is an association class Win32_PnPSignedDriver Win32PnPEntity classes"): ToSubClass ]
  173. class Win32_PnPSignedDriverWin32PnPEntity
  174. {
  175. [read: ToInstance ToSubClass, key ,
  176. Decription("The Dependent property is a reference Win32_PnPSignedDriver"): ToSubClass ]
  177. Win32_PnPSignedDriver ref Antecedent;
  178. [read: ToInstance ToSubClass, key ,
  179. Decription("The Antecedent property is a reference to Win32_PnPSignedDriver instance "): ToSubClass ]
  180. Win32_PnEntity ref Dependent;
  181. };*/