次の方法で共有


MSFT_Disk クラス

Windows ディスクを表します。

MSFT_Disk オブジェクトは Windows オペレーティング システムのディスク デバイスの概念を手本にします。 ディスクは、コンピューター システムに直接接続、またはストレージ管理プロバイダーを使用してシステムに公開される仮想ディスクである可能性があります。

次の構文は、Managed Object Format (MOF) コードをシンプルにしたものです。

構文

class MSFT_Disk : MSFT_StorageObject
{
  String  Path;
  String  Location;
  String  FriendlyName;
  String  UniqueId;
  UInt16  UniqueIdFormat;
  UInt32  Number;
  String  SerialNumber;
  String  FirmwareVersion;
  String  Manufacturer;
  String  Model;
  UInt64  Size;
  UInt64  AllocatedSize;
  UInt32  LogicalSectorSize;
  UInt32  PhysicalSectorSize;
  UInt64  LargestFreeExtent;
  UInt32  NumberOfPartitions;
  UInt16  ProvisioningType;
  UInt16  OperationalStatus;
  UInt16  HealthStatus;
  UInt16  BusType;
  UInt16  PartitionStyle;
  UInt32  Signature;
  String  Guid;
  Boolean IsOffline;
  UInt16  OfflineReason;
  Boolean IsReadOnly;
  Boolean IsSystem;
  Boolean IsClustered;
  Boolean IsBoot;
  Boolean BootFromDisk;
};

メンバー

MSFT_Disk クラスには、次の種類のメンバーがあります。

メソッド

MSFT_Disk クラスには、次のメソッドがあります。

Method 説明
Clear パーティション情報を削除してディスクを初期化解除し、RAW 状態に戻します。
ConvertStyle 既に初期化済みのディスクのパーティション スタイルを変換します。
CreatePartition ディスクにパーティションを作成します。
Initialize 特定のパーティション スタイルで RAW ディスクを初期化します。
"オフライン" ディスクをオフラインにします。
オンライン ディスクをオンラインにします。
[更新] キャッシュされたディスクのレイアウト情報を更新します。
SetAttributes ディスクの属性およびプロパティを設定します。

プロパティ

MSFT_Disk クラスには、次のプロパティがあります。

AllocatedSize

データ型: UInt64

アクセスの種類: 読み取り専用

修飾子: 必須単位 (Bytes)

現在ディスクで使用されているスペースの量 (バイト単位)。

BootFromDisk

データ型: Boolean

アクセスの種類: 読み取り専用

コンピューターがこのディスクから起動するように構成されている場合は TRUE です。 BIOS のファームウェアを搭載したコンピューターでは、これはファームウェアが起動中に検出する最初のディスクです。 EFI ファームウェアを搭載したコンピューターでは、これは EFI システム パーティション (ESP) を含むディスクです。 ディスクがない場合、または ESP パーティションを使用する複数のディスクがある場合、このプロパティはどのディスクにも設定されません。

BusType

データ型: UInt16

アクセスの種類: 読み取り専用

ディスクが使用する I/O バスの種類。

Value 意味
不明 0 バスの種類が不明です。
SCSI 1 SCSI
ATAPI 2 ATAPI
ATA 3 ATA
1394 4 IEEE 1394
SSA 5 SSA
ファイバー チャネル 6 ファイバー チャネル
USB 7 USB
RAID 8 RAID
iSCSI 9 iSCSI
SAS 10 Serial Attached SCSI (SAS)
SATA 11 シリアル ATA (SATA)
SD 12 セキュア デジタル (SD)
MMC 13 マルチメディア カード (MMC)
仮想 14 この値は、システム使用のために予約されています。
File Backed Virtual 15 ファイルがバッキングされた仮想
ストレージ スペース 16 記憶域スペース
NVMe 17 NVMe

FirmwareVersion

データ型: 文字列

アクセスの種類: 読み取り専用

ディスクのファームウェア バージョンの文字列表現。

FriendlyName

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: 必須

ディスクを識別するための、わかりやすい表示指向の文字列。

GUID

データ型: 文字列

アクセスの種類: 読み取り専用

PartitionStyle が GPT である場合、このプロパティにはディスクの GUID が含まれます。 他のすべての種類のディスクでは、このプロパティは NULL になります。

HealthStatus

データ型: UInt16

アクセスの種類: 読み取り専用

ディスク デバイスの正常性状態。

Value 意味
正常 0 ディスクは正常に機能しています。
警告 1 ディスクはまだ機能していますが、管理者の介入を必要とするエラーまたは問題が検出されました。
異常 2 エラーまたは故障が原因で、ボリュームが機能していません。 ボリュームには、管理者の即時の注意が必要です。

IsBoot

データ型: Boolean

アクセスの種類: 読み取り専用

ディスクにブート パーティションが含まれている場合は TRUE です。

IsClustered

データ型: Boolean

アクセスの種類: 読み取り専用

クラスター環境でディスクが使用されている場合は TRUE、それ以外の場合は FALSE です。

IsOffline

データ型: Boolean

アクセスの種類: 読み取り専用

