DiskIo_TypeGroup1 class

This class is the event type class for disk I/O events.

The following syntax is simplified from MOF code.

Syntax

[EventType{10,11}, EventTypeName{"Read","Write"}]
class DiskIo_TypeGroup1 : DiskIo
{
  uint32 DiskNumber;
  uint32 IrpFlags;
  uint32 TransferSize;
  uint32 Reserved;
  sint64 ByteOffset;
  uint32 FileObject;
  uint32 Irp;
  uint64 HighResResponseTime;
  uint32 IssuingThreadId;
};

Members

The DiskIo_TypeGroup1 class has these types of members:

Properties

The DiskIo_TypeGroup1 class has these properties.

ByteOffset

Data type: sint64

Access type: Read-only

Qualifiers: WmiDataId (5)

Byte offset from the beginning of the physical disk.

DiskNumber

Data type: uint32

Access type: Read-only

Qualifiers: WmiDataId (1)

Number that identifies the physical disk.

FileObject

Data type: uint32

Access type: Read-only

Qualifiers: WmiDataId (6), Pointer

Match the value of this pointer to the FileObject pointer value in a FileIo_Name event to determine the file involved in the I/O operation.

HighResResponseTime

Data type: uint64

Access type: Read-only

Qualifiers: WmiDataId (8)

The time between I/O initiation and completion as measured by the partition manager (in the KeQueryPerformanceCounter tick units).

Windows Server 2003: This property has a WmiDataId value of 7.

Windows 2000 Server and Windows 2000 Professional: This property is not supported.

Irp

Data type: uint32

Access type: Read-only

Qualifiers: WmiDataId (7), Pointer

The I/O request packet, which identifies the I/O activity.

Windows Server 2003, Windows 2000 Server and Windows 2000 Professional: This property is not supported.

IrpFlags

Data type: uint32

Access type: Read-only

Qualifiers: WmiDataId (2), Format ("x")

Can contain one or more of the following I/O request packet flags (defined in Ntddk.h, which is a DDK header file):

IRP_NOCACHE

IRP_PAGING_IO

IRP_MOUNT_COMPLETION

IRP_SYNCHRONOUS_API

IRP_ASSOCIATED_IRP

IRP_BUFFERED_IO

IRP_DEALLOCATE_BUFFER

IRP_INPUT_OPERATION

IRP_SYNCHRONOUS_PAGING_IO

IRP_CREATE_OPERATION

IRP_READ_OPERATION

IRP_WRITE_OPERATION

IRP_CLOSE_OPERATION

IRP_DEFER_IO_COMPLETION

IssuingThreadId

Data type: uint32

Access type: Read-only

Qualifiers: WmiDataId (9)

The identifier of the issuing thread.

Windows Server 2008 R2, Windows Server 2008, Windows 7, Windows Vista, Windows Server 2003 with SP1, Windows Server 2003, Windows 2000 Server and Windows 2000 Professional: This property is not supported.

Reserved

Data type: uint32

Access type: Read-only

Qualifiers: WmiDataId (4)

Reserved.

Windows Server 2008 R2, Windows Server 2008 and Windows 7: The name of the property is QueueDepth, which contains the CPU tick count from the beginning of the operation to the end of the operation. Note that this value can overflow.

Windows Vista, Windows Server 2003 with SP1, Windows Server 2003, Windows 2000 Server and Windows 2000 Professional: The name of the property is ResponseTime, which contains the CPU tick count from the beginning of the operation to the end of the operation. Note that this value can overflow.

TransferSize

Data type: uint32

Access type: Read-only

Qualifiers: WmiDataId (3)

Size of data read to or written from disk, in bytes.

Remarks

Windows Server 2003 uses the following definition for the DiskIo_TypeGroup1 event type class.

[EventType{10, 11}, EventTypeName{"Read", "Write"}]
class DiskIo_TypeGroup1 : DiskIo
{
    [WmiDataId(1), read] uint32 DiskNumber;
    [WmiDataId(2), format("x"), read] uint32 IrpFlags;
    [WmiDataId(3), read] uint32 TransferSize;
    [WmiDataId(4), read] uint32 ResponseTime;
    [WmiDataId(5), read] uint64 ByteOffset;
    [WmiDataId(6), pointer, read] uint32 FileObject;
    [WmiDataId(7), read] uint64 HighResResponseTime;
};

The ResponseTime property contains the CPU tick count from the beginning of the operation to the end of the operation. Note that this value can overflow.

The HighResResponseTime property is not supported.

Windows Server 2003 with SP1 and Windows Vista uses the following definition for the DiskIo_TypeGroup1 event type class.

[EventType{10, 11}, EventTypeName{"Read", "Write"}]
class DiskIo_TypeGroup1 : DiskIo
{
    [WmiDataId(1), read] uint32 DiskNumber;
    [WmiDataId(2), format("x"), read] uint32 IrpFlags;
    [WmiDataId(3), read] uint32 TransferSize;
    [WmiDataId(4), read] uint32 ResponseTime;
    [WmiDataId(5), read] uint64 ByteOffset;
    [WmiDataId(6), pointer, read] uint32 FileObject;
    [WmiDataId(7), pointer, read] uint32 Irp;
    [WmiDataId(8), read] uint64 HighResResponseTime;
};

The Irp property is the I/O request packet. This property identifies the I/O activity. You can use this property with the DiskIo_TypeGroup2 events to correlate response time.

The HighResResponseTime property is supported. The property contains the time between I/O initiation and completion as measured by PartitionManager (in the KeQueryPerformanceCounter units). Use this property instead of the ResponseTime property to determine the disk I/O response time.

Requirements

Requirement Value
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]

See also

DiskIo