MSFT_Disk 類別

代表 Windows 磁碟。

MSFT_Disk物件會建立 Windows 作業系統磁碟裝置概念的模型。 磁碟可以直接連接到計算機系統,或者可能是透過使用記憶體管理提供者向系統公開的虛擬磁碟。

下列語法是從 Managed 物件格式 (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 類別具有這些方法。

方法 描述
Clear 拿掉分割區資訊,並將磁碟取消初始化,並將它傳回RAW狀態。
ConvertStyle 轉換已初始化磁碟的數據分割樣式。
CreatePartition 在磁碟上建立分割區。
Initialize 使用特定分割區樣式初始化RAW磁碟。
離線 讓磁碟離線。
線上存取 讓磁碟上線。
重新整理 重新整理快取的磁碟配置資訊。
SetAttributes 設定磁碟的屬性和屬性。

屬性

MSFT_Disk 類別具有這些屬性。

AllocatedSize

數據類型: UInt64

存取類型:唯讀

限定元: 必要單位 (位元組)

目前在磁碟上使用的空間量,以位元組為單位。

BootFromDisk

數據類型: 布爾值

存取類型:唯讀

如果計算機設定為從此磁碟啟動,則為TRUE 。 在具有 BIOS 韌體的計算機上,這是韌體在啟動期間偵測到的第一個磁碟。 在使用EFI韌體的計算機上,這是包含EFI系統分割區 (ESP) 的磁碟。 如果沒有磁碟,或具有ESP磁碟分區的多個磁碟,則不會針對任何磁碟設定此屬性。

BusType

數據類型: UInt16

存取類型:唯讀

磁碟所使用的 I/O 總線類型。

意義
未知 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 序列連結 SCSI (SAS)
SATA 11 序列 ATA (SATA)
SD 12 安全數位 (SD)
MMC 13 多媒體卡 (MMC)
虛擬 14 此值保留給系統使用。
檔案支持的虛擬 15 檔案支持的虛擬
儲存空間 16 儲存空間
NVMe 17 NVMe

FirmwareVersion

數據類型: 字串

存取類型:唯讀

磁碟韌體版本的字串表示。

FriendlyName

數據類型: 字串

存取類型:唯讀

限定符: 必要

用戶易記的顯示導向字串,用來識別磁碟。

GUID

數據類型: 字串

存取類型:唯讀

如果 PartitionStyle 是 GPT,這個屬性會包含磁碟的 GUID。 此屬性會是所有其他磁碟類型的NULL。

HealthStatus

數據類型: UInt16

存取類型:唯讀

磁碟裝置的健康情況狀態。

意義
狀況良好 0 磁碟正常運作。
警告 1 磁碟仍在運作中,但偵測到需要系統管理員介入的錯誤或問題。
狀況不良 2 磁碟區因錯誤或失敗而無法運作。 磁碟區需要系統管理員立即注意。

IsBoot

數據類型: 布爾值

存取類型:唯讀

如果磁碟包含開機磁碟分區,則為TRUE

IsClustered

數據類型: 布爾值

存取類型:唯讀

如果磁碟用於叢集環境,則為TRUE,否則為 FALSE

IsOffline

數據類型: 布爾值

存取類型:唯讀

如果磁碟脫機,則為TRUE,否則為 FALSE

IsReadOnly

數據類型: 布爾值

存取類型:唯讀

如果磁碟是只讀的,則為TRUE;如果磁碟是讀取/寫入,則為 FALSE

IsSystem

數據類型: 布爾值

存取類型:唯讀

如果此磁碟包含系統磁碟分區,則為TRUE,否則為 FALSE

LargestFreeExtent

數據類型: UInt64

存取類型:唯讀

限定元: 單位 (位元組)

磁碟上最大的連續可用空間區塊。 這也是磁碟上可建立的最大分割區大小。

地點

數據類型: 字串

存取類型:唯讀

字串,包含磁碟的 PnP 位置路徑。 此字串的格式取決於總線類型。 如果總線類型為 SCSI、SAS 或 PCI RAID,則格式為 AdapterPnpLocationPath#BusType(PPathId TTargetIdLLunId)。 如果總線類型為 IDE、ATA、PATA 或 SATA,則格式為 AdapterPnpLocationPath#BusType(CPathId TTargetIdLLunId)。 如需列出此字串部分的數據表,請參閱下列一節。

注意

針對 Hyper-V 和 VHD 映射,此屬性為 NULL,因為虛擬控制器不會傳回位置路徑。

如需此屬性的詳細資訊,請參閱下列一節。

LogicalSectorSize

數據類型: UInt32

存取類型:唯讀

限定元: 單位 (位元組)

磁碟的邏輯扇區大小,以位元組為單位。 例如,4K 原生磁碟會報告 4096,而 512 仿真的磁碟則會報告 512。

製造商

數據類型: 字串

存取類型:唯讀

磁碟硬體製造商的字串表示。

模型

數據類型: 字串

存取類型:唯讀

磁碟模型編號的字串表示。

Number

數據類型: UInt32

存取類型:唯讀

磁碟的操作系統號碼。 磁碟 0 通常是開機裝置。 磁碟號碼不一定會在重新啟動時維持不變。

NumberOfPartitions

數據類型: UInt32

存取類型:唯讀

磁碟上已建立的數據分割數目。

OfflineReason

數據類型: UInt16

存取類型:唯讀

如果 IsOfflineTRUE,這個屬性會包含磁碟離線的原因。

下列其中一個值。

意義
原則 1 使用者要求磁碟離線。
備援路徑 2 磁碟用於多路徑 I/O。
快照 集 3 磁碟是快照集磁碟。
碰撞 4 與另一個磁碟發生簽章或標識符衝突。
資源耗盡 5 資源不足,無法讓磁碟上線。
重大寫入失敗 6 磁碟上發生重大寫入失敗。
需要 數據完整性掃描 7 需要數據完整性掃描。

OperationalStatus

數據類型: UInt16

存取類型:唯讀

磁碟裝置的操作狀態。

意義
未知 0 操作狀態未知。
其他 1 已藉由設定 OtherOperationalStatusDescription 屬性來指定廠商特定的 OperationalStatus
確定 2 磁碟會回應命令,且處於正常作業狀態。
降級 3 磁碟會回應命令,但未以最佳作業狀態執行。
壓力 4 磁碟正常運作,但需要注意。 例如,磁碟可能會超載或過熱。
預測性失敗 5 磁碟正常運作,但近期可能會發生失敗。
錯誤 6 發生錯誤。
無法復原的錯誤 7 發生無法復原的錯誤。
從8開始 磁碟正在啟動。
停止 9 磁碟正在停止。
已停止 10 磁碟已以乾淨有序的方式停止或關閉。
在服務 11 中 正在設定、維護、清除或管理磁碟。
無連絡人 12 記憶體提供者知道磁碟,但從未能夠與其建立通訊。
遺失通訊 13 記憶體提供者已瞭解磁碟,且在過去已成功連絡它,但磁碟目前無法連線。
中止 14 類似於 停止,不同之處在於磁碟突然停止,而且可能需要設定或維護。
休眠 15 磁碟可連線,但非使用中。
錯誤 16中的支持實體 此狀態值不一定表示磁碟發生問題,但表示磁碟相依的另一個裝置或連線可能需要注意。
已完成 17 磁碟已完成作業。 此狀態值應該結合OK、Error或Degraded,視作業的結果而定。
在線 0xD010 在 Windows 型儲存子系統中,這表示對象在在線。
尚未就緒 0xD011 在 Windows 型儲存子系統中,這表示物件尚未就緒。
沒有媒體 0xD012 在 Windows 型儲存子系統中,這表示對象沒有媒體存在。
離線 0xD013 在 Windows 型儲存子系統中,這表示對象已離線。
失敗 0xD014 在 Windows 型儲存子系統中,這表示對象處於失敗狀態。

PartitionStyle

數據類型: UInt16

存取類型:唯讀

限定符: 必要

磁碟所使用的分割區樣式。

意義
未知 0 分割區樣式未知。
MBR 1 主開機記錄 (MBR)
GPT 2 GUID 分割區資料表 (GPT)

路徑

數據類型: 字串

存取類型:唯讀

限定符: 必要

路徑,可用來開啟磁碟裝置的操作系統句柄。

PhysicalSectorSize

數據類型: UInt32

存取類型:唯讀

限定元: 單位 (位元組)

磁碟的實體扇區大小,以位元組為單位。 例如,4K 原生磁碟和 512 個模擬磁碟都會報告 4096。

ProvisioningType

數據類型: UInt16

存取類型:唯讀

磁碟裝置的布建類型。

意義
未知 0 未指定布建配置。
1 磁碟的記憶體會依需求配置。
已修正 2 建立磁碟時會配置記憶體。

SerialNumber

數據類型: 字串

存取類型:唯讀

磁碟序號的字串表示。

簽章

數據類型: UInt32

存取類型:唯讀

如果 PartitionStyle 是 MBR,這個屬性會包含 MBR 分割區簽章。 此屬性會是所有其他磁碟類型的NULL。

大小

數據類型: UInt64

存取類型:唯讀

限定元: 必要單位 (位元組)

磁碟的大小總計,以位元組為單位。

UniqueId

數據類型: 字串

存取類型:唯讀

磁碟標識碼。 這包括可唯一識別此磁碟的 VPD 頁面0x83資訊。 接受下列型態 (優先順序):

  • 8 (SCSI 名稱字串)
  • 3 (FCPH 名稱)
  • 2 (EUI64)
  • 1 (廠商識別碼)
  • 0 (廠商特定)

如果磁碟是公開的虛擬磁碟, 則會使用 UniqueId 來對應兩個對象之間的關聯。

UniqueIdFormat

數據類型: UInt16

存取類型:唯讀

限定符: (“廠商特定”、“廠商標識符”、“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。 它現在會繼承 ObjectId 屬性,其先前是 MSFT_Disk 的屬性

需求

需求
最低支援的用戶端 Windows 8 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
Namespace Root\Microsoft\Windows\Storage
MOF Storagewmi.mof