Función DetachVirtualDisk (virtdisk.h)
Desasocia un disco duro virtual (VHD) o un archivo de imagen de CD o DVD (ISO) localizando un proveedor de disco virtual adecuado para realizar la operación.
Sintaxis
DWORD DetachVirtualDisk(
[in] HANDLE VirtualDiskHandle,
[in] DETACH_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags
);
Parámetros
[in] VirtualDiskHandle
Identificador de un disco virtual abierto, que debe haberse abierto con la marca VIRTUAL_DISK_ACCESS_DETACH establecida en el parámetro VirtualDiskAccessMask en la función OpenVirtualDisk . Para obtener información sobre cómo abrir un disco virtual, consulte la función OpenVirtualDisk .
[in] Flags
Combinación válida de valores de la enumeración DETACH_VIRTUAL_DISK_FLAG .
[in] ProviderSpecificFlags
Marcas específicas del tipo de disco virtual que se va a desasociar. Puede ser cero si no se requiere ninguno.
Valor devuelto
Estado de la solicitud.
Si la función se ejecuta correctamente, el valor devuelto es ERROR_SUCCESS.
Si se produce un error en la función, el valor devuelto es un código de error. Para obtener más información, vea Códigos de error del sistema.
Comentarios
Si se produce un error en la función DetachVirtualDisk con un valor de código de error de ERROR_INVALID_PARAMETER, la causa puede deberse a cualquiera de las condiciones siguientes:
- El parámetro VirtualDiskHandle no es un identificador válido creado por la función OpenVirtualDisk .
- El parámetro Flags se establece en un valor distinto de DETACH_VIRTUAL_DISK_FLAG_NONE (0).
Todos los demás identificadores abiertos en el disco virtual deben cerrarse antes de que la función DetachVirtualDisk pueda realizarse correctamente.
Si el disco virtual está conectado y se ha cerrado otro identificador que se usó para adjuntarlo, esto se debe a que se especificó la marca de ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME . En este caso, la función DetachVirtualDisk puede realizarse correctamente, pero el disco duro virtual permanecerá conectado. Si no se especificó el ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME , el disco virtual se desasociará automáticamente cuando se cierre el último identificador abierto.
Esta función producirá un error si no se encuentra un proveedor, si el archivo de imagen no es válido, si la imagen no está adjunta o si el autor de la llamada no tiene SE_MANAGE_VOLUME_PRIVILEGE derechos de acceso en un sistema operativo Windows Server. Para obtener más información sobre la seguridad de los archivos, vea Seguridad de archivos y derechos de acceso.
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 |