Click to Rate and Give Feedback
MSDN
MSDN Library
WMI Reference
WMI Classes
Win32 Classes
 Win32_DiskDrive Class
Win32_DiskDrive Class

The Win32_DiskDrive WMI class represents a physical disk drive as seen by a computer running the Windows operating system. Any interface to a Windows physical disk drive is a descendent (or member) of this class. The features of the disk drive seen through this object correspond to the logical and management characteristics of the drive. In some cases, this may not reflect the actual physical characteristics of the device. Any object based on another logical device would not be a member of this class.

For security reasons, a user connecting from a remote computer must have the SC_MANAGER_CONNECT privilege enabled to be able to enumerate this class. For more information, see Service Security and Access Rights.

The following syntax is simplified from Managed Object Format (MOF) code and includes all of the inherited properties. Properties are listed in alphabetic order, not MOF order.


class Win32_DiskDrive : CIM_DiskDrive
{
  uint16 Availability;
  uint32 BytesPerSector;
  uint16 Capabilities[];
  string CapabilityDescriptions[];
  string Caption;
  string CompressionMethod;
  uint32 ConfigManagerErrorCode;
  boolean ConfigManagerUserConfig;
  string CreationClassName;
  uint64 DefaultBlockSize;
  string Description;
  string DeviceID;
  boolean ErrorCleared;
  string ErrorDescription;
  string ErrorMethodology;
  string FirmwareRevision;
  uint32 Index;
  datetime InstallDate;
  string InterfaceType;
  uint32 LastErrorCode;
  string Manufacturer;
  uint64 MaxBlockSize;
  uint64 MaxMediaSize;
  boolean MediaLoaded;
  string MediaType;
  uint64 MinBlockSize;
  string Model;
  string Name;
  boolean NeedsCleaning;
  uint32 NumberOfMediaSupported;
  uint32 Partitions;
  string PNPDeviceID;
  uint16 PowerManagementCapabilities[];
  boolean PowerManagementSupported;
  uint32 SCSIBus;
  uint16 SCSILogicalUnit;
  uint16 SCSIPort;
  uint16 SCSITargetId;
  uint32 SectorsPerTrack;
  string SerialNumber;
  uint32 Signature;
  uint64 Size;
  string Status;
  uint16 StatusInfo;
  string SystemCreationClassName;
  string SystemName;
  uint64 TotalCylinders;
  uint32 TotalHeads;
  uint64 TotalSectors;
  uint64 TotalTracks;
  uint32 TracksPerCylinder;
};

Methods

The Win32_DiskDrive class defines the following methods.

Method Description

Reset

Not implemented. To implement this method, see the Reset method in CIM_DiskDrive for documentation.

SetPowerState

Not implemented. To implement this method, see the SetPowerState method in CIM_DiskDrive for documentation.

Properties

The Win32_DiskDrive class defines the following properties.

Availability
Data type: uint16
Access type: Read-only

Availability and status of the device. Inherited from CIM_LogicalDevice.

Value Meaning

1
0x1

Other

2
0x2

Unknown

3
0x3

Running or Full Power

4
0x4

Warning

5
0x5

In Test

6
0x6

Not Applicable

7
0x7

Power Off

8
0x8

Off Line

9
0x9

Off Duty

10
0xA

Degraded

11
0xB

Not Installed

12
0xC

Install Error

13
0xD

Power Save - Unknown

The device is known to be in a power save mode, but its exact status is unknown.

14
0xE

Power Save - Low Power Mode

The device is in a power save state but still functioning, and may exhibit degraded performance.

15
0xF

Power Save - Standby

The device is not functioning, but could be brought to full power quickly.

16
0x10

Power Cycle

17
0x11

Power Save - Warning

The device is in a warning state, though also in a power save mode.

BytesPerSector
Data type: uint32
Access type: Read-only
Qualifiers: Units(Bytes)

Number of bytes in each sector for the physical disk drive.

Example: 512

Capabilities
Data type: uint16 array
Access type: Read-only

Array of capabilities of the media access device. For example, the device may support random access (3), removable media (7), and automatic cleaning (9). This property is inherited from CIM_MediaAccessDevice.

Value Meaning

0

Unknown

1

Other

2

Sequential Access

3

Random Access

4

Supports Writing

5

Encryption

6

Compression

7

Supports Removable Media

8

Manual Cleaning

9

Automatic Cleaning

10

SMART Notification

11

Supports Dual-Sided Media

12

Ejection Prior to Drive Dismount Not Required

CapabilityDescriptions
Data type: string array
Access type: Read-only

List of more detailed explanations for any of the access device features indicated in the Capabilities array. Note, each entry of this array is related to the entry in the Capabilities array that is located at the same index. This property is inherited from CIM_MediaAccessDevice.

