#pragma autorecover
#pragma namespace("\\root\\cimv2\\MicrosoftHealthMonitor")

// Defines perf classes and instances to be used by the conosle to enumerate through.

instance of __Win32Provider
{
	Name				= "PerfProv" ;
	ClsId				= "{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}" ;
};	

instance of __InstanceProviderRegistration
{
	Provider 			= "__Win32Provider=\"PerfProv\"";
	SupportsPut 		= FALSE;
	SupportsGet 		= TRUE;
	SupportsDelete 		= FALSE;
	SupportsEnumeration	= TRUE;
};

[abstract]
class Win32_PerfFormattedData {
//	uint32 SampleInterval;
};

[dynamic, provider("PerfProv"), 
ClassContext("local|LogicalDisk"),
description("Perfmon MulitInstance Logical Disk Class")]
class LogicalDisk : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("% Free Space")]
		uint32 PercentFreeSpace;

	[PropertyContext("Free Megabytes")]
		uint32 FreeMegabytes;

	[PropertyContext("Current Disk Queue Length")]
		uint32 CurrentDiskQueueLength;

	[PropertyContext("% Disk Time")]
		real32 PercentDiskTime;
//		uint64 PercentDiskTime;

	[PropertyContext("Avg. Disk Queue Length")]
		real32 AvgDiskQueueLength;
//		uint64 AvgDiskQueueLength;

	[PropertyContext("% Disk Read Time")]
		uint64 PercentDiskReadTime;

	[PropertyContext("Avg. Disk Read Queue Length")]
		uint64 AvgDiskReadQueueLength;

	[PropertyContext("% Disk Write Time")]
		real32 PercentDiskWriteTime;
//		uint64 PercentDiskWriteTime;

	[PropertyContext("Avg. Disk Write Queue Length")]
		real32 AvgDiskWriteQueueLength;
//		uint64 AvgDiskWriteQueueLength;

	[PropertyContext("Avg. Disk sec/Transfer")]
		uint32 AvgDiskSecPerTransfer;

	[PropertyContext("Avg. Disk sec/Read")]
		uint32 AvgDiskSecPerRead;

	[PropertyContext("Avg. Disk sec/Write")]
		uint32 AvgDiskSecPerWrite;

	[PropertyContext("Disk Transfers/sec")]
		uint32 DiskTransfersPerSec;

	[PropertyContext("Disk Reads/sec")]
		uint32 DiskReadsPerSec;

	[PropertyContext("Disk Writes/sec")]
		uint32 DiskWritesPerSec;

	[PropertyContext("Disk Bytes/sec")]
		real32 DiskBytesPerSec;
//		uint64 DiskBytesPerSec;

	[PropertyContext("Disk Read Bytes/sec")]
		uint64 DiskReadBytesPerSec;

	[PropertyContext("Disk Write Bytes/sec")]
		real32 DiskWriteBytesPerSec;
//		uint64 DiskWriteBytesPerSec;

	[PropertyContext("Avg. Disk Bytes/Transfer")]
		real32 AvgDiskBytesPerTransfer;
//		uint64 AvgDiskBytesPerTransfer;

	[PropertyContext("Avg. Disk Bytes/Read")]
		uint64 AvgDiskBytesPerRead;

	[PropertyContext("Avg. Disk Bytes/Write")]
		real32 AvgDiskBytesPerWrite;
//		uint64 AvgDiskBytesPerWrite;

	[PropertyContext("% Idle Time")]
		real32 PercentIdleTime;
//		uint64 PercentIdleTime;

	[PropertyContext("Split IO/Sec")]
		real32 SplitIOPerSec;
//		uint32 SplitIOPerSec;
};

[dynamic, provider("PerfProv"), 
ClassContext("local|PhysicalDisk"),
description("Perfmon MultiInstance Physical Disk Class")]
class PhysicalDisk : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("Current Disk Queue Length")]
		uint32 CurrentDiskQueueLength;

	[PropertyContext("% Disk Time")]
		real32 PercentDiskTime;
//		uint64 PercentDiskTime;

	[PropertyContext("Avg. Disk Queue Length")]
		real32 AvgDiskQueueLength;
//		uint64 AvgDiskQueueLength;

	[PropertyContext("% Disk Read Time")]
		real32 PercentDiskReadTime;
//		uint64 PercentDiskReadTime;

	[PropertyContext("Avg. Disk Read Queue Length")]
		uint64 AvgDiskReadQueueLength;

	[PropertyContext("% Disk Write Time")]
		uint64 PercentDiskWriteTime;

	[PropertyContext("Avg. Disk Write Queue Length")]
		real32 AvgDiskWriteQueueLength;
//		uint64 AvgDiskWriteQueueLength;

	[PropertyContext("Avg. Disk sec/Transfer")]
		uint32 AvgDiskSecPerTransfer;

	[PropertyContext("Avg. Disk sec/Read")]
		uint32 AvgDiskSecPerRead;

	[PropertyContext("Avg. Disk sec/Write")]
		uint32 AvgDiskSecPerWrite;

	[PropertyContext("Disk Transfers/sec")]
		uint32 DiskTransfersPerSec;

	[PropertyContext("Disk Reads/sec")]
		uint32 DiskReadsPerSec;

	[PropertyContext("Disk Writes/sec")]
		uint32 DiskWritesPerSec;

	[PropertyContext("Disk Bytes/sec")]
		real32 DiskBytesPerSec;
//		uint64 DiskBytesPerSec;

	[PropertyContext("Disk Read Bytes/sec")]
		uint64 DiskReadBytesPerSec;

	[PropertyContext("Disk Write Bytes/sec")]
		real32 DiskWriteBytesPerSec;
//		uint64 DiskWriteBytesPerSec;

	[PropertyContext("Avg. Disk Bytes/Transfer")]
		uint64 AvgDiskBytesPerTransfer;

	[PropertyContext("Avg. Disk Bytes/Read")]
		uint64 AvgDiskBytesPerRead;

	[PropertyContext("Avg. Disk Bytes/Write")]
		uint64 AvgDiskBytesPerWrite;

	[PropertyContext("% Idle Time")]
		real32 PercentIdleTime;
//		uint64 PercentIdleTime;

	[PropertyContext("Split IO/Sec")]
		real32 SplitIOPerSec;
//		uint32 SplitIOPerSec;

};

[dynamic, provider("PerfProv"), 
ClassContext("local|Paging File"),
description("Perfmon Paging File Class")]
class PagingFile : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("% Usage|_Total")]
		real32 PercentUsage;

	[PropertyContext("% Usage Peak|_Total")]
		real32 PercentUsagePeak;
};

[dynamic, provider("PerfProv"), 
ClassContext("local|Network Interface"),
description("Perfmon Network Interface Class")]
class NetworkInterface : Win32_PerfFormattedData
{
	[key] string name;

//	uint64	Timestamp;

	[PropertyContext("Bytes Total/sec")]
		uint32 BytesTotalPerSec;

	[PropertyContext("Packets/sec")]
		uint32 PacketsPerSec;

	[PropertyContext("Packets Received/sec")]
		uint32 PacketsReceivedPerSec;

	[PropertyContext("Packets Sent/sec")]
		uint32 PacketsSentPerSec;

	[PropertyContext("Current Bandwidth")]
		uint32 CurrentBandwidth;

	[PropertyContext("Bytes Received/sec")]
		uint32 BytesReceivedPerSec;

	[PropertyContext("Packets Received Unicast/sec")]
		uint32 PacketsReceivedUnicastPerSec;

	[PropertyContext("Packets Received Non-Unicast/sec")]
		uint32 PacketsReceivedNonUnicastPerSec;

	[PropertyContext("Packets Received Discarded")]
		uint32 PacketsReceivedDiscarded;

	[PropertyContext("Packets Received Errors")]
		uint32 PacketsReceivedErrors;

	[PropertyContext("Packets Received Unknown")]
		uint32 PacketsReceivedUnknown;

	[PropertyContext("Bytes Sent/sec")]
		uint32 BytesSentPerSec;

	[PropertyContext("Packets Sent Unicast/sec")]
		uint32 PacketsSentUnicastPerSec;

	[PropertyContext("Packets Sent Non-Unicast/sec")]
		uint32 PacketsSentNonUnicastPerSec;

	[PropertyContext("Packets Outbound Discarded")]
		uint32 PacketsOutboundDiscarded;

	[PropertyContext("Packets Outbound Errors")]
		uint32 PacketsOutboundErrors;

	[PropertyContext("Output Queue Length")]
		uint32 OutputQueueLength;

};

[dynamic, provider("PerfProv"), 
ClassContext("local|Process"),
description("Perfmon Process Class")]
class Process : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("% Processor Time")]
		real32 PercentProcessorTime;
//		uint64 PercentProcessorTime;

	[PropertyContext("% User Time")]
		real32 PercentUserTime;
//		uint64 PercentUserTime;

	[PropertyContext("% Privileged Time")]
		real32 PercentPrivilegedTime;
//		uint64 PercentPrivilegedTime;

	[PropertyContext("Virtual Bytes Peak")]
		real32 VirtualBytesPeak;
//		uint64 VirtualBytesPeak;

	[PropertyContext("Virtual Bytes")]
		real32 VirtualBytes;
//		uint64 VirtualBytes;

	[PropertyContext("Page Faults/sec")]
		real32 PageFaultsPerSec;
//		uint32 PageFaultsPerSec;

	[PropertyContext("Working Set Peak")]
		real32 WorkingSetPeak;
//		uint32 WorkingSetPeak;

	[PropertyContext("Working Set")]
		real32 WorkingSet;
//		uint32 WorkingSet;

	[PropertyContext("Page File Bytes Peak")]
		real32 PageFileBytesPeak;
//		uint64 PageFileBytesPeak;

	[PropertyContext("Page File Bytes")]
		real32 PageFileBytes;
//		uint64 PageFileBytes;

	[PropertyContext("Private Bytes")]
		real32 PrivateBytes;
//		uint64 PrivateBytes;

	[PropertyContext("Thread Count")]
		real32 ThreadCount;
//		uint32 ThreadCount;

	[PropertyContext("Priority Base")]
		real32 PriorityBase;
//		uint32 PriorityBase;

	[PropertyContext("Elapsed Time")]
		real32 ElapsedTime;
//		uint64 ElapsedTime;

	[PropertyContext("ID Process")]
		real32 IDProcess;
//		uint32 IDProcess;

	[PropertyContext("Creating Process ID")]
		real32 CreatingProcessID;
//		uint32 CreatingProcessID;

	[PropertyContext("Pool Paged Bytes")]
		real32 PoolPagedBytes;
//		uint32 PoolPagedBytes;

	[PropertyContext("Pool Nonpaged Bytes")]
		real32 PoolNonpagedBytes;
//		uint32 PoolNonpagedBytes;

	[PropertyContext("Handle Count")]
		real32 HandleCount;
//		uint32 HandleCount;

	[PropertyContext("IO Read Operations/sec")]
		real32 IOReadOperationsPerSec;
//		uint64 IOReadOperationsPerSec;

	[PropertyContext("IO Write Operations/sec")]
		real32 IOWriteOperationsPerSec;
//		uint64 IOWriteOperationsPerSec;

	[PropertyContext("IO Data Operations/sec")]
		real32 IODataOperationsPerSec;
//		uint64 IODataOperationsPerSec;

	[PropertyContext("IO Other Operations/sec")]
		real32 IOOtherOperationsPerSec;
//		uint64 IOOtherOperationsPerSec;

	[PropertyContext("IO Read Bytes/sec")]
		real32 IOReadBytesPerSec;
//		uint64 IOReadBytesPerSec;

	[PropertyContext("IO Write Bytes/sec")]
		real32 IOWriteBytesPerSec;
//		uint64 IOWriteBytesPerSec;

	[PropertyContext("IO Data Bytes/sec")]
		real32 IODataBytesPerSec;
//		uint64 IODataBytesPerSec;

	[PropertyContext("IO Other Bytes/sec")]
		real32 IOOtherBytesPerSec;
//		uint64 IOOtherBytesPerSec;
};

[dynamic, provider("PerfProv"), 
ClassContext("local|Thread"),
description("Perfmon Thread Class")]
class Thread : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("% Processor Time")]
		uint64 PercentProcessorTime;

	[PropertyContext("% User Time")]
		uint64 PercentUserTime;

	[PropertyContext("% Privileged Time")]
		uint64 PercentPrivilegedTime;

	[PropertyContext("Context Switches/sec")]
		uint32 ContextSwitchesPerSec;

	[PropertyContext("Elapsed Time")]
		real32 ElapsedTime;
//		uint64 ElapsedTime;

	[PropertyContext("Priority Current")]
		uint32 PriorityCurrent;

	[PropertyContext("Priority Base")]
		uint32 PriorityBase;

	[PropertyContext("Start Address")]
		uint32 StartAddress;

	[PropertyContext("Thread State")]
		uint32 ThreadState;

	[PropertyContext("Thread Wait Reason")]
		uint32 ThreadWaitReason;

	[PropertyContext("ID Process")]
		uint32 IDProcess;

	[PropertyContext("ID Thread")]
		uint32 IDThread;
};

[dynamic, provider("PerfProv"), 
ClassContext("local|NBT Connection"),
description("Perfmon NBT Connection Class")]
class NBTConnection : Win32_PerfFormattedData
{
	[key] string name;

//	uint64 Timestamp;

	[PropertyContext("Bytes Received/sec")]
		uint64 BytesReceivedPerSec;

	[PropertyContext("Bytes Sent/sec")]
		uint64 BytesSentPerSec;

	[PropertyContext("Bytes Total/sec")]
		uint64 BytesTotalPerSec;

};

