AttachVirtualDisk 函式 (virtdisk.h)
藉由尋找適當的 VHD 提供者來完成附件,以鏈接虛擬硬碟 (VHD) 或 CD 或 DVD 映像檔 (ISO) 。
語法
DWORD AttachVirtualDisk(
[in] HANDLE VirtualDiskHandle,
[in, optional] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] ATTACH_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags,
[in, optional] PATTACH_VIRTUAL_DISK_PARAMETERS Parameters,
[in, optional] LPOVERLAPPED Overlapped
);
參數
[in] VirtualDiskHandle
開啟虛擬磁碟的句柄。 如需如何開啟虛擬磁碟的詳細資訊,請參閱 OpenVirtualDisk 函式。
[in, optional] SecurityDescriptor
要套用至連結虛擬磁碟 之SECURITY_DESCRIPTOR 的選擇性指標。 如果此參數為 NULL,則會使用虛擬磁碟映像檔案的安全性描述元。
確定 AttachVirtualDisk 套用至連結虛擬磁碟的安全性描述元會授與使用者的寫入屬性許可權,或者,如果您為此參數指定 NULL,則虛擬磁碟映像檔案的安全性描述元會授與使用者的寫入屬性許可權。 如果安全性描述元未授與使用者的寫入屬性許可權,當使用者存取連結的虛擬磁碟時,Shell 會顯示下列錯誤: 回收站已損毀。您要清空此磁碟驅動器的回收站嗎?
[in] Flags
ATTACH_VIRTUAL_DISK_FLAG列舉值的有效組合。
[in] ProviderSpecificFlags
附加之虛擬磁碟類型的特定旗標。 如果不需要的話,可能是零。
[in, optional] Parameters
包含附件參數數據的有效 ATTACH_VIRTUAL_DISK_PARAMETERS 結構的指標。
[in, optional] Overlapped
如果需要異步操作,則為有效 OVERLAPPED 結構的選擇性指標。
傳回值
要求的狀態。
如果函式成功,傳回值 會ERROR_SUCCESS。
如果函式失敗,則傳回值是錯誤碼。 如需詳細資訊,請參閱 系統錯誤碼。
備註
在安全數位 (SD) 媒體上裝載的 VHD 或 ISO 不支援 AttachVirtualDisk 函式,這些 VHD 或 ISO 會插入原生模式的 SD 控制器 (,sffdisk.sys、sffp_sd.sys 和 sdbus.sys 驅動程式會載入) ,且錯誤 ERROR_FILE_NOT_FOUND失敗。 支援裝載於連線到 USB 讀取器之 SD 媒體上的 VHD 和 ISO。
如果 AttachVirtualDisk 函式失敗,錯誤碼值為 ERROR_INVALID_PARAMETER,原因可能是下列任一狀況所造成:
- VirtualDiskHandle 參數不是 OpenVirtualDisk 函式所建立的有效句柄。
- Flags 參數設定為大於
0x020
的值。 - Parameters 參數的版本成員未設定為 ATTACH_VIRTUAL_DISK_VERSION_1。
如果找不到提供者、如果 VHD 或 ISO 映像檔無效、已附加 VHD 映像,或呼叫端沒有 SE_MANAGE_VOLUME_PRIVILEGE 訪問許可權,則此函式將會失敗。 如需檔案安全性的詳細資訊,請參閱 檔案安全性和訪問許可權。
開啟虛擬磁碟句柄時,必須考慮虛擬磁碟的預定存取模式。 例如,如果要鏈接虛擬磁碟以進行讀取/寫入存取,則必須使用 VIRTUAL_DISK_ACCESS_ATTACH_RW 存取旗標開啟 VirtualDiskHandle 參數。 如需詳細資訊,請參閱 VIRTUAL_DISK_ACCESS_MASK 和 OpenVirtualDisk。
#D453AFFFACD594ECE969B6FB08C19ADCC 和 Windows Server 2012 之前,不支援 (ISO) 的 CD 和 DVD 映射檔。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 |
最低支援的伺服器 | Windows Server 2008 R2 |
目標平台 | Windows |
標頭 | virtdisk.h |
程式庫 | VirtDisk.lib |
Dll | VirtDisk.dll |