OpenVirtualDisk 函式 (virtdisk.h)
開啟虛擬硬碟 (VHD) 或 CD 或 DVD 映像檔, (ISO) 以供使用。
語法
DWORD OpenVirtualDisk(
[in] PVIRTUAL_STORAGE_TYPE VirtualStorageType,
[in] PCWSTR Path,
[in] VIRTUAL_DISK_ACCESS_MASK VirtualDiskAccessMask,
[in] OPEN_VIRTUAL_DISK_FLAG Flags,
[in, optional] POPEN_VIRTUAL_DISK_PARAMETERS Parameters,
[out] PHANDLE Handle
);
參數
[in] VirtualStorageType
有效 VIRTUAL_STORAGE_TYPE 結構的指標。
[in] Path
要開啟之虛擬磁碟映像之有效路徑的指標。
[in] VirtualDiskAccessMask
VIRTUAL_DISK_ACCESS_MASK列舉的有效值。
[in] Flags
OPEN_VIRTUAL_DISK_FLAG 列舉值 的有效組合。
[in, optional] Parameters
有效 OPEN_VIRTUAL_DISK_PARAMETERS 結構的選擇性指標。 可以是 NULL。
[out] Handle
表示已開啟之虛擬磁碟之句柄物件的指標。
傳回值
如果函式成功,傳回值 會ERROR_SUCCESS ( 0) , 而 Handle 參數則包含新虛擬磁碟物件的有效指標。
如果函式失敗,傳回值是錯誤碼, 且 Handle 參數的值未定義。 如需詳細資訊,請參閱 系統錯誤碼。
備註
若要在嘗試開啟永久鏈接虛擬磁碟的句柄時防止開啟要求失敗,適用下列需求:
- VirtualDiskAccessMask 參數必須包含 VIRTUAL_DISK_ACCESS_DETACH (0x00040000) 旗標。
- 如果建立永久鏈接虛擬磁碟的原始開啟作業只要求讀取存取權,則不得要求檔案的寫入許可權。
- VirtualStorageType 參數為 NULL。
- Path 參數為 NULL。
- VirtualDiskAccessMask 參數設定為 的值
(VirtualDiskAccessMask & ~VIRTUAL_DISK_ACCESS_ALL)
。 - Flags 參數設定為 的值
(Flags & ~(OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS | OPEN_VIRTUAL_DISK_FLAG_BLANK_FILE))
。 - Parameters 參數的 Version 成員未設定為 OPEN_VIRTUAL_DISK_VERSION_1 或 OPEN_VIRTUAL_DISK_VERSION_2。
Path 參數所指向的路徑不能位於透過回送) 的網路共用 (。 如果路徑位於局域網路共用上,此函式將會失敗 ,ERROR_FILE_SYSTEM_LIMITATION ( 665) 錯誤。 如果開啟 ISO 虛擬磁碟,且檔案大小不是 2 (,048 個字節) 的倍數, () 34,816 個字節) ,或磁碟區結構描述元不包含已知的 CDFS 或 UDFS 磁碟區標識符,此函式將會 ERROR_FILE_CORRUPT 失敗, ( (34,816 個字節) 。
當應用程式使用 Handle 參數中傳回的物件句柄完成時,請使用 CloseHandle 函式來關閉句柄。
#DBF8C68BBE97643A6A90D5DA2872412BD 和 Windows Server 2012 之前,不支援 (ISO) 的 CD 和 DVD 映射檔。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 |
最低支援的伺服器 | Windows Server 2008 R2 |
目標平台 | Windows |
標頭 | virtdisk.h |
程式庫 | VirtDisk.lib |
Dll | VirtDisk.dll |