[dynamic, provider("PerfProv"), 
ClassContext("local|Redirector"),
description("Perfmon Redirector Class")]
class Redirector : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("Bytes Total/sec")]
		uint64 BytesTotalPerSec;

	[PropertyContext("Packets/sec")]
		uint64 PacketsPerSec;

	[PropertyContext("File Data Operations/sec")]
		uint32 FileDataOperationsPerSec;

	[PropertyContext("Bytes Received/sec")]
		uint64 BytesReceivedPerSec;

	[PropertyContext("Packets Received/sec")]
		uint64 PacketsReceivedPerSec;

	[PropertyContext("Read Bytes Paging/sec")]
		uint64 ReadBytesPagingPerSec;

	[PropertyContext("Read Bytes Non-Paging/sec")]
		uint64 ReadBytesNonPagingPerSec;

	[PropertyContext("Read Bytes Cache/sec")]
		uint64 ReadBytesCachePerSec;

	[PropertyContext("Read Bytes Network/sec")]
		uint64 ReadBytesNetworkPerSec;

	[PropertyContext("Bytes Transmitted/sec")]
		uint64 BytesTransmittedPerSec;

	[PropertyContext("Packets Transmitted/sec")]
		uint64 PacketsTransmittedPerSec;

	[PropertyContext("Write Bytes Paging/sec")]
		uint64 WriteBytesPagingPerSec;

	[PropertyContext("Write Bytes Non-Paging/sec")]
		uint64 WriteBytesNonPagingPerSec;

	[PropertyContext("Write Bytes Cache/sec")]
		uint64 WriteBytesCachePerSec;

	[PropertyContext("Write Bytes Network/sec")]
		uint64 WriteBytesNetworkPerSec;

	[PropertyContext("File Read Operations/sec")]
		uint32 FileReadOperationsPerSec;

	[PropertyContext("Read Operations Random/sec")]
		uint32 ReadOperationsRandomPerSec;

	[PropertyContext("Read Packets/sec")]
		uint32 ReadPacketsPerSec;

	[PropertyContext("Reads Large/sec")]
		uint32 ReadsLargePerSec;

	[PropertyContext("Read Packets Small/sec")]
		uint32 ReadPacketsSmallPerSec;

	[PropertyContext("File Write Operations/sec")]
		uint32 FileWriteOperationsPerSec;

	[PropertyContext("Write Operations Random/sec")]
		uint32 WriteOperationsRandomPerSec;

	[PropertyContext("Write Packets/sec")]
		uint32 WritePacketsPerSec;

	[PropertyContext("Writes Large/sec")]
		uint32 WritesLargePerSec;

	[PropertyContext("Write Packets Small/sec")]
		uint32 WritePacketsSmallPerSec;

	[PropertyContext("Reads Denied/sec")]
		uint32 ReadsDeniedPerSec;

	[PropertyContext("Writes Denied/sec")]
		uint32 WritesDeniedPerSec;

	[PropertyContext("Network Errors/sec")]
		uint32 NetworkErrorsPerSec;

	[PropertyContext("Server Sessions")]
		uint32 ServerSessions;

	[PropertyContext("Server Reconnects")]
		uint32 ServerReconnects;

	[PropertyContext("Connects Core")]
		uint32 ConnectsCore;

	[PropertyContext("Connects Lan Manager 2.0")]
		uint32 ConnectsLanManager20;

	[PropertyContext("Connects Lan Manager 2.1")]
		uint32 ConnectsLanManager21;

	[PropertyContext("Connects Windows NT")]
		uint32 ConnectsWindowsNT;

	[PropertyContext("Server Disconnects")]
		uint32 ServerDisconnects;

	[PropertyContext("Server Sessions Hung")]
		uint32 ServerSessionsHung;

	[PropertyContext("Current Commands")]
		uint32 CurrentCommands;
};

[dynamic, provider("PerfProv"), 
ClassContext("local|Browser"),
description("Perfmon Browser Class")]
class Browser : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("Announcements Server/sec")]
		uint64 AnnouncementsServerPerSec;

	[PropertyContext("Announcements Domain/sec")]
		uint64 AnnouncementsDomainPerSec;

	[PropertyContext("Announcements Total/sec")]
		uint64 AnnouncementsTotalPerSec;

	[PropertyContext("Election Packets/sec")]
		uint32 ElectionPacketsPerSec;

	[PropertyContext("Mailslot Writes/sec")]
		uint32 MailslotWritesPerSec;

	[PropertyContext("Server List Requests/sec")]
		uint32 ServerListRequestsPerSec;

	[PropertyContext("Enumerations Server/sec")]
		uint32 EnumerationsServerPerSec;

	[PropertyContext("Enumerations Domain/sec")]
		uint32 EnumerationsDomainPerSec;

	[PropertyContext("Enumerations Other/sec")]
		uint32 EnumerationsOtherPerSec;

	[PropertyContext("Enumerations Total/sec")]
		uint32 EnumerationsTotalPerSec;

	[PropertyContext("Missed Server Announcements")]
		uint32 MissedServerAnnouncements;

	[PropertyContext("Missed Mailslot Datagrams")]
		uint32 MissedMailslotDatagrams;

	[PropertyContext("Missed Server List Requests")]
		uint32 MissedServerListRequests;

	[PropertyContext("Server Announce Allocations Failed/sec")]
		uint32 ServerAnnounceAllocationsFailedPerSec;

	[PropertyContext("Mailslot Allocations Failed")]
		uint32 MailslotAllocationsFailed;

	[PropertyContext("Mailslot Receives Failed")]
		uint32 MailslotReceivesFailed;

	[PropertyContext("Mailslot Writes Failed")]
		uint32 MailslotWritesFailed;

	[PropertyContext("Mailslot Opens Failed/sec")]
		uint32 MailslotOpensFailedPerSec;

	[PropertyContext("Duplicate Master Announcements")]
		uint32 DuplicateMasterAnnouncements;

	[PropertyContext("Illegal Datagrams/sec")]
		uint64 IllegalDatagramsPerSec;
};

[dynamic, provider("PerfProv"), 
ClassContext("local|Server"),
description("Perfmon Server Class")]
class Server : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("Bytes Total/sec")]
		uint64 BytesTotalPerSec;

	[PropertyContext("Bytes Received/sec")]
		uint64 BytesReceivedPerSec;

	[PropertyContext("Bytes Transmitted/sec")]
		uint64 BytesTransmittedPerSec;

	[PropertyContext("Sessions Timed Out")]
		uint32 SessionsTimedOut;

	[PropertyContext("Sessions Errored Out")]
		uint32 SessionsErroredOut;

	[PropertyContext("Sessions Logged Off")]
		uint32 SessionsLoggedOff;

	[PropertyContext("Sessions Forced Off")]
		uint32 SessionsForcedOff;

	[PropertyContext("Errors Logon")]
		uint32 ErrorsLogon;

	[PropertyContext("Errors Access Permissions")]
		uint32 ErrorsAccessPermissions;

	[PropertyContext("Errors Granted Access")]
		uint32 ErrorsGrantedAccess;

	[PropertyContext("Errors System")]
		uint32 ErrorsSystem;

	[PropertyContext("Blocking Requests Rejected")]
		uint32 BlockingRequestsRejected;

	[PropertyContext("Work Item Shortages")]
		uint32 WorkItemShortages;

	[PropertyContext("Files Opened Total")]
		uint32 FilesOpenedTotal;

	[PropertyContext("Files Open")]
		uint32 FilesOpen;

	[PropertyContext("Server Sessions")]
		uint32 ServerSessions;

	[PropertyContext("File Directory Searches")]
		uint32 FileDirectorySearches;

	[PropertyContext("Pool Nonpaged Bytes")]
		uint32 PoolNonpagedBytes;

	[PropertyContext("Pool Nonpaged Failures")]
		uint32 PoolNonpagedFailures;

	[PropertyContext("Pool Nonpaged Peak")]
		uint32 PoolNonpagedPeak;

	[PropertyContext("Pool Paged Bytes")]
		uint32 PoolPagedBytes;

	[PropertyContext("Pool Paged Failures")]
		uint32 PoolPagedFailures;

	[PropertyContext("Pool Paged Peak")]
		uint32 PoolPagedPeak;

	[PropertyContext("Context Blocks Queued/sec")]
		uint32 ContextBlocksQueuedPerSec;

	[PropertyContext("Logon/sec")]
		uint32 LogonPerSec;

	[PropertyContext("Logon Total")]
		uint32 LogonTotal;
};

[dynamic, provider("PerfProv"), 
ClassContext("local|Server Work Queues"),
description("Perfmon Server Work Queues Class")]
class ServerWorkQueues  : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("Queue Length")]
		uint32 QueueLength;

	[PropertyContext("Active Threads")]
		uint32 ActiveThreads;

	[PropertyContext("Available Threads")]
		uint32 AvailableThreads;

	[PropertyContext("Available Work Items")]
		uint32 AvailableWorkItems;

	[PropertyContext("Borrowed Work Items")]
		uint32 BorrowedWorkItems;

	[PropertyContext("Work Item Shortages")]
		uint32 WorkItemShortages;

	[PropertyContext("Current Clients")]
		uint32 CurrentClients;

	[PropertyContext("Bytes Received/sec")]
		uint64 BytesReceivedPerSec;

	[PropertyContext("Bytes Sent/sec")]
		uint64 BytesSentPerSec;

	[PropertyContext("Bytes Transferred/sec")]
		uint64 BytesTransferredPerSec;

	[PropertyContext("Read Operations/sec")]
		uint64 ReadOperationsPerSec;

	[PropertyContext("Read Bytes/sec")]
		uint64 ReadBytesPerSec;

	[PropertyContext("Write Operations/sec")]
		uint64 WriteOperationsPerSec;

	[PropertyContext("Write Bytes/sec")]
		uint64 WriteBytesPerSec;

	[PropertyContext("Total Bytes/sec")]
		uint64 TotalBytesPerSec;

	[PropertyContext("Total Operations/sec")]
		uint64 TotalOperationsPerSec;

	[PropertyContext("Context Blocks Queued/sec")]
		uint32 ContextBlocksQueuedPerSec;
};

[dynamic, provider("PerfProv"), 
ClassContext("local|Cache"),
description("Perfmon Cache Class")]
class Cache  : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("Data Maps/sec")]
		uint32 DataMapsPerSec;

	[PropertyContext("Sync Data Maps/sec")]
		uint32 SyncDataMapsPerSec;

	[PropertyContext("Async Data Maps/sec")]
		uint32 AsyncDataMapsPerSec;

	[PropertyContext("Data Map Hits %")]
		uint32 DataMapHitsPercent;

	[PropertyContext("Data Map Pins/sec")]
		uint32 DataMapPinsPerSec;

	[PropertyContext("Pin Reads/sec")]
		uint32 PinReadsPerSec;

	[PropertyContext("Sync Pin Reads/sec")]
		uint32 SyncPinReadsPerSec;

	[PropertyContext("Async Pin Reads/sec")]
		uint32 AsyncPinReadsPerSec;

	[PropertyContext("Pin Read Hits %")]
		uint32 PinReadHitsPercent;

	[PropertyContext("Copy Reads/sec")]
		uint32 CopyReadsPerSec;

	[PropertyContext("Sync Copy Reads/sec")]
		uint32 SyncCopyReadsPerSec;

	[PropertyContext("Async Copy Reads/sec")]
		uint32 AsyncCopyReadsPerSec;

	[PropertyContext("Copy Read Hits %")]
		uint32 CopyReadHitsPercent;

	[PropertyContext("MDL Reads/sec")]
		uint32 MDLReadsPerSec;

	[PropertyContext("Sync MDL Reads/sec")]
		uint32 SyncMDLReadsPerSec;

	[PropertyContext("Async MDL Reads/sec")]
		uint32 AsyncMDLReadsPerSec;

	[PropertyContext("MDL Read Hits %")]
		uint32 MDLReadHitsPercent;

	[PropertyContext("Read Aheads/sec")]
		uint32 ReadAheadsPerSec;

	[PropertyContext("Fast Reads/sec")]
		uint32 FastReadsPerSec;

	[PropertyContext("Sync Fast Reads/sec")]
		uint32 SyncFastReadsPerSec;

	[PropertyContext("Async Fast Reads/sec")]
		uint32 AsyncFastReadsPerSec;

	[PropertyContext("Fast Read Resource Misses/sec")]
		uint32 FastReadResourceMissesPerSec;

	[PropertyContext("Fast Read Not Possibles/sec")]
		uint32 FastReadNotPossiblesPerSec;

	[PropertyContext("Lazy Write Flushes/sec")]
		uint32 LazyWriteFlushesPerSec;

	[PropertyContext("Lazy Write Pages/sec")]
		uint32 LazyWritePagesPerSec;

	[PropertyContext("Data Flushes/sec")]
		uint32 DataFlushesPerSec;

	[PropertyContext("Data Flush Pages/sec")]
		uint32 DataFlushPagesPerSec;
};


[dynamic, provider("PerfProv"), 
ClassContext("local|Processor"),
description("Perfmon MultiInstance Processor Class")]
class Processor : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("% Processor Time")]
		real32 PercentProcessorTime;
//		uint64 PercentProcessorTime;

	[PropertyContext("% User Time")]
		real32 PercentUserTime;
//		uint64 PercentUserTime;

	[PropertyContext("% Privileged Time")]
		real32 PercentPrivilegedTime;
//		uint64 PercentPrivilegedTime;

	[PropertyContext("Interrupts/sec")]
		uint32 InterruptsPerSec;

	[PropertyContext("% DPC Time")]
		real32 PercentDPCTime;
//		uint64 PercentDPCTime;

	[PropertyContext("% Interrupt Time")]
		uint64 PercentInterruptTime;

	[PropertyContext("DPCs Queued/sec")]
		uint32 DPCsQueuedPerSec;

	[PropertyContext("DPC Rate")]
		uint32 DPCRate;

	[PropertyContext("DPC Bypasses/sec")]
		uint32 DPCBypassesPerSec;

	[PropertyContext("APC Bypasses/sec")]
		uint32 APCBypassesPerSec;
};



[dynamic, provider("PerfProv"), 
ClassContext("local|Memory"),
description("Perfmon Memory Class")]
class Memory : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("Page Faults/sec")]
		uint32 PageFaultsPerSec;

	[PropertyContext("Available Bytes")]
		real32 AvailableBytes;
//		uint64 AvailableBytes;

	[PropertyContext("Committed Bytes")]
		real32 CommittedBytes;
//		uint64 CommittedBytes;

	[PropertyContext("Commit Limit")]
		real32 CommitLimit;
//		uint64 CommittedBytes;

	[PropertyContext("Write Copies/sec")]
		uint32 WriteCopiesPerSec;

	[PropertyContext("Transition Faults/sec")]
		uint32 TransitionFaultsPerSec;

	[PropertyContext("Cache Faults/sec")]
		uint32 CacheFaultsPerSec;

	[PropertyContext("Demand Zero Faults/sec")]
		uint32 DemandZeroFaultsPerSec;

	[PropertyContext("Pages/sec")]
		uint32 PagesPerSec;

	[PropertyContext("Pages Input/sec")]
		uint32 PagesInputPerSec;

	[PropertyContext("Page Reads/sec")]
		uint32 PageReadsPerSec;

	[PropertyContext("Pages Output/sec")]
		uint32 PagesOutputPerSec;

	[PropertyContext("Pool Paged Bytes")]
		real32 PoolPagedBytes;
//		uint64 PoolPagedBytes;

	[PropertyContext("Pool Nonpaged Bytes")]
		uint64 PoolNonpagedBytes;

	[PropertyContext("Page Writes/sec")]
		uint32 PageWritesPerSec;

	[PropertyContext("Pool Paged Allocs")]
		uint32 PoolPagedAllocs;

	[PropertyContext("Pool Nonpaged Allocs")]
		uint32 PoolNonpagedAllocs;

	[PropertyContext("Free System Page Table Entries")]
		uint32 FreeSystemPageTableEntries;

	[PropertyContext("Cache Bytes")]
		real32 CacheBytes;
//		uint64 CacheBytes;

	[PropertyContext("Cache Bytes Peak")]
		real32 CacheBytesPeak;
//		uint64 CacheBytes;

	[PropertyContext("Pool Paged Resident Bytes")]
		real32 PoolPagedResidentBytes;
//		uint64 PoolPagedResidentBytes;

	[PropertyContext("System Code Total Bytes")]
		uint64 SystemCodeTotalBytes;

	[PropertyContext("System Code Resident Bytes")]
		uint64 SystemCodeResidentBytes;

	[PropertyContext("System Driver Total Bytes")]
		uint64 SystemDriverTotalBytes;

	[PropertyContext("System Driver Resident Bytes")]
		uint64 SystemDriverResidentBytes;

	[PropertyContext("System Cache Resident Bytes")]
		uint64 SystemCacheResidentBytes;

	[PropertyContext("% Committed Bytes In Use")]
		uint32 PercentCommittedBytesInUse;

	[PropertyContext("% Committed Bytes In Use")]
		uint32 PercentCommittedBytesInUse_Base;

	[PropertyContext("System VLM Commit Charge")]
		real32 SystemVLMCommitCharge;
