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.
Anexa um VHD (disco rígido virtual) ou UM ARQUIVO DE IMAGEM DE DVD ou CD (ISO) localizando um provedor VHD apropriado para realizar o anexo.
Sintaxe
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
);
Parâmetros
[in] VirtualDiskHandle
Um identificador para um disco virtual aberto. Para obter informações sobre como abrir um disco virtual, consulte a função OpenVirtualDisk .
[in, optional] SecurityDescriptor
Um ponteiro opcional para um SECURITY_DESCRIPTOR a ser aplicado ao disco virtual anexado. Se esse parâmetro for NULL, o descritor de segurança do arquivo de imagem de disco virtual será usado.
Verifique se o descritor de segurança que AttachVirtualDisk se aplica ao disco virtual anexado concede a permissão de atributos de gravação para o usuário ou se o descritor de segurança do arquivo de imagem de disco virtual concede a permissão de atributos de gravação para o usuário se você especificar NULL para esse parâmetro. Se o descritor de segurança não conceder permissão de atributos de gravação para um usuário, o Shell exibirá o seguinte erro quando o usuário acessar o disco virtual anexado: a Lixeira está corrompida. Deseja esvaziar a Lixeira desta unidade?
[in] Flags
Uma combinação válida de valores da enumeração ATTACH_VIRTUAL_DISK_FLAG .
[in] ProviderSpecificFlags
Sinalizadores específicos para o tipo de disco virtual que está sendo anexado. Pode ser zero se nenhuma for necessária.
[in, optional] Parameters
Um ponteiro para uma estrutura de ATTACH_VIRTUAL_DISK_PARAMETERS válida que contém dados de parâmetro de anexo.
[in, optional] Overlapped
Um ponteiro opcional para uma estrutura OVERLAPPED válida se a operação assíncrona for desejada.
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
A função AttachVirtualDisk não tem suporte para VHDs ou ISOs hospedados em mídia SD (Secure Digital) conectada a um controlador SD no modo nativo (para o qual sffdisk.sys, sffp_sd.sys e drivers sdbus.sys seriam carregados) e falhará com o erro ERROR_FILE_NOT_FOUND. Há suporte para VHDs e ISOs hospedados em mídia SD conectada a um leitor USB.
Se a função AttachVirtualDisk 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 maior que
0x020. - O membro Version do parâmetro Parameters não está definido como ATTACH_VIRTUAL_DISK_VERSION_1.
Essa função falhará se um provedor não puder ser encontrado, se o arquivo de imagem VHD ou ISO não for válido, se a imagem VHD já estiver anexada ou se o chamador não tiver direitos de acesso SE_MANAGE_VOLUME_PRIVILEGE . Para obter mais informações sobre segurança de arquivo, consulte Segurança de arquivos e Direitos de Acesso.
O modo de acesso pretendido do disco virtual deve ser considerado ao abrir o identificador de disco virtual. Por exemplo, se o disco virtual estiver sendo anexado para acesso de leitura/gravação, o parâmetro VirtualDiskHandle deverá ter sido aberto usando o sinalizador de acesso VIRTUAL_DISK_ACCESS_ATTACH_RW . Para obter mais informações, consulte VIRTUAL_DISK_ACCESS_MASK e OpenVirtualDisk.
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 |