Método IVdsOpenVDisk::Attach (vds.h)
[Começando com Windows 8 e Windows Server 2012, a interface COM do Serviço de Disco Virtual é substituída pela API de Gerenciamento de Armazenamento do Windows.]
Anexa um disco virtual.
Sintaxe
HRESULT Attach(
[in] LPWSTR pStringSecurityDescriptor,
[in] ATTACH_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags,
[in] ULONG TimeoutInMs,
[out] IVdsAsync **ppAsync
);
Parâmetros
[in] pStringSecurityDescriptor
Uma cadeia de caracteres que contém o descritor de segurança para o disco virtual. Se não for especificado, o descritor de segurança em uso será: "D:P(A;; GA;;; WD)" no Windows 7 e "D:P(A;; GA;;; WD)(A;; GA;;; AC)" no Windows 8.1 e posterior.
[in] Flags
Uma máscara de bits de ATTACH_VIRTUAL_DISK_FLAG valores de enumeração que especificam como o disco virtual deve ser anexado. Os possíveis valores incluem os seguintes.
Valor | Significado |
---|---|
|
Nenhum sinalizador é especificado. |
|
Anexe o disco virtual como somente leitura. |
|
Monte todos os volumes no disco virtual anexado sem atribuir letras de unidade a eles. |
|
O serviço VDS define automaticamente esse sinalizador para que o VHD permaneça anexado até que o método IVdsOpenVDisk::D etach seja chamado para desanexá-lo. |
|
Reservado. Não use. |
[in] ProviderSpecificFlags
Uma máscara de bits de sinalizadores que são específicos para o tipo de disco virtual que está sendo anexado. Esses sinalizadores são específicos do provedor. Para o provedor de disco virtual da Microsoft, esse parâmetro deve ser zero.
[in] TimeoutInMs
Esse parâmetro é reservado para uso futuro.
[out] ppAsync
Um ponteiro para uma interface IVdsAsync que, após a conclusão bem-sucedida, recebe a interface IVdsAsync para monitorar e controlar essa operação. Os chamadores devem liberar a interface recebida quando tiverem terminado com ela. Se o método IVdsAsync::Wait for chamado na interface e um valor HRESULT bem-sucedido for retornado, as interfaces retornadas na estrutura VDS_ASYNC_OUTPUT deverão ser liberadas chamando o método IUnknown::Release em cada ponteiro de interface. No entanto, se Wait retornar um valor HRESULT de falha ou se o parâmetro pHrResult de Wait receber um valor HRESULT de falha, os ponteiros de interface na estrutura VDS_ASYNC_OUTPUT serão NULL e não precisarão ser liberados. Você pode testar valores HRESULT com êxito ou falha usando as macros SUCCEEDED e FAILED definidas em Winerror.h.
Retornar valor
Esse método pode retornar valores HRESULT padrão, como E_INVALIDARG ou E_OUTOFMEMORY e valores retornados específicos do VDS. Ele também pode retornar códigos de erro do sistema convertidos usando a macro HRESULT_FROM_WIN32 . Os erros podem ser originados do próprio VDS ou do provedor de VDS subjacente que está sendo usado. Os possíveis valores retornados incluem o seguinte.
Código de retorno | Descrição |
---|---|
|
O método foi concluído com sucesso. |
Comentários
Quando um disco virtual é anexado, o chamador pode receber uma ou todas as seguintes notificações:
- Se o chamador estiver registrado para notificações do VDS, o chamador receberá uma notificação de chegada em disco. Para obter mais informações, consulte Notificações do VDS.
- Se o chamador estiver registrado para notificações PnP, o chamador receberá uma notificação de chegada do disco PnP. Para obter mais informações, consulte RegisterDeviceNotification.
Windows Server 2008, Windows Vista e Windows Server 2003: Essas ações não são necessárias até o Windows 7 e o Windows Server 2008 R2.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | vds.h |
Biblioteca | Uuid.lib |