//		uint64 SystemVLMCommitCharge;

	[PropertyContext("System VLM Commit Charge Peak")]
		real32 SystemVLMCommitChargePeak;
//		uint64 SystemVLMCommitCharge;

	[PropertyContext("System VLM Shared Commit Charge")]
		real32 SystemVLMSharedCommitCharge;
//		uint64 SystemVLMCommitCharge;
};



[dynamic, provider("PerfProv"), 
ClassContext("local|Objects"),
description("Perfmon Objects Class")]
class Objects : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("Processes")]
		uint32 Processes;

	[PropertyContext("Threads")]
		uint32 Threads;

	[PropertyContext("Events")]
		uint32 Events;

	[PropertyContext("Semaphores")]
		uint32 Semaphores;

	[PropertyContext("Mutexes")]
		uint32 Mutexes;

	[PropertyContext("Sections")]
		uint32 Sections;
};


[dynamic, provider("PerfProv"), 
ClassContext("local|System"),
description("Perfmon System Class")]
class System : Win32_PerfFormattedData
{
	[key] string name;

	[PropertyContext("File Read Operations/sec")]
		uint32 FileReadOperationsPerSec;

	[PropertyContext("File Write Operations/sec")]
		uint32 FileWriteOperationsPerSec;

	[PropertyContext("File Control Operations/sec")]
		uint32 FileControlOperationsPerSec;

	[PropertyContext("File Read Bytes/sec")]
		real32 FileReadBytesPerSec;
//		uint64 FileReadBytesPerSec;

	[PropertyContext("File Write Bytes/sec")]
		uint64 FileWriteBytesPerSec;

	[PropertyContext("File Control Bytes/sec")]
		real32 FileControlBytesPerSec;
//		uint64 FileControlBytesPerSec;

	[PropertyContext("Context Switches/sec")]
		uint32 ContextSwitchesPerSec;

	[PropertyContext("System Calls/sec")]
		uint32 SystemCallsPerSec;

	[PropertyContext("File Data Operations/sec")]
		uint32 FileDataOperationsPerSec;

	[PropertyContext("System Up Time")]
		real32 SystemUpTime;
//		uint64 SystemUpTime;

	[PropertyContext("Processor Queue Length")]
		uint32 ProcessorQueueLength;

	[PropertyContext("Processes")]
		real32 Processes;
//		uint32 Processes;

	[PropertyContext("Threads")]
		real32 Threads;
//		uint32 Threads;

	[PropertyContext("Alignment Fixups/sec")]
		uint32 AlignmentFixupsPerSec;

	[PropertyContext("Exception Dispatches/sec")]
		uint32 ExceptionDispatchesPerSec;

	[PropertyContext("Floating Emulations/sec")]
		uint32 FloatingEmulationsPerSec;

	[PropertyContext("% Registry Quota In Use")]
		uint32 PercentRegistryQuotaInUse;

	[PropertyContext("% Registry Quota In Use")]
		uint32 PercentRegistryQuotaInUse_Base;
};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|Active Server Pages")]
Class ActiveServerPages : Win32_PerfFormattedData 
{
	[PropertyContext("Debugging Requests")]
		REAL64 DebuggingRequests;

	[PropertyContext("Errors During Script Runtime")]
		REAL64 ErrorsDuringScriptRuntime;

	[PropertyContext("Errors From ASP Preprocessor")]
		REAL64 ErrorsFromASPPreprocessor;

	[PropertyContext("Errors From Script Compilers")]
		REAL64 ErrorsFromScriptCompilers;

	[PropertyContext("Errors/Sec")]
		REAL64 ErrorsSec;

	[PropertyContext("Request Bytes In Total")]
		REAL64 RequestBytesInTotal;

	[PropertyContext("Request Bytes Out Total")]
		REAL64 RequestBytesOutTotal;

	[PropertyContext("Request Execution Time")]
		REAL64 RequestExecutionTime;

	[PropertyContext("Request Wait Time")]
		REAL64 RequestWaitTime;

	[PropertyContext("Requests Disconnected")]
		REAL64 RequestsDisconnected;

	[PropertyContext("Requests Executing")]
		REAL64 RequestsExecuting;

	[PropertyContext("Requests Failed Total")]
		REAL64 RequestsFailedTotal;

	[PropertyContext("Requests Not Authorized")]
		REAL64 RequestsNotAuthorized;

	[PropertyContext("Requests Not Found")]
		REAL64 RequestsNotFound;

	[PropertyContext("Requests Queued")]
		REAL64 RequestsQueued;

	[PropertyContext("Requests Rejected")]
		REAL64 RequestsRejected;

	[PropertyContext("Requests Succeeded")]
		REAL64 RequestsSucceeded;

	[PropertyContext("Requests Timed Out")]
		REAL64 RequestsTimedOut;

	[PropertyContext("Requests Total")]
		REAL64 RequestsTotal;

	[PropertyContext("Requests/Sec")]
		REAL64 RequestsSec;

	[PropertyContext("Script Engines Cached")]
		REAL64 ScriptEnginesCached;

	[PropertyContext("Session Duration")]
		REAL64 SessionDuration;

	[PropertyContext("Sessions Current")]
		REAL64 SessionsCurrent;

	[PropertyContext("Sessions Timed Out")]
		REAL64 SessionsTimedOut;

	[PropertyContext("Sessions Total")]
		REAL64 SessionsTotal;

	[PropertyContext("Templates Cached")]
		REAL64 TemplatesCached;

	[PropertyContext("Template Cache Hit Rate")]
		REAL64 TemplateCacheHitRate;

	[PropertyContext("Template Notifications")]
		REAL64 TemplateNotifications;

	[PropertyContext("Transactions Aborted")]
		REAL64 TransactionsAborted;

	[PropertyContext("Transactions Committed")]
		REAL64 TransactionsCommitted;

	[PropertyContext("Transactions Pending")]
		REAL64 TransactionsPending;

	[PropertyContext("Transactions Total")]
		REAL64 TransactionsTotal;

	[PropertyContext("Transactions/Sec")]
		REAL64 TransactionsSec;

};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|Indexing Service Filter")
]
Class IndexingServiceFilter : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Total indexing speed (MB/hr)")
]
	REAL64 TotalindexingspeedMBhr;
[read,
	CounterType(0x00010000),
	PropertyContext("Binding time (msec)")
]
	REAL64 Bindingtimemsec;
[read,
	CounterType(0x00010000),
	PropertyContext("Indexing speed (MB/hr)")
]
	REAL64 IndexingspeedMBhr;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|Indexing Service")
]
Class IndexingService : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Word lists")
]
	REAL64 Wordlists;
[read,
	CounterType(0x00010000),
	PropertyContext("Saved indexes")
]
	REAL64 Savedindexes;
[read,
	CounterType(0x00010000),
	PropertyContext("Index size (MB)")
]
	REAL64 IndexsizeMB;
[read,
	CounterType(0x00010000),
	PropertyContext("Files to be indexed")
]
	REAL64 Filestobeindexed;
[read,
	CounterType(0x00010000),
	PropertyContext("Unique keys")
]
	REAL64 Uniquekeys;
[read,
	CounterType(0x00010000),
	PropertyContext("Running queries")
]
	REAL64 Runningqueries;
[read,
	CounterType(0x00010000),
	PropertyContext("Merge progress")
]
	REAL64 Mergeprogress;
[read,
	CounterType(0x00010000),
	PropertyContext("# documents indexed")
]
	REAL64 xdocumentsindexed;
[read,
	CounterType(0x00010000),
	PropertyContext("Total # documents")
]
	REAL64 Totaldocuments;
[read,
	CounterType(0x00010000),
	PropertyContext("Total # of queries")
]
	REAL64 Totalofqueries;
[read,
	CounterType(0x00010000),
	PropertyContext("Deferred for indexing")
]
	REAL64 Deferredforindexing;
};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|IAS Authentication Server")]
Class IASAuthenticationServer : Win32_PerfFormattedData 
{
	[PropertyContext("Server Up Time")]
		REAL64 ServerUpTime;

	[PropertyContext("Server Reset Time")]
		REAL64 ServerResetTime;

	[PropertyContext("Invalid Requests")]
		REAL64 InvalidRequests;

	[PropertyContext("Invalid Requests / sec.")]
		REAL64 InvalidRequestssec;

	[PropertyContext("Malformed Packets")]
		REAL64 MalformedPackets;

	[PropertyContext("Bad Authenticators")]
		REAL64 BadAuthenticators;

	[PropertyContext("Dropped Packets")]
		REAL64 DroppedPackets;

	[PropertyContext("Unknown Type")]
		REAL64 UnknownType;

	[PropertyContext("Access-Requests")]
		REAL64 AccessRequests;

	[PropertyContext("Duplicate Access-Requests")]
		REAL64 DuplicateAccessRequests;

	[PropertyContext("Access-Accepts")]
		REAL64 AccessAccepts;

	[PropertyContext("Access-Rejects")]
		REAL64 AccessRejects;

	[PropertyContext("Access-Challenges")]
		REAL64 AccessChallenges;

	[PropertyContext("Packets Received")]
		REAL64 PacketsReceived;

	[PropertyContext("Packets Sent")]
		REAL64 PacketsSent;

	[PropertyContext("Malformed Packets / sec.")]
		REAL64 MalformedPacketssec;

	[PropertyContext("Bad Authenticators / sec.")]
		REAL64 BadAuthenticatorssec;

	[PropertyContext("Dropped Packets / sec.")]
		REAL64 DroppedPacketssec;

	[PropertyContext("Unknown Type / sec.")]
		REAL64 UnknownTypesec;

	[PropertyContext("Access-Requests / sec.")]
		REAL64 AccessRequestssec;

	[PropertyContext("Duplicate Access-Requests / sec.")]
		REAL64 DuplicateAccessRequestssec;

	[PropertyContext("Access-Accepts / sec.")]
		REAL64 AccessAcceptssec;

	[PropertyContext("Access-Rejects / sec.")]
		REAL64 AccessRejectssec;

	[PropertyContext("Access-Challenges / sec.")]
		REAL64 AccessChallengessec;

	[PropertyContext("Packets Received / sec.")]
		REAL64 PacketsReceivedsec;

	[PropertyContext("Packets Sent / sec.")]
		REAL64 PacketsSentsec;

};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|IAS Authentication Clients")
]
Class IASAuthenticationClients : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Malformed Packets")
]
	REAL64 MalformedPackets;
[read,
	CounterType(0x00010000),
	PropertyContext("Bad Authenticators")
]
	REAL64 BadAuthenticators;
[read,
	CounterType(0x00010000),
	PropertyContext("Dropped Packets")
]
	REAL64 DroppedPackets;
[read,
	CounterType(0x00010000),
	PropertyContext("Unknown Type")
]
	REAL64 UnknownType;
[read,
	CounterType(0x00010000),
	PropertyContext("Access-Requests")
]
	REAL64 AccessRequests;
[read,
	CounterType(0x00010000),
	PropertyContext("Duplicate Access-Requests")
]
	REAL64 DuplicateAccessRequests;
[read,
	CounterType(0x00010000),
	PropertyContext("Access-Accepts")
]
	REAL64 AccessAccepts;
[read,
	CounterType(0x00010000),
	PropertyContext("Access-Rejects")
]
	REAL64 AccessRejects;
[read,
	CounterType(0x00010000),
	PropertyContext("Access-Challenges")
]
	REAL64 AccessChallenges;
[read,
	CounterType(0x00010000),
	PropertyContext("Packets Received")
]
	REAL64 PacketsReceived;
[read,
	CounterType(0x00010000),
	PropertyContext("Packets Sent")
]
	REAL64 PacketsSent;
[read,
	CounterType(0x10410400),
	PropertyContext("Malformed Packets / sec.")
]
	REAL64 MalformedPacketssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Bad Authenticators / sec.")
]
	REAL64 BadAuthenticatorssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Dropped Packets / sec.")
]
	REAL64 DroppedPacketssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Unknown Type / sec.")
]
	REAL64 UnknownTypesec;
[read,
	CounterType(0x10410400),
	PropertyContext("Access-Requests / sec.")
]
	REAL64 AccessRequestssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Duplicate Access-Requests / sec.")
]
	REAL64 DuplicateAccessRequestssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Access-Accepts / sec.")
]
	REAL64 AccessAcceptssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Access-Rejects / sec.")
]
	REAL64 AccessRejectssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Access-Challenges / sec.")
]
	REAL64 AccessChallengessec;
[read,
	CounterType(0x10410400),
	PropertyContext("Packets Received / sec.")
]
	REAL64 PacketsReceivedsec;
[read,
	CounterType(0x10410400),
	PropertyContext("Packets Sent / sec.")
]
	REAL64 PacketsSentsec;
};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|IAS Accounting Server")]
Class IASAccountingServer : Win32_PerfFormattedData 
{
	[PropertyContext("Server Up Time")]
		REAL64 ServerUpTime;

	[PropertyContext("Server Reset Time")]
		REAL64 ServerResetTime;

	[PropertyContext("Invalid Requests")]
		REAL64 InvalidRequests;

	[PropertyContext("Invalid Requests / sec.")]
		REAL64 InvalidRequestssec;

	[PropertyContext("Malformed Packets")]
		REAL64 MalformedPackets;

	[PropertyContext("Bad Authenticators")]
		REAL64 BadAuthenticators;

	[PropertyContext("Dropped Packets")]
		REAL64 DroppedPackets;

	[PropertyContext("Unknown Type")]
		REAL64 UnknownType;

	[PropertyContext("Accounting-Requests")]
		REAL64 AccountingRequests;

	[PropertyContext("Duplicate Accounting-Requests")]
		REAL64 DuplicateAccountingRequests;

	[PropertyContext("No Record")]
		REAL64 NoRecord;

	[PropertyContext("Accounting-Responses")]
		REAL64 AccountingResponses;

	[PropertyContext("Packets Received")]
		REAL64 PacketsReceived;

	[PropertyContext("Packets Sent")]
		REAL64 PacketsSent;

	[PropertyContext("Malformed Packets / sec.")]
		REAL64 MalformedPacketssec;

	[PropertyContext("Bad Authenticators / sec.")]
		REAL64 BadAuthenticatorssec;

	[PropertyContext("Dropped Packets / sec.")]
		REAL64 DroppedPacketssec;

	[PropertyContext("Unknown Type / sec.")]
		REAL64 UnknownTypesec;

	[PropertyContext("Accounting-Requests / sec.")]
		REAL64 AccountingRequestssec;

	[PropertyContext("Duplicate Accounting-Requests / sec.")]
		REAL64 DuplicateAccountingRequestssec;

	[PropertyContext("No Record / sec.")]
		REAL64 NoRecordsec;

	[PropertyContext("Accounting-Responses / sec.")]
		REAL64 AccountingResponsessec;

	[PropertyContext("Packets Received / sec.")]
		REAL64 PacketsReceivedsec;

	[PropertyContext("Packets Sent / sec.")]
		REAL64 PacketsSentsec;

};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|IAS Accounting Clients")
]
Class IASAccountingClients : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Malformed Packets")
]
	REAL64 MalformedPackets;
[read,
	CounterType(0x00010000),
	PropertyContext("Bad Authenticators")
]
	REAL64 BadAuthenticators;
[read,
	CounterType(0x00010000),
	PropertyContext("Dropped Packets")
]
	REAL64 DroppedPackets;
