225 lines
9.2 KiB
Plaintext
225 lines
9.2 KiB
Plaintext
// WhqlProvider.MOF
|
|
// WMI classes definitions for the WHQL provider.
|
|
// The provider is used to get signing info. about all device drivers
|
|
//
|
|
// This mof defines two classes.Win32_PnPSignedDriver & Win32_PnPSignedDriverCIMDataFile
|
|
//
|
|
//===================================================================
|
|
|
|
#pragma namespace("\\\\.\\ROOT\\CIMV2")
|
|
|
|
//*************************************************************
|
|
//*** Registers Provider ***
|
|
//*************************************************************
|
|
instance of __Win32Provider as $P
|
|
{
|
|
Name = "WhqlProvider";
|
|
ClsId = "{A0F93E27-F05D-4153-A151-F3720369A4C7}";
|
|
ImpersonationLevel = 1;
|
|
PerUserInitialization = TRUE;
|
|
HostingModel = "NetworkServiceHost";
|
|
};
|
|
|
|
instance of __InstanceProviderRegistration
|
|
{
|
|
Provider = $P;
|
|
SupportsGet = TRUE;
|
|
SupportsPut = FALSE;
|
|
SupportsDelete = FALSE;
|
|
SupportsEnumeration = TRUE;
|
|
QuerySupportLevels = NULL;
|
|
};
|
|
|
|
instance of __MethodProviderRegistration
|
|
{
|
|
Provider = $P;
|
|
};
|
|
|
|
|
|
//This would actually store info about the Driver.
|
|
[provider("WhqlProvider"): ToInstance ToSubClass, dynamic: ToInstance ToSubClass,
|
|
Description(
|
|
"The Win32_PnPSignedDriver class provides digital signature information about drivers "): ToSubClass ]
|
|
class Win32_PnPSignedDriver : CIM_Service
|
|
{
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The DeviceID property is the DeviceID of the device e.g. ROOT\\FTDISK\\0000 "): ToSubClass ]
|
|
String DeviceID;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The ClassGUID property is the ClassGUID of the device e.g. {71A27CDD-812A-11D0-BEC7-08002BE2092F}"): ToSubClass ]
|
|
String ClassGuid;
|
|
|
|
[Decription("The IsSigned property is the signature status of driver "
|
|
"that is it represents whether the driver is signed or not")]
|
|
Boolean IsSigned;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The Signer property is the signer of driver if it is signed e.g. ntbuild "): ToSubClass ]
|
|
String Signer;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The InfName property is the name of the Inf file which installed this device e.g. machine.inf "): ToSubClass ]
|
|
String InfName ;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The DriverVersion property is the version of the driver e.g. 5.1.2427.1 "): ToSubClass ]
|
|
String DriverVersion;
|
|
|
|
//a-kjaw BugBug: Needs to be converted to WMI DateTime format.
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The DriverDate property is the Date of the driver e.g 1-25-2001 "): ToSubClass ]
|
|
datetime DriverDate;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The Description property is the Description of the driver e.g. Volume Manager "): ToSubClass ]
|
|
//String DriverDesc;
|
|
String Description;
|
|
|
|
//a-kjaw: BugBug :Needs to be changed to avoid confusion?
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The ProviderName property is the Provider of the driver e.g. Microsoft "): ToSubClass ]
|
|
String DriverProviderName;
|
|
|
|
//[read: ToInstance ToSubClass ,
|
|
//Decription("The HardwareID property array is the array of HardwareIDs of the driver "): ToSubClass ]
|
|
// String HardWareID[];
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The HardwareID property is the HardwareID of the driver e.g. ROOT\\FTDISK "): ToSubClass ]
|
|
String HardWareID;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The DeviceName property is the name of the device"): ToSubClass ]
|
|
String DeviceName;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The DeviceClass property is DeviceClass of the driver e.g. SYSTEM "): ToSubClass ]
|
|
String DeviceClass;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The CompatID property is the CompatID for the driver e.g. DETECTEDInternal\\ftdisk "): ToSubClass ]
|
|
String CompatID;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The Location property is the Location of the driver "): ToSubClass ]
|
|
String Location;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The PDO property represents Physical Device Object e.g \\Device\\00000002 "
|
|
"PDOs represent individual devices on a bus to a bus driver"
|
|
"A bus driver creates a PDO for each device that it enumerates on its bus."
|
|
"The PDO represents the device to the bus driver. Other drivers for a device attach device objects "
|
|
"on top of the PDO--the PDO is always at the bottom of the device stack"): ToSubClass ]
|
|
String PDO;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The Manufacturer property is the Manufacturer of the driver e.g. Microsoft"): ToSubClass ]
|
|
String Manufacturer;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The FriendlyName property is the array of FriendlyName/Caption of the driver e.g. Communications Port (COM2)"): ToSubClass ]
|
|
String FriendlyName;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The DevLoader property is the Device Loader for the device"): ToSubClass ]
|
|
String DevLoader;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The DriverName of the driver "): ToSubClass ]
|
|
String DriverName;
|
|
|
|
|
|
//Other attributes as reqd by WHQL.
|
|
|
|
/*[read: ToInstance ToSubClass ,
|
|
Decription("The DrvTool property is an authenticated attribute stored in drivers' cat file which represents"
|
|
"Version # of the tool that generated .CAT file."): ToSubClass ]
|
|
String DrvTool;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The SerialNumber property is an authenticated attribute stored in drivers' cat file which represents"
|
|
"Self-Sign job ID"): ToSubClass ]
|
|
String SerialNumber;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The KitVer property is an authenticated attribute stored in drivers' cat file which represents "
|
|
"Test Kit version driver set passed testing with? Note: KV_Unknown means No Test Program"): ToSubClass ]
|
|
String KitVer;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The OSBuild property is an authenticated attribute stored in drivers' cat file which represents "
|
|
"Which build of OS did driver set pass testing with?"): ToSubClass ]
|
|
String OSBuild;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The OSAttr property is an authenticated attribute stored in drivers' cat file whch represents OS Attribute "): ToSubClass ]
|
|
String OSAttr;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("OSSP is an authenticated attribute stored in drivers' cat file which represents "
|
|
"Which OS Service Pack did driver set pass testing with?"): ToSubClass ]
|
|
String OSSP;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The HWIDxxx property is an authenticated attribute stored in drivers' cat file which represents"
|
|
"Hardware Ids that have actually passed testing. Note: there number of hardware Ids is practically unlimited "): ToSubClass ]
|
|
String HWIDxxx;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The Company property is an authenticated attribute stored in drivers' cat file which represents "
|
|
"Company name that requested driver set be signed"): ToSubClass ]
|
|
String Company;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The SupURL property is an authenticated attribute stored in drivers' cat file which represents"
|
|
"Support URL for company that requested driver set be signed"): ToSubClass ]
|
|
String SupURL;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The SupPhone property is an authenticated attribute stored in drivers' cat file which represents The Support phone no."): ToSubClass ]
|
|
String SupPhone;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The PilotProg property is an authenticated attribute stored in drivers' cat file which represents"
|
|
"Audit trail for drivers signed during Pilot Program"): ToSubClass ]
|
|
String PilotProg;
|
|
|
|
[read: ToInstance ToSubClass ,
|
|
Decription("The Cave property is an authenticated attribute stored in drivers' cat file which represents"
|
|
"Audit trail if we have to sign driver sets without reviewing test log files"): ToSubClass ]
|
|
String Cave; */
|
|
};
|
|
|
|
[provider("WhqlProvider"): ToInstance ToSubClass, dynamic: ToInstance ToSubClass ,
|
|
Decription("Win32_PnPSignedDriverCIMDataFile is an association class basically used to get all the binary "
|
|
"files associated with the driver"): ToSubClass ]
|
|
class Win32_PnPSignedDriverCIMDataFile : CIM_Dependency
|
|
{
|
|
/*[read: ToInstance ToSubClass, key ,
|
|
Decription("The PnPID propety is the PnPID of the device represented by Win32_PnPSignedDriver class instance"): ToSubClass ]
|
|
String PnPID;
|
|
//[read: ToInstance ToSubClass, key]String FileName;*/
|
|
|
|
[read: ToInstance ToSubClass, key ,
|
|
Decription("The Antecedent propety is a reference to Win32_PnPSignedDriver instance "): ToSubClass ]
|
|
Win32_PnPSignedDriver ref Antecedent;
|
|
|
|
[read: ToInstance ToSubClass, key ,
|
|
Decription("The Dependent property is a reference to CIM_DataFile which represents "
|
|
"the binary file associated with the PnP driver "): ToSubClass ]
|
|
CIM_DataFile ref Dependent;
|
|
};
|
|
|
|
/*[provider("WhqlProvider"): ToInstance ToSubClass, dynamic: ToInstance ToSubClass ,
|
|
Decription("Win32_PnPSignedDriverWin32PnPEntity is an association class Win32_PnPSignedDriver Win32PnPEntity classes"): ToSubClass ]
|
|
class Win32_PnPSignedDriverWin32PnPEntity
|
|
{
|
|
[read: ToInstance ToSubClass, key ,
|
|
Decription("The Dependent property is a reference Win32_PnPSignedDriver"): ToSubClass ]
|
|
Win32_PnPSignedDriver ref Antecedent;
|
|
|
|
[read: ToInstance ToSubClass, key ,
|
|
Decription("The Antecedent property is a reference to Win32_PnPSignedDriver instance "): ToSubClass ]
|
|
Win32_PnEntity ref Dependent;
|
|
};*/ |