ディスクがオフラインの場合は TRUE、それ以外の場合は FALSE です。

IsReadOnly

データ型: Boolean

アクセスの種類: 読み取り専用

ディスクが読み取り専用の場合は TRUE、読み取り/書き込みである場合は FALSE です。

IsSystem

データ型: Boolean

アクセスの種類: 読み取り専用

このディスクにシステム パーティションが含まれている場合は TRUE、それ以外の場合は FALSE です。

LargestFreeExtent

データ型: UInt64

アクセスの種類: 読み取り専用

修飾子: 単位 (バイト)

ディスク上の空き容量の最大連続ブロック。 これは、ディスクに作成できるパーティションの最大サイズでもあります。

場所

データ型: String

アクセスの種類: 読み取り専用

ディスクの PnP ロケーション パスを含む文字列。 この文字列の書式は、バスの種類によって異なります。 バスの種類が SCSI、SAS、または PCI RAID の場合、書式は AdapterPnpLocationPath#BusType(PPathIdTTargetIdLLunId) です。 バスの種類が IDE、ATA、PATA または SATA の場合、書式は AdapterPnpLocationPath#BusType(CPathIdTTargetIdLLunId) です。 この文字列の一部を一覧表示するテーブルについては、次の「解説」セクションを参照してください。

Note

Hyper-V イメージと VHD イメージの場合は仮想コントローラーがロケーション パスを返さないため、このプロパティは NULL です。

このプロパティの詳細については、以下の「解説」を参照してください。

LogicalSectorSize

データ型: UInt32

アクセスの種類: 読み取り専用

修飾子: 単位 (バイト)

ディスクの論理セクター サイズ (バイト単位)。 たとえば、4K ネイティブ ディスクは 4096 を報告し、512 エミュレート ディスクは 512 を報告します。

メーカー

データ型: 文字列

アクセスの種類: 読み取り専用

ディスク ハードウェア製造元の文字列表現。

モデル

データ型: 文字列

アクセスの種類: 読み取り専用

ディスクのモデル番号の文字列表現。

番号

データ型: UInt32

アクセスの種類: 読み取り専用

ディスクのオペレーティング システム番号。 通常、ディスク 0 はブート デバイスです。 ディスク番号は、再起動すると必ずしも同じままであるとは限りません。

NumberOfPartitions

データ型: UInt32

アクセスの種類: 読み取り専用

ディスク上に作成されたパーティション数。

OfflineReason

データ型: UInt16

アクセスの種類: 読み取り専用

IsOfflineTRUE の場合、このプロパティにはディスクがオフラインになっている理由が含まれます。

次のいずれかの値です。

意味
Policy 1 ユーザーがディスクをオフラインにすることを要求しました。
冗長パス 2 ディスクは、マルチパス I/O に使用されます。
スナップショット 3 ディスクはスナップショットディスクです。
競合 4 別のディスクと、署名または識別子の競合が発生しました。
リソース消費 5 ディスクをオンラインにするにはリソースが不足していました。
重大な書き込みエラー 6 ディスクに重大な書き込みエラーが発生しました。
データ整合性スキャンが必要 7 データ整合性スキャンが必要です。

OperationalStatus

データ型: UInt16

アクセスの種類: 読み取り専用

ディスク デバイスの操作状態です。

Value 意味
不明 0 動作状態が不明です。
その他 1 ベンダー固有の OperationalStatus は、 OtherOperationalStatusDescription プロパティを設定することによって指定されます。
OK 2 ディスクはコマンドに応答しており、通常の動作状態です。
低下 3 ディスクはコマンドに応答していますが、最適な動作状態で実行しているわけではありません。
負荷 4 ディスクは機能していますが、注意が必要です。 たとえば、ディスクが過負荷であるか過熱している可能性があります。
予測される障害 5 ディスクは機能していますが、近い将来に故障が発生する可能性があります。
エラー 6 エラーが発生しました。
回復不可能なエラー 7 回復不能なエラーが発生しました。
開始中 8 ディスクは開始中です。
停止中 9 ディスクは停止中です。
停止 10 ディスクは、正しい手順で停止またはシャットダウンされました。
サービス中 11 ディスクは、構成、保守、クリーニング、または管理中です。
接続なし 12 ストレージ プロバイダーはディスクに関する知識を持っていますが、ストレージ プロバイダーとの通信を確立できませんでした。
通信の切断 13 ストレージ プロバイダーはディスクに関する知識を持ち、過去に正常に接続しましたが、現在はディスクに接続できません。
中止 14 停止と同様に、ディスクが突然停止し、構成または保守が必要な場合があります。
休止中 15 ディスクには到達できますが、非アクティブです。
エラー状態のサポート エンティティ 16 この状態値は、必ずしもディスクの問題を示しているわけではなく、ディスクが依存している別のデバイスまたは接続に注意が必要な場合があることを示しています。
完了 17 ディスクが操作を完了しました。 この状態値は、操作の結果に応じて、OK、エラー、または低下と組み合わせる必要があります。
オンライン 0xD010 Windows ベースのストレージ サブシステムで、オブジェクトがオンラインであることを示します。
準備中 0xD011 Windows ベースのストレージ サブシステムで、オブジェクトが準備中であることを示します。
メディアなし 0xD012 Windows ベースのストレージ サブシステムで、オブジェクトにメディアがないことを示します。
オフライン 0xD013 Windows ベースのストレージ サブシステムで、オブジェクトがオフラインであることを示します。
失敗 0xD014 Windows ベースのストレージ サブシステムで、オブジェクトが失敗状態であることを示します。