[read,
	CounterType(0x00010000),
	PropertyContext("Unknown Type")
]
	REAL64 UnknownType;
[read,
	CounterType(0x00010000),
	PropertyContext("Accounting-Requests")
]
	REAL64 AccountingRequests;
[read,
	CounterType(0x00010000),
	PropertyContext("Duplicate Accounting-Requests")
]
	REAL64 DuplicateAccountingRequests;
[read,
	CounterType(0x00010000),
	PropertyContext("No Record")
]
	REAL64 NoRecord;
[read,
	CounterType(0x00010000),
	PropertyContext("Accounting-Responses")
]
	REAL64 AccountingResponses;
[read,
	CounterType(0x00010000),
	PropertyContext("Packets Received")
]
	REAL64 PacketsReceived;
[read,
	CounterType(0x00010000),
	PropertyContext("Packets Sent")
]
	REAL64 PacketsSent;
[read,
	CounterType(0x10410400),
	PropertyContext("Malformed Packets / sec.")
]
	REAL64 MalformedPacketssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Bad Authenticators / sec.")
]
	REAL64 BadAuthenticatorssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Dropped Packets / sec.")
]
	REAL64 DroppedPacketssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Unknown Type / sec.")
]
	REAL64 UnknownTypesec;
[read,
	CounterType(0x10410400),
	PropertyContext("Accounting-Requests / sec.")
]
	REAL64 AccountingRequestssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Duplicate Accounting-Requests / sec.")
]
	REAL64 DuplicateAccountingRequestssec;
[read,
	CounterType(0x10410400),
	PropertyContext("No Record / sec.")
]
	REAL64 NoRecordsec;
[read,
	CounterType(0x10410400),
	PropertyContext("Accounting-Responses / sec.")
]
	REAL64 AccountingResponsessec;
[read,
	CounterType(0x10410400),
	PropertyContext("Packets Received / sec.")
]
	REAL64 PacketsReceivedsec;
[read,
	CounterType(0x10410400),
	PropertyContext("Packets Sent / sec.")
]
	REAL64 PacketsSentsec;
};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|Internet Information Services Global")]
Class InternetInformationServicesGlobal : Win32_PerfFormattedData 
{
	[PropertyContext("Total Allowed Async I/O Requests")]
		REAL64 TotalAllowedAsyncIORequests;

	[PropertyContext("Total Blocked Async I/O Requests")]
		REAL64 TotalBlockedAsyncIORequests;

	[PropertyContext("Total Rejected Async I/O Requests")]
		REAL64 TotalRejectedAsyncIORequests;

	[PropertyContext("Current Blocked Async I/O Requests")]
		REAL64 CurrentBlockedAsyncIORequests;

	[PropertyContext("Measured Async I/O Bandwidth Usage")]
		REAL64 MeasuredAsyncIOBandwidthUsage;

	[PropertyContext("Current Files Cached")]
		REAL64 CurrentFilesCached;

	[PropertyContext("Total Files Cached")]
		REAL64 TotalFilesCached;

	[PropertyContext("File Cache Hits")]
		REAL64 FileCacheHits;

	[PropertyContext("File Cache Misses")]
		REAL64 FileCacheMisses;

	[PropertyContext("File Cache Hits %")]
		REAL64 FileCacheHitsPercent;

	[PropertyContext("File Cache Flushes")]
		REAL64 FileCacheFlushes;

	[PropertyContext("Current File Cache Memory Usage")]
		REAL64 CurrentFileCacheMemoryUsage;

	[PropertyContext("Maximum File Cache Memory Usage")]
		REAL64 MaximumFileCacheMemoryUsage;

	[PropertyContext("Active Flushed Entries")]
		REAL64 ActiveFlushedEntries;

	[PropertyContext("Total Flushed Files")]
		REAL64 TotalFlushedFiles;

	[PropertyContext("Current URIs Cached")]
		REAL64 CurrentURIsCached;

	[PropertyContext("Total URIs Cached")]
		REAL64 TotalURIsCached;

	[PropertyContext("URI Cache Hits")]
		REAL64 URICacheHits;

	[PropertyContext("URI Cache Misses")]
		REAL64 URICacheMisses;

	[PropertyContext("URI Cache Hits %")]
		REAL64 URICacheHitsPercent;

	[PropertyContext("URI Cache Flushes")]
		REAL64 URICacheFlushes;

	[PropertyContext("Total Flushed URIs")]
		REAL64 TotalFlushedURIs;

	[PropertyContext("Current BLOBs Cached")]
		REAL64 CurrentBLOBsCached;

	[PropertyContext("Total BLOBs Cached")]
		REAL64 TotalBLOBsCached;

	[PropertyContext("BLOB Cache Hits")]
		REAL64 BLOBCacheHits;

	[PropertyContext("BLOB Cache Misses")]
		REAL64 BLOBCacheMisses;

	[PropertyContext("BLOB Cache Hits %")]
		REAL64 BLOBCacheHitsPercent;

	[PropertyContext("BLOB Cache Flushes")]
		REAL64 BLOBCacheFlushes;

	[PropertyContext("Total Flushed BLOBs")]
		REAL64 TotalFlushedBLOBs;

};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|Http Indexing Service")]
Class HttpIndexingService : Win32_PerfFormattedData 
{
	[PropertyContext("Cache items")]
		REAL64 Cacheitems;

	[PropertyContext("% Cache hits")]
		REAL64 PercentCachehits;

	[PropertyContext("% Cache misses")]
		REAL64 PercentCachemisses;

	[PropertyContext("Active queries")]
		REAL64 Activequeries;

	[PropertyContext("Total queries")]
		REAL64 Totalqueries;

	[PropertyContext("Queries per minute")]
		REAL64 Queriesperminute;

	[PropertyContext("Current requests queued")]
		REAL64 Currentrequestsqueued;

	[PropertyContext("Total requests rejected")]
		REAL64 Totalrequestsrejected;

};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|Distributed Transaction Coordinator")]
Class DistributedTransactionCoordinator : Win32_PerfFormattedData 
{
	[PropertyContext("Active Transactions")]
		REAL64 ActiveTransactions;

	[PropertyContext("Committed Transactions")]
		REAL64 CommittedTransactions;

	[PropertyContext("Aborted Transactions")]
		REAL64 AbortedTransactions;

	[PropertyContext("In Doubt Transactions")]
		REAL64 InDoubtTransactions;

	[PropertyContext("Active Transactions Maximum")]
		REAL64 ActiveTransactionsMaximum;

	[PropertyContext("Force Committed Transactions")]
		REAL64 ForceCommittedTransactions;

	[PropertyContext("Force Aborted Transactions")]
		REAL64 ForceAbortedTransactions;

	[PropertyContext("Response Time -- Minimum")]
		REAL64 ResponseTimeMinimum;

	[PropertyContext("Response Time -- Average")]
		REAL64 ResponseTimeAverage;

	[PropertyContext("Response Time -- Maximum")]
		REAL64 ResponseTimeMaximum;

	[PropertyContext("Transactions/sec")]
		REAL64 Transactionssec;

	[PropertyContext("Committed Transactions/sec")]
		REAL64 CommittedTransactionssec;

	[PropertyContext("Aborted Transactions/sec")]
		REAL64 AbortedTransactionssec;

};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SMTP NTFS Store Driver")
]
Class SMTPNTFSStoreDriver : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Messages in the queue directory")
]
	REAL64 Messagesinthequeuedirectory;
[read,
	CounterType(0x00010000),
	PropertyContext("Messages allocated")
]
	REAL64 Messagesallocated;
[read,
	CounterType(0x00010000),
	PropertyContext("Messages deleted")
]
	REAL64 Messagesdeleted;
[read,
	CounterType(0x00010000),
	PropertyContext("Messages enumerated")
]
	REAL64 Messagesenumerated;
[read,
	CounterType(0x00010000),
	PropertyContext("Open message bodies")
]
	REAL64 Openmessagebodies;
[read,
	CounterType(0x00010000),
	PropertyContext("Open message streams")
]
	REAL64 Openmessagestreams;
};


[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|Job Object")
]
Class JobObject : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x20510500),
	PropertyContext("Current % Processor Time")
]
	REAL64 CurrentPercentProcessorTime;
[read,
	CounterType(0x20510500),
	PropertyContext("Current % User Mode Time")
]
	REAL64 CurrentPercentUserModeTime;
[read,
	CounterType(0x20510500),
	PropertyContext("Current % Kernel Mode Time")
]
	REAL64 CurrentPercentKernelModeTime;
[read,
	CounterType(0x00010100),
	PropertyContext("This Period mSec - Processor")
]
	REAL64 ThisPeriodmSecProcessor;
[read,
	CounterType(0x00010100),
	PropertyContext("This Period mSec - User Mode")
]
	REAL64 ThisPeriodmSecUserMode;
[read,
	CounterType(0x00010100),
	PropertyContext("This Period mSec - Kernel Mode")
]
	REAL64 ThisPeriodmSecKernelMode;
[read,
	CounterType(0x00010100),
	PropertyContext("Total mSec - Processor")
]
	REAL64 TotalmSecProcessor;
[read,
	CounterType(0x00010100),
	PropertyContext("Total mSec - User Mode")
]
	REAL64 TotalmSecUserMode;
[read,
	CounterType(0x00010100),
	PropertyContext("Total mSec - Kernel Mode")
]
	REAL64 TotalmSecKernelMode;
[read,
	CounterType(0x10410400),
	PropertyContext("Pages/Sec")
]
	REAL64 PagesSec;
[read,
	CounterType(0x00010000),
	PropertyContext("Process Count - Total")
]
	REAL64 ProcessCountTotal;
[read,
	CounterType(0x00010000),
	PropertyContext("Process Count - Active")
]
	REAL64 ProcessCountActive;
[read,
	CounterType(0x00010000),
	PropertyContext("Process Count - Terminated")
]
	REAL64 ProcessCountTerminated;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|Job Object Details")
]
Class JobObjectDetails : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x20510500),
	PropertyContext("% Processor Time")
]
	REAL64 PercentProcessorTime;
[read,
	CounterType(0x20510500),
	PropertyContext("% User Time")
]
	REAL64 PercentUserTime;
[read,
	CounterType(0x20510500),
	PropertyContext("% Privileged Time")
]
	REAL64 PercentPrivilegedTime;
[read,
	CounterType(0x00010100),
	PropertyContext("Virtual Bytes Peak")
]
	REAL64 VirtualBytesPeak;
[read,
	CounterType(0x00010100),
	PropertyContext("Virtual Bytes")
]
	REAL64 VirtualBytes;
[read,
	CounterType(0x10410400),
	PropertyContext("Page Faults/sec")
]
	REAL64 PageFaultssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Working Set Peak")
]
	REAL64 WorkingSetPeak;
[read,
	CounterType(0x00010000),
	PropertyContext("Working Set")
]
	REAL64 WorkingSet;
[read,
	CounterType(0x00010100),
	PropertyContext("Page File Bytes Peak")
]
	REAL64 PageFileBytesPeak;
[read,
	CounterType(0x00010100),
	PropertyContext("Page File Bytes")
]
	REAL64 PageFileBytes;
[read,
	CounterType(0x00010100),
	PropertyContext("Private Bytes")
]
	REAL64 PrivateBytes;
[read,
	CounterType(0x00010000),
	PropertyContext("Thread Count")
]
	REAL64 ThreadCount;
[read,
	CounterType(0x00010000),
	PropertyContext("Priority Base")
]
	REAL64 PriorityBase;
[read,
	CounterType(0x30240500),
	PropertyContext("Elapsed Time")
]
	REAL64 ElapsedTime;
[read,
	CounterType(0x00010100),
	PropertyContext("ID Process")
]
	REAL64 IDProcess;
[read,
	CounterType(0x00010100),
	PropertyContext("Creating Process ID")
]
	REAL64 CreatingProcessID;
[read,
	CounterType(0x00010000),
	PropertyContext("Pool Paged Bytes")
]
	REAL64 PoolPagedBytes;
[read,
	CounterType(0x00010000),
	PropertyContext("Pool Nonpaged Bytes")
]
	REAL64 PoolNonpagedBytes;
[read,
	CounterType(0x00010000),
	PropertyContext("Handle Count")
]
	REAL64 HandleCount;
[read,
	CounterType(0x10410500),
	PropertyContext("IO Read Operations/sec")
]
	REAL64 IOReadOperationssec;
[read,
	CounterType(0x10410500),
	PropertyContext("IO Write Operations/sec")
]
	REAL64 IOWriteOperationssec;
[read,
	CounterType(0x10410500),
	PropertyContext("IO Data Operations/sec")
]
	REAL64 IODataOperationssec;
[read,
	CounterType(0x10410500),
	PropertyContext("IO Other Operations/sec")
]
	REAL64 IOOtherOperationssec;
[read,
	CounterType(0x10410500),
	PropertyContext("IO Read Bytes/sec")
]
	REAL64 IOReadBytessec;
[read,
	CounterType(0x10410500),
	PropertyContext("IO Write Bytes/sec")
]
	REAL64 IOWriteBytessec;
[read,
	CounterType(0x10410500),
	PropertyContext("IO Data Bytes/sec")
]
	REAL64 IODataBytessec;
[read,
	CounterType(0x10410500),
	PropertyContext("IO Other Bytes/sec")
]
	REAL64 IOOtherBytessec;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|RAS Port")
]
Class RASPort : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Bytes Transmitted")
]
	REAL64 BytesTransmitted;
[read,
	CounterType(0x00010000),
	PropertyContext("Bytes Received")
]
	REAL64 BytesReceived;
[read,
	CounterType(0x00010000),
	PropertyContext("Frames Transmitted")
]
	REAL64 FramesTransmitted;
[read,
	CounterType(0x00010000),
	PropertyContext("Frames Received.")
]
	REAL64 FramesReceived;
[read,
	CounterType(0x00010000),
	PropertyContext("Percent Compression Out")
]
	REAL64 PercentCompressionOut;
[read,
	CounterType(0x00010000),
	PropertyContext("Percent Compression In")
]
	REAL64 PercentCompressionIn;
[read,
	CounterType(0x00010000),
	PropertyContext("CRC Errors")
]
	REAL64 CRCErrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Timeout Errors")
]
	REAL64 TimeoutErrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Serial Overrun Errors")
]
	REAL64 SerialOverrunErrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Alignment Errors")
]
	REAL64 AlignmentErrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Buffer Overrun Errors")
]
	REAL64 BufferOverrunErrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Errors")
]
	REAL64 TotalErrors;
[read,
	CounterType(0x10410400),
	PropertyContext("Bytes Transmitted/Sec")
]
	REAL64 BytesTransmittedSec;
[read,
	CounterType(0x10410400),
	PropertyContext("Bytes Received/Sec")
]
	REAL64 BytesReceivedSec;
[read,
	CounterType(0x10410400),
	PropertyContext("Frames Transmitted/Sec")
]
	REAL64 FramesTransmittedSec;
[read,
	CounterType(0x10410400),
	PropertyContext("Frames Received/Sec")
]
	REAL64 FramesReceivedSec;
