Función OpenVirtualDisk (virtdisk.h)
Abre un disco duro virtual (VHD) o un archivo de imagen de CD o DVD (ISO) para su uso.
Sintaxis
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
);
Parámetros
[in] VirtualStorageType
Puntero a una estructura de VIRTUAL_STORAGE_TYPE válida.
[in] Path
Puntero a una ruta de acceso válida a la imagen de disco virtual que se va a abrir.
[in] VirtualDiskAccessMask
Valor válido de la enumeración VIRTUAL_DISK_ACCESS_MASK .
[in] Flags
Combinación válida de valores de la enumeración OPEN_VIRTUAL_DISK_FLAG .
[in, optional] Parameters
Puntero opcional a una estructura de OPEN_VIRTUAL_DISK_PARAMETERS válida. Puede ser NULL.
[out] Handle
Puntero al objeto handle que representa el disco virtual abierto.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es ERROR_SUCCESS (0) y el parámetro Handle contiene un puntero válido al nuevo objeto de disco virtual.
Si se produce un error en la función, el valor devuelto es un código de error y el valor del parámetro Handle no está definido. Para obtener más información, vea Códigos de error del sistema.
Comentarios
Para evitar un error de solicitud abierta al intentar abrir un identificador en un disco virtual conectado permanentemente, se aplican los siguientes requisitos:
- El parámetro VirtualDiskAccessMask debe incluir la marca VIRTUAL_DISK_ACCESS_DETACH (0x00040000).
- No se debe solicitar acceso de escritura al archivo si la operación de apertura original que creó el disco virtual conectado permanentemente solo solicitó acceso de lectura.
- El parámetro VirtualStorageType es NULL.
- El parámetro Path es NULL.
- El parámetro VirtualDiskAccessMask se establece en un valor de
(VirtualDiskAccessMask & ~VIRTUAL_DISK_ACCESS_ALL)
. - El parámetro Flags se establece en un valor de
(Flags & ~(OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS | OPEN_VIRTUAL_DISK_FLAG_BLANK_FILE))
. - El miembro Version del parámetro Parameters no está establecido en OPEN_VIRTUAL_DISK_VERSION_1 o OPEN_VIRTUAL_DISK_VERSION_2.
La ruta de acceso a la que apunta el parámetro Path no puede estar en un recurso compartido de red local (es decir, un recurso compartido de red a través de bucle invertido). Esta función producirá un error ERROR_FILE_SYSTEM_LIMITATION (665) si la ruta de acceso está en un recurso compartido de red local. Esta función producirá un error ERROR_FILE_CORRUPT (1392) si se abre un disco virtual ISO y el tamaño del archivo no es incluso un múltiplo de 2 KB (2048 bytes), es de al menos 34 KB (34 816 bytes) o el descriptor de estructura de volumen no contiene un identificador de volumen UDFS o CDFS conocido.
Cuando una aplicación termine de usar el identificador de objeto devuelto en el parámetro Handle , use la función CloseHandle para cerrar el identificador.
Los archivos de imagen de CD y DVD (ISO) no se admiten antes de Windows 8 y Windows Server 2012.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 |
Servidor mínimo compatible | Windows Server 2008 R2 |
Plataforma de destino | Windows |
Encabezado | virtdisk.h |
Library | VirtDisk.lib |
Archivo DLL | VirtDisk.dll |