Caption
Data type: string
Access type: Read-only

Short description (one-line string) of the object. This property is inherited from CIM_ManagedSystemElement.

CompressionMethod
Data type: string
Access type: Read-only

Algorithm or tool used by the device to support compression. This property is inherited from CIM_MediaAccessDevice.

The name of the compression algorithm or one of the following values.

Value Meaning

Unknown

Whether the device supports compression capabilities or not is not known.

Compressed

The device supports compression capabilities but its compression scheme is not known or not disclosed.

Not Compressed

The device does not support compression.

ConfigManagerErrorCode
Data type: uint32
Access type: Read-only

Windows Configuration Manager error code.

Value Meaning

0
0x0

Device is working properly.

1
0x1

Device is not configured correctly.

2
0x2

Windows cannot load the driver for this device.

3
0x3

Driver for this device might be corrupted, or the system may be low on memory or other resources.

4
0x4

Device is not working properly. One of its drivers or the registry might be corrupted.

5
0x5

Driver for the device requires a resource that Windows cannot manage.

6
0x6

Boot configuration for the device conflicts with other devices.

7
0x7

Cannot filter.

8
0x8

Driver loader for the device is missing.

9
0x9

Device is not working properly. The controlling firmware is incorrectly reporting the resources for the device.

10
0xA

Device cannot start.

11
0xB

Device failed.

12
0xC

Device cannot find enough free resources to use.

13
0xD

Windows cannot verify the device's resources.

14
0xE

Device cannot work properly until the computer is restarted.

15
0xF

Device is not working properly due to a possible re-enumeration problem.

16
0x10

Windows cannot identify all of the resources that the device uses.

17
0x11

Device is requesting an unknown resource type.

18
0x12

Device drivers must be reinstalled.

19
0x13

Failure using the VxD loader.

20
0x14

Registry might be corrupted.

21
0x15

System failure. If changing the device driver is ineffective, see the hardware documentation. Windows is removing the device.

22
0x16

Device is disabled.

23
0x17

System failure. If changing the device driver is ineffective, see the hardware documentation.

24
0x18

Device is not present, not working properly, or does not have all of its drivers installed.

25
0x19

Windows is still setting up the device.

26
0x1A

Windows is still setting up the device.

27
0x1B

Device does not have valid log configuration.

28
0x1C

Device drivers are not installed.

29
0x1D

Device is disabled. The device firmware did not provide the required resources.

30
0x1E

Device is using an IRQ resource that another device is using.

31
0x1F

Device is not working properly. Windows cannot load the required device drivers.

ConfigManagerUserConfig
Data type: boolean
Access type: Read-only

If True, the device is using a user-defined configuration. This property is inherited from CIM_LogicalDevice.

CreationClassName
Data type: string
Access type: Read-only

Name of the first concrete class to appear in the inheritance chain used in the creation of an instance. When used with the other key properties of the class, the property allows all instances of this class and its subclasses to be uniquely identified. This property is inherited from CIM_LogicalDevice.

DefaultBlockSize
Data type: uint64
Access type: Read-only

Default block size, in bytes, for this device. This property is inherited from CIM_MediaAccessDevice.

For more information about using uint64 values in scripts, see Scripting in WMI.

Description
Data type: string
Access type: Read-only

Description of the object. This property is inherited from CIM_ManagedSystemElement.

DeviceID
Data type: string
Access type: Read-only
Qualifiers: Key

Unique identifier of the disk drive with other devices on the system. This property is inherited from CIM_LogicalDevice.

ErrorCleared
Data type: boolean
Access type: Read-only

If True, the error reported in LastErrorCode is now cleared. This property is inherited from CIM_LogicalDevice.

ErrorDescription
Data type: string
Access type: Read-only

More information about the error recorded in LastErrorCode, and information on any corrective actions that may be taken. This property is inherited from CIM_LogicalDevice.

ErrorMethodology
Data type: string
Access type: Read-only

Type of error detection and correction supported by this device. This property is inherited from CIM_MediaAccessDevice.

FirmwareRevision
Data type: string
Access type: Read-only

Revision for the disk drive firmware that is assigned by the manufacturer.

Windows Server 2003, Windows XP, Windows 2000, and Windows NT 4.0:  This property is not available.
Index
Data type: uint32
Access type: Read-only

Physical drive number of the given drive. This property is filled by the GetDriveMapInfo method. A value of 0xFF indicates that the given drive does not map to a physical drive.

Example: 1

InstallDate
Data type: datetime
Access type: Read-only

Date and time the object was installed. This property does not need a value to indicate that the object is installed. This property is inherited from CIM_ManagedSystemElement.

InterfaceType
Data type: string
Access type: Read-only

Interface type of physical disk drive.

The values are:

SCSI

HDC

IDE

USB

1394