[read,
	CounterType(0x10410400),
	PropertyContext("Total Errors/Sec")
]
	REAL64 TotalErrorsSec;
};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|RAS Total")]
Class RASTotal : Win32_PerfFormattedData 
{
	[PropertyContext("Bytes Transmitted")]
		REAL64 BytesTransmitted;

	[PropertyContext("Bytes Received")]
		REAL64 BytesReceived;

	[PropertyContext("Frames Transmitted")]
		REAL64 FramesTransmitted;

	[PropertyContext("Frames Received.")]
		REAL64 FramesReceived;

	[PropertyContext("Percent Compression Out")]
		REAL64 PercentCompressionOut;

	[PropertyContext("Percent Compression In")]
		REAL64 PercentCompressionIn;

	[PropertyContext("CRC Errors")]
		REAL64 CRCErrors;

	[PropertyContext("Timeout Errors")]
		REAL64 TimeoutErrors;

	[PropertyContext("Serial Overrun Errors")]
		REAL64 SerialOverrunErrors;

	[PropertyContext("Alignment Errors")]
		REAL64 AlignmentErrors;

	[PropertyContext("Buffer Overrun Errors")]
		REAL64 BufferOverrunErrors;

	[PropertyContext("Total Errors")]
		REAL64 TotalErrors;

	[PropertyContext("Bytes Transmitted/Sec")]
		REAL64 BytesTransmittedSec;

	[PropertyContext("Bytes Received/Sec")]
		REAL64 BytesReceivedSec;

	[PropertyContext("Frames Transmitted/Sec")]
		REAL64 FramesTransmittedSec;

	[PropertyContext("Frames Received/Sec")]
		REAL64 FramesReceivedSec;

	[PropertyContext("Total Errors/Sec")]
		REAL64 TotalErrorsSec;

	[PropertyContext("Total Connections")]
		REAL64 TotalConnections;

};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|ACS/RSVP Service")
]
Class ACSRSVPService : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Network Interfaces")
]
	REAL64 NetworkInterfaces;
[read,
	CounterType(0x00010000),
	PropertyContext("Network sockets")
]
	REAL64 Networksockets;
[read,
	CounterType(0x00010000),
	PropertyContext("Timers")
]
	REAL64 Timers;
[read,
	CounterType(0x00010000),
	PropertyContext("RSVP sessions")
]
	REAL64 RSVPsessions;
[read,
	CounterType(0x00010000),
	PropertyContext("QoS sockets")
]
	REAL64 QoSsockets;
[read,
	CounterType(0x00010000),
	PropertyContext("QoS-enabled senders")
]
	REAL64 QoSenabledsenders;
[read,
	CounterType(0x00010000),
	PropertyContext("QoS-enabled receivers")
]
	REAL64 QoSenabledreceivers;
[read,
	CounterType(0x00010000),
	PropertyContext("Failed QoS requests")
]
	REAL64 FailedQoSrequests;
[read,
	CounterType(0x00010000),
	PropertyContext("Failed QoS sends")
]
	REAL64 FailedQoSsends;
[read,
	CounterType(0x00010000),
	PropertyContext("QoS notifications")
]
	REAL64 QoSnotifications;
[read,
	CounterType(0x00010000),
	PropertyContext("Bytes in QoS notifications")
]
	REAL64 BytesinQoSnotifications;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SMTP Server")
]
Class SMTPServer : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010100),
	PropertyContext("Bytes Sent Total")
]
	REAL64 BytesSentTotal;
[read,
	CounterType(0x10410500),
	PropertyContext("Bytes Sent/sec")
]
	REAL64 BytesSentsec;
[read,
	CounterType(0x00010100),
	PropertyContext("Bytes Received Total")
]
	REAL64 BytesReceivedTotal;
[read,
	CounterType(0x10410500),
	PropertyContext("Bytes Received/sec")
]
	REAL64 BytesReceivedsec;
[read,
	CounterType(0x00010100),
	PropertyContext("Bytes Total")
]
	REAL64 BytesTotal;
[read,
	CounterType(0x10410500),
	PropertyContext("Bytes Total/sec")
]
	REAL64 BytesTotalsec;
[read,
	CounterType(0x00010100),
	PropertyContext("Message Bytes Sent Total")
]
	REAL64 MessageBytesSentTotal;
[read,
	CounterType(0x10410500),
	PropertyContext("Message Bytes Sent/sec")
]
	REAL64 MessageBytesSentsec;
[read,
	CounterType(0x00010100),
	PropertyContext("Message Bytes Received Total")
]
	REAL64 MessageBytesReceivedTotal;
[read,
	CounterType(0x10410500),
	PropertyContext("Message Bytes Received/sec")
]
	REAL64 MessageBytesReceivedsec;
[read,
	CounterType(0x00010100),
	PropertyContext("Message Bytes Total")
]
	REAL64 MessageBytesTotal;
[read,
	CounterType(0x10410500),
	PropertyContext("Message Bytes Total/sec")
]
	REAL64 MessageBytesTotalsec;
[read,
	CounterType(0x00010000),
	PropertyContext("Messages Received Total")
]
	REAL64 MessagesReceivedTotal;
[read,
	CounterType(0x10410400),
	PropertyContext("Messages Received/sec")
]
	REAL64 MessagesReceivedsec;
[read,
	CounterType(0x20020400),
	PropertyContext("Avg Recipients/msg Received")
]
	REAL64 AvgRecipientsmsgReceived;
[read,
	CounterType(0x20020400),
	PropertyContext("% Recipients Local")
]
	REAL64 PercentRecipientsLocal;
[read,
	CounterType(0x20020400),
	PropertyContext("% Recipients Remote")
]
	REAL64 PercentRecipientsRemote;
[read,
	CounterType(0x00010000),
	PropertyContext("Messages Refused for Size")
]
	REAL64 MessagesRefusedforSize;
[read,
	CounterType(0x00010000),
	PropertyContext("Messages Refused for Address Objects")
]
	REAL64 MessagesRefusedforAddressObjects;
[read,
	CounterType(0x00010000),
	PropertyContext("Messages Refused for Mail Objects")
]
	REAL64 MessagesRefusedforMailObjects;
[read,
	CounterType(0x00010000),
	PropertyContext("Messages Delivered Total")
]
	REAL64 MessagesDeliveredTotal;
[read,
	CounterType(0x10410400),
	PropertyContext("Messages Delivered/sec")
]
	REAL64 MessagesDeliveredsec;
[read,
	CounterType(0x00010000),
	PropertyContext("Message Delivery Retries")
]
	REAL64 MessageDeliveryRetries;
[read,
	CounterType(0x20020400),
	PropertyContext("Avg Retries/msg Delivered")
]
	REAL64 AvgRetriesmsgDelivered;
[read,
	CounterType(0x00010000),
	PropertyContext("Pickup Directory Messages Retrieved Total")
]
	REAL64 PickupDirectoryMessagesRetrievedTotal;
[read,
	CounterType(0x10410400),
	PropertyContext("Pickup Directory Messages Retrieved/sec")
]
	REAL64 PickupDirectoryMessagesRetrievedsec;
[read,
	CounterType(0x00010000),
	PropertyContext("NDRs Generated")
]
	REAL64 NDRsGenerated;
[read,
	CounterType(0x00010000),
	PropertyContext("Local Queue Length")
]
	REAL64 LocalQueueLength;
[read,
	CounterType(0x00010000),
	PropertyContext("Local Retry Queue Length")
]
	REAL64 LocalRetryQueueLength;
[read,
	CounterType(0x00010000),
	PropertyContext("Number of MailFiles Open")
]
	REAL64 NumberofMailFilesOpen;
[read,
	CounterType(0x00010000),
	PropertyContext("Number of QueueFiles Open")
]
	REAL64 NumberofQueueFilesOpen;
[read,
	CounterType(0x00010000),
	PropertyContext("Categorizer Queue Length")
]
	REAL64 CategorizerQueueLength;
[read,
	CounterType(0x00010000),
	PropertyContext("Messages Sent Total")
]
	REAL64 MessagesSentTotal;
[read,
	CounterType(0x10410400),
	PropertyContext("Messages Sent/sec")
]
	REAL64 MessagesSentsec;
[read,
	CounterType(0x00010000),
	PropertyContext("Message Send Retries")
]
	REAL64 MessageSendRetries;
[read,
	CounterType(0x20020400),
	PropertyContext("Avg Retries/msg Sent")
]
	REAL64 AvgRetriesmsgSent;
[read,
	CounterType(0x20020400),
	PropertyContext("Avg Recipients/msg Sent")
]
	REAL64 AvgRecipientsmsgSent;
[read,
	CounterType(0x00010000),
	PropertyContext("Remote Queue Length")
]
	REAL64 RemoteQueueLength;
[read,
	CounterType(0x00010000),
	PropertyContext("DNS Queries Total")
]
	REAL64 DNSQueriesTotal;
[read,
	CounterType(0x10410400),
	PropertyContext("DNS Queries/sec")
]
	REAL64 DNSQueriessec;
[read,
	CounterType(0x00010000),
	PropertyContext("Remote Retry Queue Length")
]
	REAL64 RemoteRetryQueueLength;
[read,
	CounterType(0x00010000),
	PropertyContext("Inbound Connections Total")
]
	REAL64 InboundConnectionsTotal;
[read,
	CounterType(0x00010000),
	PropertyContext("Inbound Connections Current")
]
	REAL64 InboundConnectionsCurrent;
[read,
	CounterType(0x00010000),
	PropertyContext("Outbound Connections Total")
]
	REAL64 OutboundConnectionsTotal;
[read,
	CounterType(0x00010000),
	PropertyContext("Outbound Connections Current")
]
	REAL64 OutboundConnectionsCurrent;
[read,
	CounterType(0x00010000),
	PropertyContext("Outbound Connections Refused")
]
	REAL64 OutboundConnectionsRefused;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Connection Errors")
]
	REAL64 TotalConnectionErrors;
[read,
	CounterType(0x10410400),
	PropertyContext("Connection Errors/sec")
]
	REAL64 ConnectionErrorssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Directory Drops Total")
]
	REAL64 DirectoryDropsTotal;
[read,
	CounterType(0x10410400),
	PropertyContext("Directory Drops/sec")
]
	REAL64 DirectoryDropssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Routing Table Lookups Total")
]
	REAL64 RoutingTableLookupsTotal;
[read,
	CounterType(0x10410400),
	PropertyContext("Routing Table Lookups/sec")
]
	REAL64 RoutingTableLookupssec;
[read,
	CounterType(0x00010000),
	PropertyContext("ETRN Messages Total")
]
	REAL64 ETRNMessagesTotal;
[read,
	CounterType(0x10410400),
	PropertyContext("ETRN Messages/sec")
]
	REAL64 ETRNMessagessec;
[read,
	CounterType(0x00010000),
	PropertyContext("Badmailed Messages (No Recipients)")
]
	REAL64 BadmailedMessagesNoRecipients;
[read,
	CounterType(0x00010000),
	PropertyContext("Badmailed Messages (Hop Count Exceeded)")
]
	REAL64 BadmailedMessagesHopCountExceeded;
[read,
	CounterType(0x00010000),
	PropertyContext("Badmailed Messages (General Failure)")
]
	REAL64 BadmailedMessagesGeneralFailure;
[read,
	CounterType(0x00010000),
	PropertyContext("Badmailed Messages (Bad Pickup File)")
]
	REAL64 BadmailedMessagesBadPickupFile;
[read,
	CounterType(0x00010000),
	PropertyContext("Badmailed Messages (Triggered via Event)")
]
	REAL64 BadmailedMessagesTriggeredviaEvent;
[read,
	CounterType(0x00010000),
	PropertyContext("Badmailed Messages (NDR of DSN)")
]
	REAL64 BadmailedMessagesNDRofDSN;
[read,
	CounterType(0x00010000),
	PropertyContext("Messages Pending Routing")
]
	REAL64 MessagesPendingRouting;
[read,
	CounterType(0x00010000),
	PropertyContext("Messages Currently Undeliverable")
]
	REAL64 MessagesCurrentlyUndeliverable;
[read,
	CounterType(0x00010000),
	PropertyContext("Total messages submitted")
]
	REAL64 Totalmessagessubmitted;
[read,
	CounterType(0x00010000),
	PropertyContext("Total DSN Failures")
]
	REAL64 TotalDSNFailures;
[read,
	CounterType(0x00010000),
	PropertyContext("Current Messages in Local Delivery")
]
	REAL64 CurrentMessagesinLocalDelivery;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Messages submitted")
]
	REAL64 CatMessagessubmitted;
[read,
	CounterType(0x10410400),
	PropertyContext("Cat: Messages submitted/sec")
]
	REAL64 CatMessagessubmittedsec;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Categorizations completed")
]
	REAL64 CatCategorizationscompleted;
[read,
	CounterType(0x10410400),
	PropertyContext("Cat: Categorizations completed/sec")
]
	REAL64 CatCategorizationscompletedsec;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Categorizations in progress")
]
	REAL64 CatCategorizationsinprogress;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Categorizations completed successfully")
]
	REAL64 CatCategorizationscompletedsuccessfully;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Categorizations failed (non-retryable error)")
]
	REAL64 CatCategorizationsfailednonretryableerror;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Categorizations failed (retryable error)")
]
	REAL64 CatCategorizationsfailedretryableerror;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Categorizations failed (Out Of Memory)")
]
	REAL64 CatCategorizationsfailedOutOfMemory;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Categorizations failed (DS logon failure)")
]
	REAL64 CatCategorizationsfailedDSlogonfailure;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Categorizations failed (DS connection failure)")
]
	REAL64 CatCategorizationsfailedDSconnectionfailure;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Categorizations failed (sink retryable error)")
]
	REAL64 CatCategorizationsfailedsinkretryableerror;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Messages Categorized")
]
	REAL64 CatMessagesCategorized;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Messages bifurcated")
]
	REAL64 CatMessagesbifurcated;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Messages aborted")
]
	REAL64 CatMessagesaborted;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Recipients before categorization")
]
	REAL64 CatRecipientsbeforecategorization;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Recipients after categorization")
]
	REAL64 CatRecipientsaftercategorization;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Recipients NDRd by categorizer")
]
	REAL64 CatRecipientsNDRdbycategorizer;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Recipients NDRd (unresolved)")
]
	REAL64 CatRecipientsNDRdunresolved;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Recipients NDRd (ambiguous address)")
]
	REAL64 CatRecipientsNDRdambiguousaddress;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Recipients NDRd (illegal address)")
]
	REAL64 CatRecipientsNDRdillegaladdress;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Recipients NDRd (forwarding loop)")
]
	REAL64 CatRecipientsNDRdforwardingloop;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Recipients NDRd (sink recip errors)")
]
	REAL64 CatRecipientsNDRdsinkreciperrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Recipients in categorization")
]
	REAL64 CatRecipientsincategorization;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Senders unresolved")
]
	REAL64 CatSendersunresolved;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Senders with ambiguous addresses")
]
	REAL64 CatSenderswithambiguousaddresses;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Address lookups")
]
	REAL64 CatAddresslookups;
[read,
	CounterType(0x10410400),
	PropertyContext("Cat: Address lookups/sec")
]
	REAL64 CatAddresslookupssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Address lookup completions")
]
	REAL64 CatAddresslookupcompletions;
