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 KB (2,048 バイト) の偶数の倍数ではない場合、またはボリューム構造記述子に既知の CDFS または UDFS ボリューム識別子が含まれていない場合、この関数はエラー ERROR_FILE_CORRUPT (1392) で失敗します。
Handle パラメーターで返されるオブジェクト ハンドルを使用してアプリケーションが終了したら、CloseHandle 関数を使用してハンドルを閉じます。
CD および DVD イメージ ファイル (ISO) は、Windows 8およびWindows Server 2012する前にサポートされていません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 |
サポートされている最小のサーバー | Windows Server 2008 R2 |
対象プラットフォーム | Windows |
ヘッダー | virtdisk.h |
Library | VirtDisk.lib |
[DLL] | VirtDisk.dll |