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
アクセスの種類: 読み取り専用
現在ディスクで使用されているスペースの量 (バイト単位)。
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
アクセスの種類: 読み取り専用
IsOffline が TRUE の場合、このプロパティにはディスクがオフラインになっている理由が含まれます。
次のいずれかの値です。
値 | 意味 |
---|---|
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
アクセスの種類: 読み取り専用
ディスクの合計サイズ (バイト単位)。
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 |