[read,
	CounterType(0x10410400),
	PropertyContext("Cat: Address lookup completions/sec")
]
	REAL64 CatAddresslookupcompletionssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: Address lookups not found")
]
	REAL64 CatAddresslookupsnotfound;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: mailmsg duplicate collisions")
]
	REAL64 Catmailmsgduplicatecollisions;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP connections")
]
	REAL64 CatLDAPconnections;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP connection failures")
]
	REAL64 CatLDAPconnectionfailures;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP connections currently open")
]
	REAL64 CatLDAPconnectionscurrentlyopen;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP binds")
]
	REAL64 CatLDAPbinds;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP bind failures")
]
	REAL64 CatLDAPbindfailures;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP searches")
]
	REAL64 CatLDAPsearches;
[read,
	CounterType(0x10410400),
	PropertyContext("Cat: LDAP searches/sec")
]
	REAL64 CatLDAPsearchessec;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP paged searches")
]
	REAL64 CatLDAPpagedsearches;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP search failures")
]
	REAL64 CatLDAPsearchfailures;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP paged search failures")
]
	REAL64 CatLDAPpagedsearchfailures;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP searches completed")
]
	REAL64 CatLDAPsearchescompleted;
[read,
	CounterType(0x10410400),
	PropertyContext("Cat: LDAP searches completed/sec")
]
	REAL64 CatLDAPsearchescompletedsec;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP paged searches completed")
]
	REAL64 CatLDAPpagedsearchescompleted;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP search completion failures")
]
	REAL64 CatLDAPsearchcompletionfailures;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP paged search completion failures")
]
	REAL64 CatLDAPpagedsearchcompletionfailures;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP general completion failures")
]
	REAL64 CatLDAPgeneralcompletionfailures;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP searches abandoned")
]
	REAL64 CatLDAPsearchesabandoned;
[read,
	CounterType(0x00010000),
	PropertyContext("Cat: LDAP searches pending completion")
]
	REAL64 CatLDAPsearchespendingcompletion;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|Print Queue")
]
Class PrintQueue : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Jobs Printed")
]
	REAL64 TotalJobsPrinted;
[read,
	CounterType(0x10410500),
	PropertyContext("Bytes Printed/sec")
]
	REAL64 BytesPrintedsec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Pages Printed")
]
	REAL64 TotalPagesPrinted;
[read,
	CounterType(0x00010000),
	PropertyContext("Jobs")
]
	REAL64 Jobs;
[read,
	CounterType(0x00010000),
	PropertyContext("References")
]
	REAL64 References;
[read,
	CounterType(0x00010000),
	PropertyContext("Max References")
]
	REAL64 MaxReferences;
[read,
	CounterType(0x00010000),
	PropertyContext("Jobs Spooling")
]
	REAL64 JobsSpooling;
[read,
	CounterType(0x00010000),
	PropertyContext("Max Jobs Spooling")
]
	REAL64 MaxJobsSpooling;
[read,
	CounterType(0x00010000),
	PropertyContext("Out of Paper Errors")
]
	REAL64 OutofPaperErrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Not Ready Errors")
]
	REAL64 NotReadyErrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Job Errors")
]
	REAL64 JobErrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Enumerate Network Printer Calls")
]
	REAL64 EnumerateNetworkPrinterCalls;
[read,
	CounterType(0x00010000),
	PropertyContext("Add Network Printer Calls")
]
	REAL64 AddNetworkPrinterCalls;
};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|Telephony")]
Class Telephony : Win32_PerfFormattedData 
{
	[PropertyContext("Lines")]
		REAL64 Lines;

	[PropertyContext("Telephone Devices")]
		REAL64 TelephoneDevices;

	[PropertyContext("Active Lines")]
		REAL64 ActiveLines;

	[PropertyContext("Active Telephones")]
		REAL64 ActiveTelephones;

	[PropertyContext("Outgoing Calls/sec")]
		REAL64 OutgoingCallssec;

	[PropertyContext("Incoming Calls/sec")]
		REAL64 IncomingCallssec;

	[PropertyContext("Client Apps")]
		REAL64 ClientApps;

	[PropertyContext("Current Outgoing Calls")]
		REAL64 CurrentOutgoingCalls;

	[PropertyContext("Current Incoming Calls")]
		REAL64 CurrentIncomingCalls;

};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|IP")]
Class IP : Win32_PerfFormattedData 
{
	[PropertyContext("Datagrams/sec")]
		REAL64 Datagramssec;

	[PropertyContext("Datagrams Received/sec")]
		REAL64 DatagramsReceivedsec;

	[PropertyContext("Datagrams Received Header Errors")]
		REAL64 DatagramsReceivedHeaderErrors;

	[PropertyContext("Datagrams Received Address Errors")]
		REAL64 DatagramsReceivedAddressErrors;

	[PropertyContext("Datagrams Forwarded/sec")]
		REAL64 DatagramsForwardedsec;

	[PropertyContext("Datagrams Received Unknown Protocol")]
		REAL64 DatagramsReceivedUnknownProtocol;

	[PropertyContext("Datagrams Received Discarded")]
		REAL64 DatagramsReceivedDiscarded;

	[PropertyContext("Datagrams Received Delivered/sec")]
		REAL64 DatagramsReceivedDeliveredsec;

	[PropertyContext("Datagrams Sent/sec")]
		REAL64 DatagramsSentsec;

	[PropertyContext("Datagrams Outbound Discarded")]
		REAL64 DatagramsOutboundDiscarded;

	[PropertyContext("Datagrams Outbound No Route")]
		REAL64 DatagramsOutboundNoRoute;

	[PropertyContext("Fragments Received/sec")]
		REAL64 FragmentsReceivedsec;

	[PropertyContext("Fragments Re-assembled/sec")]
		REAL64 FragmentsReassembledsec;

	[PropertyContext("Fragment Re-assembly Failures")]
		REAL64 FragmentReassemblyFailures;

	[PropertyContext("Fragmented Datagrams/sec")]
		REAL64 FragmentedDatagramssec;

	[PropertyContext("Fragmentation Failures")]
		REAL64 FragmentationFailures;

	[PropertyContext("Fragments Created/sec")]
		REAL64 FragmentsCreatedsec;

};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|ICMP")]
Class ICMP : Win32_PerfFormattedData 
{
	[PropertyContext("Messages/sec")]
		REAL64 Messagessec;

	[PropertyContext("Messages Received/sec")]
		REAL64 MessagesReceivedsec;

	[PropertyContext("Messages Received Errors")]
		REAL64 MessagesReceivedErrors;

	[PropertyContext("Received Dest. Unreachable")]
		REAL64 ReceivedDestUnreachable;

	[PropertyContext("Received Time Exceeded")]
		REAL64 ReceivedTimeExceeded;

	[PropertyContext("Received Parameter Problem")]
		REAL64 ReceivedParameterProblem;

	[PropertyContext("Received Source Quench")]
		REAL64 ReceivedSourceQuench;

	[PropertyContext("Received Redirect/sec")]
		REAL64 ReceivedRedirectsec;

	[PropertyContext("Received Echo/sec")]
		REAL64 ReceivedEchosec;

	[PropertyContext("Received Echo Reply/sec")]
		REAL64 ReceivedEchoReplysec;

	[PropertyContext("Received Timestamp/sec")]
		REAL64 ReceivedTimestampsec;

	[PropertyContext("Received Timestamp Reply/sec")]
		REAL64 ReceivedTimestampReplysec;

	[PropertyContext("Received Address Mask")]
		REAL64 ReceivedAddressMask;

	[PropertyContext("Received Address Mask Reply")]
		REAL64 ReceivedAddressMaskReply;

	[PropertyContext("Messages Sent/sec")]
		REAL64 MessagesSentsec;

	[PropertyContext("Messages Outbound Errors")]
		REAL64 MessagesOutboundErrors;

	[PropertyContext("Sent Destination Unreachable")]
		REAL64 SentDestinationUnreachable;

	[PropertyContext("Sent Time Exceeded")]
		REAL64 SentTimeExceeded;

	[PropertyContext("Sent Parameter Problem")]
		REAL64 SentParameterProblem;

	[PropertyContext("Sent Source Quench")]
		REAL64 SentSourceQuench;

	[PropertyContext("Sent Redirect/sec")]
		REAL64 SentRedirectsec;

	[PropertyContext("Sent Echo/sec")]
		REAL64 SentEchosec;

	[PropertyContext("Sent Echo Reply/sec")]
		REAL64 SentEchoReplysec;

	[PropertyContext("Sent Timestamp/sec")]
		REAL64 SentTimestampsec;

	[PropertyContext("Sent Timestamp Reply/sec")]
		REAL64 SentTimestampReplysec;

	[PropertyContext("Sent Address Mask")]
		REAL64 SentAddressMask;

	[PropertyContext("Sent Address Mask Reply")]
		REAL64 SentAddressMaskReply;

};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|TCP")]
Class TCP : Win32_PerfFormattedData 
{
	[PropertyContext("Segments/sec")]
		REAL64 Segmentssec;

	[PropertyContext("Connections Established")]
		REAL64 ConnectionsEstablished;

	[PropertyContext("Connections Active")]
		REAL64 ConnectionsActive;

	[PropertyContext("Connections Passive")]
		REAL64 ConnectionsPassive;

	[PropertyContext("Connection Failures")]
		REAL64 ConnectionFailures;

	[PropertyContext("Connections Reset")]
		REAL64 ConnectionsReset;

	[PropertyContext("Segments Received/sec")]
		REAL64 SegmentsReceivedsec;

	[PropertyContext("Segments Sent/sec")]
		REAL64 SegmentsSentsec;

	[PropertyContext("Segments Retransmitted/sec")]
		REAL64 SegmentsRetransmittedsec;

};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|UDP")]
Class UDP : Win32_PerfFormattedData 
{
	[PropertyContext("Datagrams/sec")]
		REAL64 Datagramssec;

	[PropertyContext("Datagrams Received/sec")]
		REAL64 DatagramsReceivedsec;

	[PropertyContext("Datagrams No Port/sec")]
		REAL64 DatagramsNoPortsec;

	[PropertyContext("Datagrams Received Errors")]
		REAL64 DatagramsReceivedErrors;

	[PropertyContext("Datagrams Sent/sec")]
		REAL64 DatagramsSentsec;

};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|Terminal Services Session")
]
Class TerminalServicesSession : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x20510500),
	PropertyContext("% Processor Time")
]
	REAL64 PercentProcessorTime;
[read,
	CounterType(0x20510500),
	PropertyContext("% User Time")
]
	REAL64 PercentUserTime;
[read,
	CounterType(0x20510500),
	PropertyContext("% Privileged Time")
]
	REAL64 PercentPrivilegedTime;
[read,
	CounterType(0x00010100),
	PropertyContext("Virtual Bytes Peak")
]
	REAL64 VirtualBytesPeak;
[read,
	CounterType(0x00010100),
	PropertyContext("Virtual Bytes")
]
	REAL64 VirtualBytes;
[read,
	CounterType(0x10410400),
	PropertyContext("Page Faults/sec")
]
	REAL64 PageFaultssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Working Set Peak")
]
	REAL64 WorkingSetPeak;
[read,
	CounterType(0x00010000),
	PropertyContext("Working Set")
]
	REAL64 WorkingSet;
[read,
	CounterType(0x00010100),
	PropertyContext("Page File Bytes Peak")
]
	REAL64 PageFileBytesPeak;
[read,
	CounterType(0x00010100),
	PropertyContext("Page File Bytes")
]
	REAL64 PageFileBytes;
[read,
	CounterType(0x00010100),
	PropertyContext("Private Bytes")
]
	REAL64 PrivateBytes;
[read,
	CounterType(0x00010000),
	PropertyContext("Thread Count")
]
	REAL64 ThreadCount;
[read,
	CounterType(0x00010000),
	PropertyContext("Pool Paged Bytes")
]
	REAL64 PoolPagedBytes;
[read,
	CounterType(0x00010000),
	PropertyContext("Pool Nonpaged Bytes")
]
	REAL64 PoolNonpagedBytes;
[read,
	CounterType(0x00010000),
	PropertyContext("Handle Count")
]
	REAL64 HandleCount;
[read,
	CounterType(0x10410400),
	PropertyContext("Input WdBytes")
]
	REAL64 InputWdBytes;
[read,
	CounterType(0x10410400),
	PropertyContext("Input WdFrames")
]
	REAL64 InputWdFrames;
[read,
	CounterType(0x00010000),
	PropertyContext("Input WaitForOutBuf")
]
	REAL64 InputWaitForOutBuf;
[read,
	CounterType(0x10410400),
	PropertyContext("Input Frames")
]
	REAL64 InputFrames;
[read,
	CounterType(0x10410400),
	PropertyContext("Input Bytes")
]
	REAL64 InputBytes;
[read,
	CounterType(0x10410400),
	PropertyContext("Input Compressed Bytes")
]
	REAL64 InputCompressedBytes;
[read,
	CounterType(0x00010000),
	PropertyContext("Input Compress Flushes")
]
	REAL64 InputCompressFlushes;
[read,
	CounterType(0x00010000),
	PropertyContext("Input Errors")
]
	REAL64 InputErrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Input Timeouts")
]
	REAL64 InputTimeouts;
[read,
	CounterType(0x00010000),
	PropertyContext("Input Async Frame Error")
]
	REAL64 InputAsyncFrameError;
[read,
	CounterType(0x00010000),
	PropertyContext("Input Async Overrun")
]
	REAL64 InputAsyncOverrun;
[read,
	CounterType(0x00010000),
	PropertyContext("Input Async Overflow")
]
	REAL64 InputAsyncOverflow;
[read,
	CounterType(0x00010000),
	PropertyContext("Input Async Parity Error")
]
	REAL64 InputAsyncParityError;
[read,
	CounterType(0x00010000),
	PropertyContext("Input Transport Errors")
]
	REAL64 InputTransportErrors;
[read,
	CounterType(0x10410400),
	PropertyContext("Output WdBytes")
]
	REAL64 OutputWdBytes;
[read,
	CounterType(0x10410400),
	PropertyContext("Output WdFrames")
]
	REAL64 OutputWdFrames;
[read,
	CounterType(0x00010000),
	PropertyContext("Output WaitForOutBuf")
]
	REAL64 OutputWaitForOutBuf;
[read,
	CounterType(0x10410400),
	PropertyContext("Output Frames")
]
	REAL64 OutputFrames;
[read,
	CounterType(0x10410400),
	PropertyContext("Output Bytes")
]
	REAL64 OutputBytes;
[read,
	CounterType(0x10410400),
	PropertyContext("Output Compressed Bytes")
]
	REAL64 OutputCompressedBytes;
[read,
	CounterType(0x00010000),
	PropertyContext("Output Compress Flushes")
]
	REAL64 OutputCompressFlushes;
[read,
	CounterType(0x00010000),
	PropertyContext("Output Errors")
]
	REAL64 OutputErrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Output Timeouts")
]
	REAL64 OutputTimeouts;
[read,
	CounterType(0x00010000),
	PropertyContext("Output Async Frame Error")
]
	REAL64 OutputAsyncFrameError;
[read,
	CounterType(0x00010000),
	PropertyContext("Output Async Overrun")
]
	REAL64 OutputAsyncOverrun;
[read,
	CounterType(0x00010000),
	PropertyContext("Output Async Overflow")
]
	REAL64 OutputAsyncOverflow;
[read,
	CounterType(0x00010000),
	PropertyContext("Output Async Parity Error")
]
	REAL64 OutputAsyncParityError;
[read,
	CounterType(0x00010000),
	PropertyContext("Output Transport Errors")
]
	REAL64 OutputTransportErrors;
[read,
	CounterType(0x10410400),
	PropertyContext("Total WdBytes")
]
	REAL64 TotalWdBytes;
