////////////////////////////////////////////// // Specify namespace for v2 schema extension #pragma namespace ("\\\\.\\Root\\CIMV2") //*************************************************************************** // Diagnostics Provider (Instance & Method Provider) Registration //*************************************************************************** instance of __Win32Provider as $P { Name = "wmimap"; ClsId = "{8DD99E84-2B01-4c97-8061-2A3D08E289BB}"; }; instance of __InstanceProviderRegistration { Provider = $P; SupportsPut = TRUE; SupportsGet = TRUE; SupportsDelete = FALSE; SupportsEnumeration = TRUE; }; instance of __MethodProviderRegistration { Provider = $P; }; [Dynamic, Provider("wmimap"), WdmShadowClass("MSKeyboard_PortInformation"), DerivedClassType("Concrete") ] class FooConcrete : Win32_Keyboard { string ConnectorType; uint32 DataQueueSize; uint32 ErrorCount; uint32 FunctionKeys; }; [Dynamic, Provider("wmimap"), WdmShadowClass("MSKeyboard_PortInformation"), DerivedClassType("NonConcrete") ] class FooNonConcrete : CIM_Keyboard { [key] string InstanceName; // [FillSuperClass] string PnpDeviceId; string ConnectorType; uint32 DataQueueSize; uint32 ErrorCount; uint32 FunctionKeys; }; [Dynamic, Provider("wmimap"), WdmShadowClass("MSKeyboard_PortInformation"), CimMappingClass("Win32_Keyboard") ] class FooNoDerivation { [key] string InstanceName; string ConnectorType; uint32 DataQueueSize; uint32 ErrorCount; uint32 FunctionKeys; }; [Dynamic, Provider("wmimap"), WdmShadowClass("MSSerial_HardwareConfiguration"), CimMappingClass("Win32_SerialPort"), CimMappingProperty("DeviceId"), WdmMappingClass("MSSerial_PortName"), WdmMappingProperty("PortName"), DerivedClassType("Concrete") ] class SerialConcrete : Win32_SerialPort { uint32 IrqNumber; uint32 IrqVector; uint32 IrqLevel; uint64 IrqAffinityMask; string InterruptType; uint64 BaseIOAddress; }; [Dynamic, Provider("wmimap"), WdmShadowClass("MSStorageDriver_FailurePredictFunction"), DerivedClassType("Concrete") ] class DiskConcrete : Win32_DiskDrive { [ Implemented : ToInstance ] void GetFailurePredictionCapability([out, ValueMap{"0", "1", "2", "3"}, Value{"Not Supported", "Ioctl Based", "IDE SMART", "SCSI SMART"} : amended ] uint32 Capability); [ Implemented : ToInstance ] void AllowPerformanceHit([in] boolean Allow); };