LastErrorCode
Data type: uint32
Access type: Read-only

Last error code reported by the logical device. This property is inherited from CIM_LogicalDevice.

Manufacturer
Data type: string
Access type: Read-only

Name of the disk drive manufacturer.

Example: "Seagate"

MaxBlockSize
Data type: uint64
Access type: Read-only

Maximum block size, in bytes, for media accessed by this device. This property is inherited from CIM_MediaAccessDevice.

For more information about using uint64 values in scripts, see Scripting in WMI.

MaxMediaSize
Data type: uint64
Access type: Read-only

Maximum media size, in kilobytes, of media supported by this device. This property is inherited from CIM_MediaAccessDevice.

For more information about using uint64 values in scripts, see Scripting in WMI.

MediaLoaded
Data type: boolean
Access type: Read-only

If True, the media for a disk drive is loaded. For fixed disk drives, this property will always be TRUE.

MediaType
Data type: string
Access type: Read-only

Type of media used or accessed by this device.

Starting with Windows Vista, possible values are:

External hard disk media

Removable media other than floppy

Fixed hard disk media

Format is unknown

Windows Server 2003, Windows XP, Windows 2000, and Windows NT 4.0:  Possible values are:

Removable media

Fixed hard disk

Unknown

MinBlockSize
Data type: uint64
Access type: Read-only

Minimum block size, in bytes, for media accessed by this device. This property is inherited from CIM_MediaAccessDevice.

For more information about using uint64 values in scripts, see Scripting in WMI.

Model
Data type: string
Access type: Read-only

Manufacturer's model number of the disk drive.

Example: "ST32171W"

Name
Data type: string
Access type: Read-only

Label by which the object is known. When subclassed, the property can be overridden to be a key property. This property is inherited from CIM_ManagedSystemElement.

NeedsCleaning
Data type: boolean
Access type: Read-only

If True, the media access device needs cleaning. Whether manual or automatic cleaning is possible is indicated in the Capabilities property. This property is inherited from CIM_MediaAccessDevice.

NumberOfMediaSupported
Data type: uint32
Access type: Read-only

Maximum number of media which can be supported or inserted (when the media access device supports multiple individual media). This property is inherited from CIM_MediaAccessDevice.

Partitions
Data type: uint32
Access type: Read-only

Number of partitions on this physical disk drive that are recognized by the operating system.

Example: 2

PNPDeviceID
Data type: string
Access type: Read-only

Windows Plug and Play device identifier of the logical device. This property is inherited from CIM_LogicalDevice.

Example: "*PNP030b"

PowerManagementCapabilities
Data type: uint16 array
Access type: Read-only

Array of the specific power-related capabilities of a logical device. This property is inherited from CIM_LogicalDevice.

Value Meaning

0
0x0

Unknown

1
0x1

Not Supported

2
0x2

Disabled

3
0x3

Enabled

The power management features are currently enabled but the exact feature set is unknown or the information is unavailable.

4
0x4

Power Saving Modes Entered Automatically

The device can change its power state based on usage or other criteria.

5
0x5

Power State Settable

The SetPowerState method is supported. This method is found on the parent CIM_LogicalDevice class and can be implemented. For more information, see Designing Managed Object Format (MOF) Classes.

6
0x6

Power Cycling Supported

The SetPowerState method can be invoked with the PowerState parameter set to 5 (Power Cycle).

7
0x7

Timed Power-On Supported

The SetPowerState method can be invoked with the PowerState parameter set to 5 (Power Cycle) and Time set to a specific date and time, or interval, for power-on.

PowerManagementSupported
Data type: boolean
Access type: Read-only

If True, the device can be power-managed (can be put into suspend mode, and so on). The property does not indicate that power management features are currently enabled, only that the logical device is capable of power management. This property is inherited from CIM_LogicalDevice.

SCSIBus
Data type: uint32
Access type: Read-only

SCSI bus number of the disk drive.

Example: 0

SCSILogicalUnit
Data type: uint16
Access type: Read-only

SCSI logical unit number (LUN) of the disk drive.

Example: 0

SCSIPort
Data type: uint16
Access type: Read-only

SCSI port number of the disk drive.

Example: 0

SCSITargetId
Data type: uint16
Access type: Read-only

SCSI identifier number of the disk drive.

Example: 0

SectorsPerTrack
Data type: uint32
Access type: Read-only

Number of sectors in each track for this physical disk drive.

Example: 63

SerialNumber
Data type: string
Access type: Read-only

Number allocated by the manufacturer to identify the physical media.

Example: WD-WM3493798728

Windows Server 2003, Windows XP, Windows 2000, and Windows NT 4.0:  This property is not available.
Signature
Data type: uint32
Access type: Read-only

Disk identification. This property can be used to identify a shared resource. This property has been added for Windows XP.