[read,
	CounterType(0x10410400),
	PropertyContext("Total WdFrames")
]
	REAL64 TotalWdFrames;
[read,
	CounterType(0x00010000),
	PropertyContext("Total WaitForOutBuf")
]
	REAL64 TotalWaitForOutBuf;
[read,
	CounterType(0x10410400),
	PropertyContext("Total Frames")
]
	REAL64 TotalFrames;
[read,
	CounterType(0x10410400),
	PropertyContext("Total Bytes")
]
	REAL64 TotalBytes;
[read,
	CounterType(0x10410400),
	PropertyContext("Total Compressed Bytes")
]
	REAL64 TotalCompressedBytes;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Compress Flushes")
]
	REAL64 TotalCompressFlushes;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Errors")
]
	REAL64 TotalErrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Timeouts")
]
	REAL64 TotalTimeouts;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Async Frame Error")
]
	REAL64 TotalAsyncFrameError;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Async Overrun")
]
	REAL64 TotalAsyncOverrun;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Async Overflow")
]
	REAL64 TotalAsyncOverflow;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Async Parity Error")
]
	REAL64 TotalAsyncParityError;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Transport Errors")
]
	REAL64 TotalTransportErrors;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Protocol Cache Reads")
]
	REAL64 TotalProtocolCacheReads;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Protocol Cache Hits")
]
	REAL64 TotalProtocolCacheHits;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Protocol Cache Hit Ratio")
]
	REAL64 TotalProtocolCacheHitRatio;
[read,
	CounterType(0x00010000),
	PropertyContext("Protocol Bitmap Cache Reads")
]
	REAL64 ProtocolBitmapCacheReads;
[read,
	CounterType(0x00010000),
	PropertyContext("Protocol Bitmap Cache Hits")
]
	REAL64 ProtocolBitmapCacheHits;
[read,
	CounterType(0x00010000),
	PropertyContext("Protocol Bitmap Cache Hit Ratio")
]
	REAL64 ProtocolBitmapCacheHitRatio;
[read,
	CounterType(0x00010000),
	PropertyContext("Protocol Glyph Cache Reads")
]
	REAL64 ProtocolGlyphCacheReads;
[read,
	CounterType(0x00010000),
	PropertyContext("Protocol Glyph Cache Hits")
]
	REAL64 ProtocolGlyphCacheHits;
[read,
	CounterType(0x00010000),
	PropertyContext("Protocol Glyph Cache Hit Ratio")
]
	REAL64 ProtocolGlyphCacheHitRatio;
[read,
	CounterType(0x00010000),
	PropertyContext("Protocol Brush Cache Reads")
]
	REAL64 ProtocolBrushCacheReads;
[read,
	CounterType(0x00010000),
	PropertyContext("Protocol Brush Cache Hits")
]
	REAL64 ProtocolBrushCacheHits;
[read,
	CounterType(0x00010000),
	PropertyContext("Protocol Brush Cache Hit Ratio")
]
	REAL64 ProtocolBrushCacheHitRatio;
[read,
	CounterType(0x00010000),
	PropertyContext("Protocol Save Screen Bitmap Cache Reads")
]
	REAL64 ProtocolSaveScreenBitmapCacheReads;
[read,
	CounterType(0x00010000),
	PropertyContext("Protocol Save Screen Bitmap Cache Hits")
]
	REAL64 ProtocolSaveScreenBitmapCacheHits;
[read,
	CounterType(0x00010000),
	PropertyContext("Protocol Save Screen Bitmap Cache Hit Ratio")
]
	REAL64 ProtocolSaveScreenBitmapCacheHitRatio;
[read,
	CounterType(0x00010000),
	PropertyContext("Input Compression Ratio")
]
	REAL64 InputCompressionRatio;
[read,
	CounterType(0x00010000),
	PropertyContext("Output Compression Ratio")
]
	REAL64 OutputCompressionRatio;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Compression Ratio")
]
	REAL64 TotalCompressionRatio;
};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|Terminal Services")]
Class TerminalServices : Win32_PerfFormattedData 
{
	[PropertyContext("Total Sessions")]
		REAL64 TotalSessions;

	[PropertyContext("Active Sessions")]
		REAL64 ActiveSessions;

	[PropertyContext("Inactive Sessions")]
		REAL64 InactiveSessions;

};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|Web Service")
]
Class WebService : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x10410500),
	PropertyContext("Bytes Sent/sec")
]
	REAL64 BytesSentsec;
[read,
	CounterType(0x10410500),
	PropertyContext("Bytes Received/sec")
]
	REAL64 BytesReceivedsec;
[read,
	CounterType(0x10410500),
	PropertyContext("Bytes Total/sec")
]
	REAL64 BytesTotalsec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Files Sent")
]
	REAL64 TotalFilesSent;
[read,
	CounterType(0x10410400),
	PropertyContext("Files Sent/sec")
]
	REAL64 FilesSentsec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Files Received")
]
	REAL64 TotalFilesReceived;
[read,
	CounterType(0x10410400),
	PropertyContext("Files Received/sec")
]
	REAL64 FilesReceivedsec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Files Transferred")
]
	REAL64 TotalFilesTransferred;
[read,
	CounterType(0x10410400),
	PropertyContext("Files/sec")
]
	REAL64 Filessec;
[read,
	CounterType(0x00010000),
	PropertyContext("Current Anonymous Users")
]
	REAL64 CurrentAnonymousUsers;
[read,
	CounterType(0x00010000),
	PropertyContext("Current NonAnonymous Users")
]
	REAL64 CurrentNonAnonymousUsers;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Anonymous Users")
]
	REAL64 TotalAnonymousUsers;
[read,
	CounterType(0x10410400),
	PropertyContext("Anonymous Users/sec")
]
	REAL64 AnonymousUserssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total NonAnonymous Users")
]
	REAL64 TotalNonAnonymousUsers;
[read,
	CounterType(0x10410400),
	PropertyContext("NonAnonymous Users/sec")
]
	REAL64 NonAnonymousUserssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Maximum Anonymous Users")
]
	REAL64 MaximumAnonymousUsers;
[read,
	CounterType(0x00010000),
	PropertyContext("Maximum NonAnonymous Users")
]
	REAL64 MaximumNonAnonymousUsers;
[read,
	CounterType(0x00010000),
	PropertyContext("Current Connections")
]
	REAL64 CurrentConnections;
[read,
	CounterType(0x00010000),
	PropertyContext("Maximum Connections")
]
	REAL64 MaximumConnections;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Connection Attempts (all instances)")
]
	REAL64 TotalConnectionAttemptsallinstances;
[read,
	CounterType(0x10410400),
	PropertyContext("Connection Attempts/sec")
]
	REAL64 ConnectionAttemptssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Logon Attempts")
]
	REAL64 TotalLogonAttempts;
[read,
	CounterType(0x10410400),
	PropertyContext("Logon Attempts/sec")
]
	REAL64 LogonAttemptssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Options Requests")
]
	REAL64 TotalOptionsRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Options Requests/sec")
]
	REAL64 OptionsRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Get Requests")
]
	REAL64 TotalGetRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Get Requests/sec")
]
	REAL64 GetRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Post Requests")
]
	REAL64 TotalPostRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Post Requests/sec")
]
	REAL64 PostRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Head Requests")
]
	REAL64 TotalHeadRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Head Requests/sec")
]
	REAL64 HeadRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Put Requests")
]
	REAL64 TotalPutRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Put Requests/sec")
]
	REAL64 PutRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Delete Requests")
]
	REAL64 TotalDeleteRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Delete Requests/sec")
]
	REAL64 DeleteRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Trace Requests")
]
	REAL64 TotalTraceRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Trace Requests/sec")
]
	REAL64 TraceRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Move Requests")
]
	REAL64 TotalMoveRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Move Requests/sec")
]
	REAL64 MoveRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Copy Requests")
]
	REAL64 TotalCopyRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Copy Requests/sec")
]
	REAL64 CopyRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Mkcol Requests")
]
	REAL64 TotalMkcolRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Mkcol Requests/sec")
]
	REAL64 MkcolRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Propfind Requests")
]
	REAL64 TotalPropfindRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Propfind Requests/sec")
]
	REAL64 PropfindRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Proppatch Requests")
]
	REAL64 TotalProppatchRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Proppatch Requests/sec")
]
	REAL64 ProppatchRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Search Requests")
]
	REAL64 TotalSearchRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Search Requests/sec")
]
	REAL64 SearchRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Lock Requests")
]
	REAL64 TotalLockRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Lock Requests/sec")
]
	REAL64 LockRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Unlock Requests")
]
	REAL64 TotalUnlockRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Unlock Requests/sec")
]
	REAL64 UnlockRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Other Request Methods")
]
	REAL64 TotalOtherRequestMethods;
[read,
	CounterType(0x10410400),
	PropertyContext("Other Request Methods/sec")
]
	REAL64 OtherRequestMethodssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Method Requests")
]
	REAL64 TotalMethodRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("Total Method Requests/sec")
]
	REAL64 TotalMethodRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total CGI Requests")
]
	REAL64 TotalCGIRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("CGI Requests/sec")
]
	REAL64 CGIRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total ISAPI Extension Requests")
]
	REAL64 TotalISAPIExtensionRequests;
[read,
	CounterType(0x10410400),
	PropertyContext("ISAPI Extension Requests/sec")
]
	REAL64 ISAPIExtensionRequestssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Not Found Errors")
]
	REAL64 TotalNotFoundErrors;
[read,
	CounterType(0x10410400),
	PropertyContext("Not Found Errors/sec")
]
	REAL64 NotFoundErrorssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Locked Errors")
]
	REAL64 TotalLockedErrors;
[read,
	CounterType(0x10410400),
	PropertyContext("Locked Errors/sec")
]
	REAL64 LockedErrorssec;
[read,
	CounterType(0x00010000),
	PropertyContext("Current CGI Requests")
]
	REAL64 CurrentCGIRequests;
[read,
	CounterType(0x00010000),
	PropertyContext("Current ISAPI Extension Requests")
]
	REAL64 CurrentISAPIExtensionRequests;
[read,
	CounterType(0x00010000),
	PropertyContext("Maximum CGI Requests")
]
	REAL64 MaximumCGIRequests;
[read,
	CounterType(0x00010000),
	PropertyContext("Maximum ISAPI Extension Requests")
]
	REAL64 MaximumISAPIExtensionRequests;
[read,
	CounterType(0x00010000),
	PropertyContext("Current CAL count for authenticated users")
]
	REAL64 CurrentCALcountforauthenticatedusers;
[read,
	CounterType(0x00010000),
	PropertyContext("Maximum CAL count for authenticated users")
]
	REAL64 MaximumCALcountforauthenticatedusers;
[read,
	CounterType(0x00010000),
	PropertyContext("Total count of failed CAL requests for authenticated users")
]
	REAL64 TotalcountoffailedCALrequestsforauthenticatedusers;
[read,
	CounterType(0x00010000),
	PropertyContext("Current CAL count for SSL connections")
]
	REAL64 CurrentCALcountforSSLconnections;
[read,
	CounterType(0x00010000),
	PropertyContext("Maximum CAL count for SSL connections")
]
	REAL64 MaximumCALcountforSSLconnections;
[read,
	CounterType(0x00010000),
	PropertyContext("Total count of failed CAL requests for SSL connections")
]
	REAL64 TotalcountoffailedCALrequestsforSSLconnections;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Blocked Async I/O Requests")
]
	REAL64 TotalBlockedAsyncIORequests;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Allowed Async I/O Requests")
]
	REAL64 TotalAllowedAsyncIORequests;
[read,
	CounterType(0x00010000),
	PropertyContext("Total Rejected Async I/O Requests")
]
	REAL64 TotalRejectedAsyncIORequests;
[read,
	CounterType(0x00010000),
	PropertyContext("Current Blocked Async I/O Requests")
]
	REAL64 CurrentBlockedAsyncIORequests;
[read,
	CounterType(0x00010000),
	PropertyContext("Measured Async I/O Bandwidth Usage")
]
	REAL64 MeasuredAsyncIOBandwidthUsage;
[read,
	CounterType(0x00010000),
	PropertyContext("Service Uptime")
]
	REAL64 ServiceUptime;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|LogicalDisk")
]
Class PERFLogicalDisk : Win32_PerfFormattedData
{
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x20020400),
	PropertyContext("% Free Space")
]
	REAL64 PercentFreeSpace;
[read,
	CounterType(0x00010000),
	PropertyContext("Free Megabytes")
]
	REAL64 FreeMegabytes;
[read,
	CounterType(0x00010000),
	PropertyContext("Current Disk Queue Length")
]
	REAL64 CurrentDiskQueueLength;
[read,
	CounterType(0x00550500),
	PropertyContext("Avg. Disk Queue Length")
]
	REAL64 AvgDiskQueueLength;
[read,
	CounterType(0x00550500),
	PropertyContext("Avg. Disk Read Queue Length")
]
	REAL64 AvgDiskReadQueueLength;
[read,
	CounterType(0x00550500),
	PropertyContext("Avg. Disk Write Queue Length")
]
	REAL64 AvgDiskWriteQueueLength;
[read,
	CounterType(0x30020400),
	PropertyContext("Avg. Disk sec/Transfer")
]
	REAL64 AvgDisksecTransfer;
[read,
	CounterType(0x30020400),
	PropertyContext("Avg. Disk sec/Read")
]
	REAL64 AvgDisksecRead;
[read,
	CounterType(0x30020400),
	PropertyContext("Avg. Disk sec/Write")
]
	REAL64 AvgDisksecWrite;
[read,
	CounterType(0x10410400),
	PropertyContext("Disk Transfers/sec")
]
	REAL64 DiskTransferssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Disk Reads/sec")
]
	REAL64 DiskReadssec;
[read,
	CounterType(0x10410400),
	PropertyContext("Disk Writes/sec")
]
	REAL64 DiskWritessec;
[read,
	CounterType(0x10410500),
	PropertyContext("Disk Bytes/sec")
]
	REAL64 DiskBytessec;
[read,
	CounterType(0x10410500),
	PropertyContext("Disk Read Bytes/sec")
]
	REAL64 DiskReadBytessec;
[read,
	CounterType(0x10410500),
	PropertyContext("Disk Write Bytes/sec")
]
	REAL64 DiskWriteBytessec;
[read,
	CounterType(0x40020500),
	PropertyContext("Avg. Disk Bytes/Transfer")
]
	REAL64 AvgDiskBytesTransfer;
[read,
	CounterType(0x40020500),
	PropertyContext("Avg. Disk Bytes/Read")
]
	REAL64 AvgDiskBytesRead;
[read,
	CounterType(0x40020500),
	PropertyContext("Avg. Disk Bytes/Write")
]
	REAL64 AvgDiskBytesWrite;