PartitionStyle

データ型: UInt16

アクセスの種類: 読み取り専用

修飾子: 必須

ディスクが使用するパーティション スタイルです。

Value 意味
不明 0 パーティション スタイルが不明です。
MBR 1 マスター ブート レコード (MBR)
GPT 2 GUID パーティション テーブル (GPT)

Path

データ型: String

アクセスの種類: 読み取り専用

修飾子: 必須

ディスク デバイスへのオペレーティング システム ハンドルを開くために使用できるパス。

PhysicalSectorSize

データ型: UInt32

アクセスの種類: 読み取り専用

修飾子: 単位 (バイト)

ディスクの物理セクター サイズ (バイト単位)。 たとえば、4K ネイティブ ディスクと 512 エミュレート ディスクの両方共 4096 を報告します。

ProvisioningType

データ型: UInt16

アクセスの種類: 読み取り専用

ディスク デバイスのプロビジョニングの種類。

Value 意味
不明 0 プロビジョニング スキームは指定されていません。
仮想 1 ディスクのストレージはオンデマンドで割り当てられます。
固定 2 ストレージはディスクの作成時に割り当てられます。

SerialNumber

データ型: 文字列

アクセスの種類: 読み取り専用

ディスクのシリアル番号の文字列表現。

Signature

データ型: UInt32

アクセスの種類: 読み取り専用

PartitionStyle が MBR の場合、このプロパティには MBR パーティション署名が含まれます。 他のすべての種類のディスクでは、このプロパティは NULL になります。

[サイズ]

データ型: UInt64

アクセスの種類: 読み取り専用

修飾子: 必須単位 (Bytes)

ディスクの合計サイズ (バイト単位)。

UniqueId

データ型: String

アクセスの種類: 読み取り専用

ディスク識別子です。 これには、このディスクを一意に識別する VPD ページ 0x83 情報が含まれます。 次の型が受け入れられます (優先順位順)。

  • 8 (SCSI 名文字列)
  • 3 (FCPH 名)
  • 2 (EUI64)
  • 1 (ベンダー Id)
  • 0 (ベンダー固有)

ディスクが公開済みの仮想ディスクである場合、2 つのオブジェクト間の関連付けをマッピングするために UniqueId が使用されます。

UniqueIdFormat

データ型: UInt16

アクセスの種類: 読み取り専用

修飾子: ("ベンダー固有"、"ベンダー Id"、"EUI64"、"FCPH 名"、"SCSI 名文字列")、ValueMap ("0"、"1"、"2"、"3"、"8")

ディスク識別子の形式。 このプロパティには、UniqueId プロパティを設定するために使用した、VPD ページ 0x83 記述子が含まれます。

解説

次のテーブルには、Location プロバイダーで使用するロケーション パス文字列の一部が列記されています。

ロケーション パス部分 説明
AdapterPnpLocationPath アダプターの PnP ロケーション パス。 これは、SetupDiGetDeviceProperty 関数を呼び出して、PropertyKey パラメーターに &DEVPKEY_Device_LocationPaths を渡して取得します。
BusType バスの種類: ATA、RAID、SAS、または SCSI。 注: バスの種類が IDE、PATA、または SATA の場合は、ロケーション パス文字列に ATA として表示されます。 PCI RAID の場合は、RAID として表示されます。
PathId バスの数 これは、IOCTL_SCSI_GET_ADDRESS 制御コードが返す、SCSI_ADDRESS 構造の PathId メンバーの値です。
TargetId ターゲット デバイスの番号です。 これは、IOCTL_SCSI_GET_ADDRESS 制御コードが返す、SCSI_ADDRESS 構造の TargetId メンバーの値です。
LunId LUN の番号です。 これは、IOCTL_SCSI_GET_ADDRESS 制御コードが返す、SCSI_ADDRESS 構造の Lun メンバーの値です。

次のテーブルに、ロケーション パスの例を示します。

バスの種類 ロケーション パス例
ATA PCIROOT(0)#PCI(0100)#ATA(C01T03L00)
RAID PCIROOT(0)#PCI(0200)#PCI(0003)#PCI(0100)#RAID(P02T00L00)
SAS PCIROOT(1)#PCI(0300)#SAS(P00T03L00)
SCSI PCIROOT(0)#PCI(1C00)#PCI(0000)#SCSI(P00T01L01)

Windows 10: MSFT_Disk 以降では、 MSFT_StorageObjectから派生します。 以前は MSFT_Disk のプロパティであった ObjectId プロパティを継承するようになりました。

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
名前空間 Root\Microsoft\Windows\Storage
MOF Storagewmi.mof