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
存取類型:唯讀
如果 IsOffline 為 TRUE,這個屬性會包含磁碟離線的原因。
下列其中一個值。
值 | 意義 |
---|---|
原則 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 |