[read,
	CounterType(0x10410400),
	PropertyContext("Split IO/Sec")
]
	REAL64 SplitIOSec;
};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|SQLServer Buffer Manager")]
Class SQLServerBufferManager : Win32_PerfFormattedData 
{
	[PropertyContext("Buffer cache hit ratio")]
		REAL64 Buffercachehitratioperf;

	[PropertyContext("Page lookups/sec")]
		REAL64 Pagelookupssecperf;

	[PropertyContext("Free list stalls/sec")]
		REAL64 Freeliststallssecperf;

	[PropertyContext("Free pages")]
		REAL64 Freepagesperf;

	[PropertyContext("Total pages")]
		REAL64 Totalpagesperf;

	[PropertyContext("Target pages")]
		REAL64 Targetpagesperf;

	[PropertyContext("Database pages")]
		REAL64 Databasepagesperf;

	[PropertyContext("Reserved pages")]
		REAL64 Reservedpagesperf;

	[PropertyContext("Stolen pages")]
		REAL64 Stolenpagesperf;

	[PropertyContext("Lazy writes/sec")]
		REAL64 Lazywritessecperf;

	[PropertyContext("Readahead pages/sec")]
		REAL64 Readaheadpagessecperf;

	[PropertyContext("Procedure cache pages")]
		REAL64 Procedurecachepagesperf;

	[PropertyContext("Page reads/sec")]
		REAL64 Pagereadssecperf;

	[PropertyContext("Page writes/sec")]
		REAL64 Pagewritessecperf;

	[PropertyContext("Checkpoint pages/sec")]
		REAL64 Checkpointpagessecperf;

	[PropertyContext("AWE lookup maps/sec")]
		REAL64 AWElookupmapssecperf;

	[PropertyContext("AWE stolen maps/sec")]
		REAL64 AWEstolenmapssecperf;

	[PropertyContext("AWE write maps/sec")]
		REAL64 AWEwritemapssecperf;

	[PropertyContext("AWE unmap calls/sec")]
		REAL64 AWEunmapcallssecperf;

	[PropertyContext("AWE unmap pages/sec")]
		REAL64 AWEunmappagessecperf;

	[PropertyContext("Page life expectancy")]
		REAL64 Pagelifeexpectancyperf;

};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SQLServer Buffer Partition")
]
Class SQLServerBufferPartition : Win32_PerfFormattedData {
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Free pages")
]
	REAL64 Freepagesperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Free list requests/sec")
]
	REAL64 Freelistrequestssecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Free list empty/sec")
]
	REAL64 Freelistemptysecperf;
};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|SQLServer General Statistics")]
Class SQLServerGeneralStatistics : Win32_PerfFormattedData 
{
	[PropertyContext("Logins/sec")]
		REAL64 Loginssecperf;

	[PropertyContext("Logouts/sec")]
		REAL64 Logoutssecperf;

	[PropertyContext("User Connections")]
		REAL64 UserConnectionsperf;

};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SQLServer Locks")
]
Class SQLServerLocks : Win32_PerfFormattedData {
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x10410400),
	PropertyContext("Lock Requests/sec")
]
	REAL64 LockRequestssecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Lock Timeouts/sec")
]
	REAL64 LockTimeoutssecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Number of Deadlocks/sec")
]
	REAL64 NumberofDeadlockssecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Lock Waits/sec")
]
	REAL64 LockWaitssecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Lock Wait Time (ms)")
]
	REAL64 LockWaitTimemsperf;
[read,
	CounterType(0x20020400),
	PropertyContext("Average Wait Time (ms)")
]
	REAL64 AverageWaitTimemsperf;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SQLServer Databases")
]
Class SQLServerDatabases : Win32_PerfFormattedData {
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Data File(s) Size (KB)")
]
	REAL64 DataFilesSizeKBperf;
[read,
	CounterType(0x00010000),
	PropertyContext("Log File(s) Size (KB)")
]
	REAL64 LogFilesSizeKBperf;
[read,
	CounterType(0x00010000),
	PropertyContext("Log File(s) Used Size (KB)")
]
	REAL64 LogFilesUsedSizeKBperf;
[read,
	CounterType(0x00010000),
	PropertyContext("Percent Log Used")
]
	REAL64 PercentLogUsedperf;
[read,
	CounterType(0x00010000),
	PropertyContext("Active Transactions")
]
	REAL64 ActiveTransactionsperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Transactions/sec")
]
	REAL64 Transactionssecperf;
[read,
	CounterType(0x00010000),
	PropertyContext("Repl. Pending Xacts")
]
	REAL64 ReplPendingXactsperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Repl. Trans. Rate")
]
	REAL64 ReplTransRateperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Log Cache Reads/sec")
]
	REAL64 LogCacheReadssecperf;
[read,
	CounterType(0x20020400),
	PropertyContext("Log Cache Hit Ratio")
]
	REAL64 LogCacheHitRatioperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Bulk Copy Rows/sec")
]
	REAL64 BulkCopyRowssecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Bulk Copy Throughput/sec")
]
	REAL64 BulkCopyThroughputsecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Backup/Restore Throughput/sec")
]
	REAL64 BackupRestoreThroughputsecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("DBCC Logical Scan Bytes/sec")
]
	REAL64 DBCCLogicalScanBytessecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Shrink Data Movement Bytes/sec")
]
	REAL64 ShrinkDataMovementBytessecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Log Flushes/sec")
]
	REAL64 LogFlushessecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Log Bytes Flushed/sec")
]
	REAL64 LogBytesFlushedsecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Log Flush Waits/sec")
]
	REAL64 LogFlushWaitssecperf;
[read,
	CounterType(0x00010000),
	PropertyContext("Log Flush Wait Time")
]
	REAL64 LogFlushWaitTimeperf;
[read,
	CounterType(0x00010000),
	PropertyContext("Log Truncations")
]
	REAL64 LogTruncationsperf;
[read,
	CounterType(0x00010000),
	PropertyContext("Log Growths")
]
	REAL64 LogGrowthsperf;
[read,
	CounterType(0x00010000),
	PropertyContext("Log Shrinks")
]
	REAL64 LogShrinksperf;
};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|SQLServer Latches")]
Class SQLServerLatches : Win32_PerfFormattedData 
{
	[PropertyContext("Latch Waits/sec")]
		REAL64 LatchWaitssecperf;

	[PropertyContext("Average Latch Wait Time (ms)")]
		REAL64 AverageLatchWaitTimemsperf;

	[PropertyContext("Total Latch Wait Time (ms)")]
		REAL64 TotalLatchWaitTimemsperf;

};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|SQLServer Access Methods")]
Class SQLServerAccessMethods : Win32_PerfFormattedData 
{
	[PropertyContext("Full Scans/sec")]
		REAL64 FullScanssecperf;

	[PropertyContext("Range Scans/sec")]
		REAL64 RangeScanssecperf;

	[PropertyContext("Probe Scans/sec")]
		REAL64 ProbeScanssecperf;

	[PropertyContext("Scan Point Revalidations/sec")]
		REAL64 ScanPointRevalidationssecperf;

	[PropertyContext("Workfiles Created/sec")]
		REAL64 WorkfilesCreatedsecperf;

	[PropertyContext("Worktables Created/sec")]
		REAL64 WorktablesCreatedsecperf;

	[PropertyContext("Worktables From Cache Ratio")]
		REAL64 WorktablesFromCacheRatioperf;

	[PropertyContext("Forwarded Records/sec")]
		REAL64 ForwardedRecordssecperf;

	[PropertyContext("Skipped Ghosted Records/sec")]
		REAL64 SkippedGhostedRecordssecperf;

	[PropertyContext("Index Searches/sec")]
		REAL64 IndexSearchessecperf;

	[PropertyContext("FreeSpace Scans/sec")]
		REAL64 FreeSpaceScanssecperf;

	[PropertyContext("FreeSpace Page Fetches/sec")]
		REAL64 FreeSpacePageFetchessecperf;

	[PropertyContext("Pages Allocated/sec")]
		REAL64 PagesAllocatedsecperf;

	[PropertyContext("Extents Allocated/sec")]
		REAL64 ExtentsAllocatedsecperf;

	[PropertyContext("Mixed page allocations/sec")]
		REAL64 Mixedpageallocationssecperf;

	[PropertyContext("Extent Deallocations/sec")]
		REAL64 ExtentDeallocationssecperf;

	[PropertyContext("Page Deallocations/sec")]
		REAL64 PageDeallocationssecperf;

	[PropertyContext("Page Splits/sec")]
		REAL64 PageSplitssecperf;

	[PropertyContext("Table Lock Escalations/sec")]
		REAL64 TableLockEscalationssecperf;

};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|SQLServer SQL Statistics")]
Class SQLServerSQLStatistics : Win32_PerfFormattedData 
{
	[PropertyContext("Batch Requests/sec")]
		REAL64 BatchRequestssecperf;

	[PropertyContext("Auto-Param Attempts/sec")]
		REAL64 AutoParamAttemptssecperf;

	[PropertyContext("Failed Auto-Params/sec")]
		REAL64 FailedAutoParamssecperf;

	[PropertyContext("Safe Auto-Params/sec")]
		REAL64 SafeAutoParamssecperf;

	[PropertyContext("Unsafe Auto-Params/sec")]
		REAL64 UnsafeAutoParamssecperf;

	[PropertyContext("SQL Compilations/sec")]
		REAL64 SQLCompilationssecperf;

	[PropertyContext("SQL Re-Compilations/sec")]
		REAL64 SQLReCompilationssecperf;

};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SQLServer Cache Manager")
]
Class SQLServerCacheManager : Win32_PerfFormattedData {
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x20020400),
	PropertyContext("Cache Hit Ratio")
]
	REAL64 CacheHitRatioperf;
[read,
	CounterType(0x00010000),
	PropertyContext("Cache Pages")
]
	REAL64 CachePagesperf;
[read,
	CounterType(0x00010000),
	PropertyContext("Cache Object Counts")
]
	REAL64 CacheObjectCountsperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Cache Use Counts/sec")
]
	REAL64 CacheUseCountssecperf;
};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|SQLServer Memory Manager")]
Class SQLServerMemoryManager : Win32_PerfFormattedData 
{
	[PropertyContext("Connection Memory (KB)")]
		REAL64 ConnectionMemoryKBperf;

	[PropertyContext("Granted Workspace Memory (KB)")]
		REAL64 GrantedWorkspaceMemoryKBperf;

	[PropertyContext("Lock Memory (KB)")]
		REAL64 LockMemoryKBperf;

	[PropertyContext("Lock Blocks Allocated")]
		REAL64 LockBlocksAllocatedperf;

	[PropertyContext("Lock Owner Blocks Allocated")]
		REAL64 LockOwnerBlocksAllocatedperf;

	[PropertyContext("Lock Blocks")]
		REAL64 LockBlocksperf;

	[PropertyContext("Lock Owner Blocks")]
		REAL64 LockOwnerBlocksperf;

	[PropertyContext("Maximum Workspace Memory (KB)")]
		REAL64 MaximumWorkspaceMemoryKBperf;

	[PropertyContext("Memory Grants Outstanding")]
		REAL64 MemoryGrantsOutstandingperf;

	[PropertyContext("Memory Grants Pending")]
		REAL64 MemoryGrantsPendingperf;

	[PropertyContext("Optimizer Memory (KB)")]
		REAL64 OptimizerMemoryKBperf;

	[PropertyContext("SQL Cache Memory (KB)")]
		REAL64 SQLCacheMemoryKBperf;

	[PropertyContext("Target Server Memory(KB)")]
		REAL64 TargetServerMemoryKBperf;

	[PropertyContext("Total Server Memory (KB)")]
		REAL64 TotalServerMemoryKBperf;

};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SQLServer User Settable")
]
Class SQLServerUserSettable : Win32_PerfFormattedData {
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Query")
]
	REAL64 Queryperf;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SQLServer Replication Agents")
]
Class SQLServerReplicationAgents : Win32_PerfFormattedData {
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Running")
]
	REAL64 Runningperf;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SQLServer Replication Merge")
]
Class SQLServerReplicationMerge : Win32_PerfFormattedData {
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x10410400),
	PropertyContext("Uploaded Changes/sec")
]
	REAL64 UploadedChangessecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Downloaded Changes/sec")
]
	REAL64 DownloadedChangessecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Conflicts/sec")
]
	REAL64 Conflictssecperf;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SQLServer Replication Logreader")
]
Class SQLServerReplicationLogreader : Win32_PerfFormattedData {
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Logreader Delivery Latency")
]
	REAL64 LogreaderDeliveryLatencyperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Logreader Delivered Cmds/sec")
]
	REAL64 LogreaderDeliveredCmdssecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Logreader Delivered Trans/sec")
]
	REAL64 LogreaderDeliveredTranssecperf;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SQLServer Replication Dist.")
]
Class SQLServerReplicationDist : Win32_PerfFormattedData {
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x00010000),
	PropertyContext("Dist Delivery Latency")
]
	REAL64 DistDeliveryLatencyperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Dist Delivered Cmds/sec")
]
	REAL64 DistDeliveredCmdssecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Dist Delivered Trans/sec")
]
	REAL64 DistDeliveredTranssecperf;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SQLServer Replication Snapshot")
]
Class SQLServerReplicationSnapshot : Win32_PerfFormattedData {
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x10410400),
	PropertyContext("Snapshot Delivered Cmds/sec")
]
	REAL64 SnapshotDeliveredCmdssecperf;
[read,
	CounterType(0x10410400),
	PropertyContext("Snapshot Delivered Trans/sec")
]
	REAL64 SnapshotDeliveredTranssecperf;
};

[dynamic, read, provider("PerfProv"),
	ProviderClsid("{f00b4404-f8f1-11ce-a5b6-00aa00680c3f}"),
	ClassContext("local|SQLServer Backup Device")
]
Class SQLServerBackupDevice : Win32_PerfFormattedData {
[read, Key
]
	String InstanceName;
[read,
	CounterType(0x10410400),
	PropertyContext("Device Throughput Bytes/sec")
]
	REAL64 DeviceThroughputBytessecperf;
};

[singleton, dynamic, provider("PerfProv"),
ClassContext("local|Application Center Request Forwarder")]
Class ApplicationCenterRequestForwarder : Win32_PerfFormattedData
{
	[PropertyContext("Total Requests")]
		REAL64 TotalRequestsperf;

	[PropertyContext("Total Forwarded Requests")]
		REAL64 TotalForwardedRequestsperf;

	[PropertyContext("Total Dynamic Requests")]
		REAL64 TotalDynamicRequestsperf;

	[PropertyContext("Total Publishing Requests")]
		REAL64 TotalPublishingRequestsperf;

	[PropertyContext("Total Sticky Requests")]
		REAL64 TotalStickyRequestsperf;

	[PropertyContext("Total HTMLA Requests")]
		REAL64 TotalHTMLARequestsperf;

	[PropertyContext("Total AC Web-Admin Requests")]
		REAL64 TotalACWebAdminRequestsperf;

	[PropertyContext("Total Failed Requests")]
		REAL64 TotalFailedRequestsperf;

	[PropertyContext("Total Requests/sec")]
		REAL64 TotalRequestssecperf;

	[PropertyContext("Total Forwarded Requests/sec")]
		REAL64 TotalForwardedRequestssecperf;

	[PropertyContext("Total Dynamic Requests/sec")]
		REAL64 TotalDynamicRequestssecperf;

	[PropertyContext("Total Publishing Requests/sec")]
		REAL64 TotalPublishingRequestssecperf;

	[PropertyContext("Total Sticky Requests/sec")]
		REAL64 TotalStickyRequestssecperf;

	[PropertyContext("Total HTMLA Requests/sec")]
		REAL64 TotalHTMLARequestssecperf;

	[PropertyContext("Total AC Web-Admin Requests/sec")]
		REAL64 TotalACWebAdminRequestssecperf;

	[PropertyContext("Total Failed Requests/sec")]
		REAL64 TotalFailedRequestssecperf;
};

