Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Desanexa um VHD (disco rígido virtual) ou um ISO (arquivo de imagem de CD ou DVD) localizando um provedor de disco virtual apropriado para realizar a operação.
Sintaxe
DWORD DetachVirtualDisk(
[in] HANDLE VirtualDiskHandle,
[in] DETACH_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags
);
Parâmetros
[in] VirtualDiskHandle
Um identificador para um disco virtual aberto, que deve ter sido aberto usando o sinalizador VIRTUAL_DISK_ACCESS_DETACH definido no parâmetro VirtualDiskAccessMask para a função OpenVirtualDisk . Para obter informações sobre como abrir um disco virtual, consulte a função OpenVirtualDisk .
[in] Flags
Uma combinação válida de valores da enumeração DETACH_VIRTUAL_DISK_FLAG .
[in] ProviderSpecificFlags
Sinaliza específicos para o tipo de disco virtual que está sendo desanexado. Pode ser zero se nenhuma for necessária.
Retornar valor
Status da solicitação.
Se a função for bem-sucedida, o valor retornado será ERROR_SUCCESS.
Se a função falhar, o valor retornado será um código de erro. Para obter mais informações, consulte Códigos de erro do sistema.
Comentários
Se a função DetachVirtualDisk falhar com um valor de código de erro de ERROR_INVALID_PARAMETER, a causa poderá ser devido a qualquer uma das seguintes condições:
- O parâmetro VirtualDiskHandle não é um identificador válido criado pela função OpenVirtualDisk .
- O parâmetro Flags é definido como um valor diferente de DETACH_VIRTUAL_DISK_FLAG_NONE (0).
Todas as outras alças abertas para o disco virtual devem ser fechadas antes que a função DetachVirtualDisk possa ser bem-sucedida.
Se o disco virtual estiver anexado e outro identificador que foi usado para anexá-lo tiver sido fechado, isso ocorre porque o sinalizador ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME foi especificado. Nesse caso, a função DetachVirtualDisk pode ter êxito, mas o VHD permanecerá anexado. Se o ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME não tiver sido especificado, o disco virtual será desanexado automaticamente quando o último identificador aberto for fechado.
Essa função falhará se um provedor não puder ser encontrado, se o arquivo de imagem não for válido, se a imagem não estiver anexada ou se o chamador não tiver direitos de acesso SE_MANAGE_VOLUME_PRIVILEGE em um sistema operacional Windows Server. Para obter mais informações sobre segurança de arquivo, consulte Segurança de arquivos e Direitos de Acesso.
Não há suporte para ISO (arquivos de imagem de CD e DVD) antes de Windows 8 e Windows Server 2012.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo com suporte | Windows 7 |
| Servidor mínimo com suporte | Windows Server 2008 R2 |
| Plataforma de Destino | Windows |
| Cabeçalho | virtdisk.h |
| Biblioteca | VirtDisk.lib |
| DLL | VirtDisk.dll |