IVdsCreatePartitionEx::CreatePartitionEx 方法 (vds.h)
[從 Windows 8 和 Windows Server 2012 開始,虛擬磁碟服務 COM 介面會由 Windows 記憶體管理 API 取代。
在基本磁碟上建立分割區。
這個方法會取代 IVdsAdvancedDisk::CreatePartition 方法。
語法
HRESULT CreatePartitionEx(
[in] ULONGLONG ullOffset,
[in] ULONGLONG ullSize,
[in] ULONG ulAlign,
[in] CREATE_PARTITION_PARAMETERS *para,
[out] IVdsAsync **ppAsync
);
參數
[in] ullOffset
分割區位移,以位元組為單位。 如果未對齊位移,而且未指定 ulAlign 參數,則位移會四捨五入或向下捨入至最接近的對齊界限,視建立分割區所在的磁碟大小而定。 如需詳細資訊,請參閱接下來的<備註>一節。
Windows Server 2003: 只有基本磁碟上的第一個分割區可以對齊;動態磁碟無法對齊。 對於基本磁碟上的其他分割區,您無法使用 ulAlign 參數來指定對齊方式;位移會四捨五入至主要開機記錄 (MBR) 磁碟的最接近圓柱界限,或 GUID 分割數據表 (GPT) 磁碟的最接近扇區界限。
當呼叫端同時指定 ullOffset 和 ulAlign 參數時,位移必須位於第一個圓柱內。
[in] ullSize
新分割區的大小,以位元組為單位。
[in] ulAlign
對齊大小,以位元組為單位。
Windows Server 2003: 如果指定此參數,提供者會將分割區位移四捨五入到最接近的對齊界限;否則,則為最接近的圓柱界限。
如果磁碟的開頭有足夠的空間可容納分割區大小,而且指定 ulAlign 參數,但 ullOffset 參數不是, 則 CreatePartitionEx 的呼叫會失敗。
[in] para
CREATE_PARTITION_PARAMETERS 結構所定義之參數的指標。
[out] ppAsync
IVdsAsync 介面指標的位址,VDS 會在傳回時初始化。 呼叫端必須釋放 介面。 使用此指標來取消、等候或查詢作業的狀態。
傳回值
這個方法可以傳回標準 HRESULT 值,例如E_INVALIDARG或E_OUTOFMEMORY,以及 VDS 特定的傳回值。 它也可以使用 HRESULT_FROM_WIN32 宏傳回已轉換的系統錯誤碼。 錯誤可能來自 VDS 本身,或來自正在使用的基礎 VDS 提供者 。 可能的傳回值包括下列專案。
傳回碼/值 | 描述 |
---|---|
|
已成功建立分割區。 |
|
卸載式磁碟驅動器中沒有媒體。 |
|
無法建立磁碟分區,因為磁碟是唯讀的。 |
|
媒體不支援這項作業。 例如,呼叫端無法在CD-ROM上建立資料分割。 |
|
不支援在卸除式媒體上建立第二個分割區。 或者,此錯誤表示磁碟是動態磁碟。 |
|
呼叫端嘗試建立其他主要分割區或擴充分割區時,已存在具有擴充分割區) 的主要分割區 (數目上限。 |
|
已成功建立分割區,但 VDS 無法更新開機設定數據 (BCD) 存放區中的開機選項。
Windows Server 2003: 開機選項會儲存在itanium系統上 x86 或 x64 系統上的 boot.ini 檔案或 NVRAM 中。 |
備註
此方法會在具有 GPT 或 MBR 磁碟分區配置的基本磁碟上運作。
Windows Server 2003: 呼叫端只能對齊 MBR 磁碟的第一個分割區,而且必須將開始位移放在第一個圓柱或第二個圓柱的開頭,位於圓柱界限。
如果指定了 ullOffset 參數,且其值尚未使用 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Vds\ Alignment 登錄子機碼下的值對齊,則其值會自動使用下列值來對齊:如果磁碟為 4 GB 或更大,則預設對齊方式為 1 MB,如果磁碟小於 4 GB,則為 64 KB。
Windows Server 2003: 未對齊的數據分割位移會四捨五入至 MBR 磁碟的最接近圓柱界限,或捨入至 GPT 磁碟的最接近扇區界限。
如果動態磁碟是只讀且離線的,則必須在呼叫 CreatePartitionEx 之前進行讀取/寫入並上線,如下所示:
- 清除唯讀位。 (這是 VDS_DISK_PROP structure.) 中的 VDS_DF_READ_ONLY 旗標
- 呼叫 IVdsDiskOnline::Online 方法。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 R2 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | vds.h |
程式庫 | Uuid.lib |