www.pudn.com > usbfx2lk_v1.1.zip > usbfx2lk.mof


/*++ 
Copyright (c) 2005  OSR, Open Systems Resources, Inc. 
Copyright (c) 1999  Microsoft Corporation 
 
Module Name: 
 
   usbfx2lk.mof 
 
Abstract: 
 
    Managed Object Format file that contains descriptions of the data blocks 
    events and methods implemented by the Nothing driver 
 
 
    Note that the classes have extra qualifiers so that they can be  
    displayed within device manager property pages using wmiprop.dll.  
    Wmiprop.dll is the generic property page provider. Note that changes  
    to your device's inf are required to enable wmiprop.dll to display  
    property pages; WmiProp.Dll must be made a class coinstaller and a  
    WmiConfigClasses registry value must be setup that includes the 
    list of classes to display as property pages. 
 
    The following qualifiers affect the display of classes within 
    a device manager property page.  
 
	DisplayName - The text that is displayed as the property page title or 
		  the text for a property element within a page. 
 
	Description - Description of the property element that is displayed on  
		  the page 
 
	Range       - Specifies the valid range for value of the property. This 
		  range is enforced by the property page provider. Multiple 
		  ranges can be given, ie  "1-7,9,11,13-54" 
 
	ValueMap/Values  - Specifies an enumeration that contains the list of  
		       valid values and the name to display for them.  
 
	Write       - Specifies that the property is writable. If the qualifier 
		  is not specified then the property page does not allow 
		  the value to be changed. 
 
	WmiDisplayInHex  - Specifies that the value of the property be displayed 
		       as a hexadecimal number. 
 
 
 
    Note that the class Nothing_Statistics will be displayed in Sysmon (Perfmon). 
 
    Don't Forget: 
        - Run guidgen.exe to generate your own guids. Do not use the guids 
          in this sample 
--*/ 
 
// 
// Define schema for performance counters to be displayed by sysmon/perfmon 
// 
// All perf counter classes must derived from Win32_PerfRawData and 
// have the hiperf qualifier. 
//  
// Each property within the class must have the following qualifiers: 
// 
//        CounterType - This defines the type of counter. See winperf.h 
//                      for more information on what values to place in this 
//                      qualifier. 
// 
//        PerfDetail  - The amount of detail supplied by the counter.  
//            PERF_DETAIL_NOVICE          100 // The uninformed can understand it 
//            PERF_DETAIL_ADVANCED        200 // For the advanced user 
//            PERF_DETAIL_EXPERT          300 // For the expert user 
//            PERF_DETAIL_WIZARD          400 // For the system designer 
// 
//        DefaultScale - Power if 10 by which to scale chart line if  
//                       vertical axis is 100. 0 ==> 1, 1 ==> 10, 
//                       -1 ==> 1/10. Used for purposes display only. 
// 
// Also property may have the following optional qualifiers 
// 
//        PerfDefault  - Denotes the property that is the default counter 
//                       as displayed by the Sysmon list box. Only one 
//                       property may have this qualifier. 
// 
//        Costly       - Indicates that the value for the property may  
//                       be costly to obtain 
//         
// 
// Only int32, uint32, int64 and uint64 properties will be displayed in sysmon 
// 
// All performance counter classes should be localizable, which means that  
// they should include ammended DisplayName and Description class and property 
// qualifiers. 
// 
 
[WMI,  
 Dynamic, 
 Provider("WmiProv"), 
 Locale("MS\\0x409"), 
 Description("Performance counter class that keeps track of the count of irps handled by the driver") : amended, 
 DisplayName("UsbFx2Lk Statistics") : amended, 
 guid("{B3D0AD21-A74C-4b69-9D03-87FEC78261D0}"), 
 PerfDetail(100), 
 HiPerf 
] 
class USBFX2LK_STATISTICS : Win32_PerfRawData 
{ 
    [key, read]  
     string InstanceName; 
    [read] boolean Active; 
 
    [WmiDataId(1), 
     DisplayName("Total Bulk Read Irp Count") : amended, 
     PerfDefault, 
     CounterType(272696576),    //    PERF_COUNTER_BULK_COUNT 
     DefaultScale(0), 
     PerfDetail(100), 
	 WmiVolatility(1000), 
     read, 
     Description("Count of Bulk Read irps received") : amended 
    ] uint32 TotalBulkReadIrpCount; 
     
    [WmiDataId(2), 
     DisplayName("Total Bulk Bytes Read") : amended, 
     PerfDefault, 
     CounterType(272696576),    //    PERF_COUNTER_BULK_COUNT 
     DefaultScale(0), 
     PerfDetail(100), 
	 WmiVolatility(1000), 
     read, 
     Description("Total Bulk Bytes Read") : amended 
    ] uint32 TotalBulkBytesRead; 
 
    [WmiDataId(3), 
     DisplayName("Total Bulk Write Irp Count") : amended, 
     PerfDefault, 
     CounterType(272696576),    //    PERF_COUNTER_BULK_COUNT 
     DefaultScale(0), 
     PerfDetail(100), 
	 WmiVolatility(1000), 
     read, 
     Description("Count of Bulk Write irps received") : amended 
    ] uint32 TotalBulkWriteIrpCount; 
 
    [WmiDataId(4), 
     DisplayName("Total Bulk Bytes Written") : amended, 
     PerfDefault, 
     CounterType(272696576),    //    PERF_COUNTER_BULK_COUNT 
     DefaultScale(0), 
     PerfDetail(100), 
	 WmiVolatility(1000), 
     read, 
     Description("Total Bulk Bytes Written") : amended 
    ] uint32 TotalBulkBytesWritten; 
 
};