Size
Data type: uint64
Access type: Read-only
Qualifiers: Units(Bytes)

Size of the disk drive. It is calculated by multiplying the total number of cylinders, tracks in each cylinder, sectors in each track, and bytes in each sector.

For more information about using uint64 values in scripts, see Scripting in WMI.

Status
Data type: string
Access type: Read-only
Qualifiers: MaxLen(10)

Current status of the object. Various operational and nonoperational statuses can be defined. Operational statuses include: "OK", "Degraded", and "Pred Fail" (an element, such as a SMART-enabled hard disk drive, may be functioning properly but predicting a failure in the near future). Nonoperational statuses include: "Error", "Starting", "Stopping", and "Service". The latter, "Service", could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is online, yet the managed element is neither "OK" nor in one of the other states. This property is inherited from CIM_ManagedSystemElement.

Values are:

"OK"

"Error"

"Degraded"

"Unknown"

"Pred Fail"

"Starting"

"Stopping"

"Service"

"Stressed"

"NonRecover"

"No Contact"

"Lost Comm"

StatusInfo
Data type: uint16
Access type: Read-only

State of the logical device. If this property does not apply to the logical device, the value 5 (Not Applicable) should be used. This property is inherited from CIM_LogicalDevice.

Value Meaning

1
0x1

Other

2
0x2

Unknown

3
0x3

Enabled

4
0x4

Disabled

5
0x5

Not Applicable

SystemCreationClassName
Data type: string
Access type: Read-only

Value of the scoping computer's CreationClassName property. This property is inherited from CIM_LogicalDevice.

SystemName
Data type: string
Access type: Read-only

Name of the scoping system. This property is inherited from CIM_LogicalDevice.

TotalCylinders
Data type: uint64
Access type: Read-only

Total number of cylinders on the physical disk drive. Note: the value for this property is obtained through extended functions of BIOS interrupt 13h. The value may be inaccurate if the drive uses a translation scheme to support high-capacity disk sizes. Consult the manufacturer for accurate drive specifications.

Example: 657

For more information about using uint64 values in scripts, see Scripting in WMI.

TotalHeads
Data type: uint32
Access type: Read-only

Total number of heads on the disk drive. Note: the value for this property is obtained through extended functions of BIOS interrupt 13h. The value may be inaccurate if the drive uses a translation scheme to support high-capacity disk sizes. Consult the manufacturer for accurate drive specifications.

TotalSectors
Data type: uint64
Access type: Read-only

Total number of sectors on the physical disk drive. Note: the value for this property is obtained through extended functions of BIOS interrupt 13h. The value may be inaccurate if the drive uses a translation scheme to support high-capacity disk sizes. Consult the manufacturer for accurate drive specifications.

Example: 2649024

For more information about using uint64 values in scripts, see Scripting in WMI.

TotalTracks
Data type: uint64
Access type: Read-only

Total number of tracks on the physical disk drive. Note: the value for this property is obtained through extended functions of BIOS interrupt 13h. The value may be inaccurate if the drive uses a translation scheme to support high-capacity disk sizes. Consult the manufacturer for accurate drive specifications.

Example: 42048

For more information about using uint64 values in scripts, see Scripting in WMI.

TracksPerCylinder
Data type: uint32
Access type: Read-only

Number of tracks in each cylinder on the physical disk drive. Note: the value for this property is obtained through extended functions of BIOS interrupt 13h. The value may be inaccurate if the drive uses a translation scheme to support high-capacity disk sizes. Consult the manufacturer for accurate drive specifications.

Example: 64

Remarks

The Win32_DiskDrive class is derived from CIM_DiskDrive which derives from CIM_MediaAccessDevice. The CIM_MediaAccessDevice class derives from CIM_LogicalDevice.

Examples

For script code examples, see WMI Tasks for Scripts and Applications and the TechNet ScriptCenter Script Repository.

For C++ code examples, see WMI C++ Application Examples.

Requirements

Client Requires Windows Vista, Windows XP, Windows 2000 Professional, or Windows NT Workstation 4.0 SP4 and later.
Server Requires Windows Server 2008, Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0 SP4 and later.
MOF

Declared in Cimwin32.mof.

DLL

Requires Cimwin32.dll.

Namespace

Defined in \root\cimv2.

See Also

Computer System Hardware Classes


Send comments about this topic to Microsoft

Build date: 8/20/2008

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Signature      Jakub Nietrzeba   |   Edit   |  
Field Signature is marked as unsigned integer (ui4), but when it is quered from COM interface it is returned as VT_I4 which is signed type (should be VT_UI4). This require to do ugly hacks for proper work. Requesting this field from VB is ok, but from C++ there is wrong value returned.

Tags What's this?: bug (x) Add a tag
Flag as ContentBug
Processing
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker