IVdsAdvancedDisk::Clean 方法 (vds.h)
[從Windows 8和Windows Server 2012開始,虛擬磁碟服務COM 介面會由Windows 儲存體管理 API取代。
移除分割區資訊,並取消初始化基本或動態磁碟。
Windows Server 2003: 卸載式裝置不支援 Clean 方法。
語法
HRESULT Clean(
[in] BOOL bForce,
[in] BOOL bForceOEM,
[in] BOOL bFullClean,
[out] IVdsAsync **ppAsync
);
參數
[in] bForce
如果 為 TRUE,則會清除包含資料磁片區或 ESP 磁碟分割的磁片。
[in] bForceOEM
如果 為 TRUE,請清除包含下表中已知 OEM 磁碟分割的 MBR 型磁片,或清除包含任何 OEM 磁碟分割的 GPT 磁片。 OEM 磁碟分割在 GPT 磁片上設定GPT_ATTRIBUTE_PLATFORM_REQUIRED旗標。
磁碟分割類型 | 描述 |
---|---|
0x12 | EISA 分割區。 |
0x84 | 膝上型電腦的休眠資料分割。 |
0xA0 | 某些 HP 膝上型電腦的診斷資料分割。 |
0xDE | Dell 所定義的分割區。 |
0xFE | IBM IML 磁碟分割。 |
[in] bFullClean
如果 為 TRUE,請將每個磁區上的資料取代為零,以清除整個磁片;否則,此方法只會清除磁片上的第一個和最後一 MB。
[out] ppAsync
IVdsAsync介面指標的指標位址,VDS 會在傳回時初始化。 呼叫端必須釋放 介面。 使用此指標來取消、等候或查詢作業的狀態。
傳回值
這個方法可以傳回標準 HRESULT 值,例如E_INVALIDARG或E_OUTOFMEMORY,以及 VDS 特定的傳回值。 它也可以使用HRESULT_FROM_WIN32宏傳回已轉換的系統錯誤碼。 錯誤可能來自 VDS 本身,或來自正在使用的基礎 VDS 提供者 。 可能的傳回值包括下列專案。
傳回碼/值 | 描述 |
---|---|
|
已成功移除資料,且磁片未初始化。 |
|
卸載式裝置中沒有媒體。 |
|
磁片遺失。 |
|
作業在下列其中一個情況下失敗:
|
|
分割區資料表已清除,但並非所有磁區都會在完整清除期間清除。 或者,清除第一個 MB 和最後一個 MB 的一些磁區;不過,除非清除是完整清除,否則不會清除其餘磁區。 |
備註
呼叫此方法之前,呼叫端應該呼叫 IVdsVolumeMF::D ismount 來卸載磁片上任何掛接的磁片區。
除非您先刪除磁片上所有資料磁片區、已知的 OEM 分割區和 ESP 磁碟分割,否則請使用bForce 參數、bForceOEM參數或兩者搭配此方法。 這項需求會排除中繼資料分割區,例如 MSR、LDM 中繼資料分割和未知的 OEM 磁碟分割。
Windows Server 2003: 卸載式裝置不支援 Clean 方法。
不論呼叫是否起始非同步作業,實作者都必須針對這個方法傳回 IVdsAsync 介面的指標。
規格需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平臺 | Windows |
標頭 | vds.h |
程式庫 | Uuid.lib |