Compartilhar via


Método IVdsService::Advise (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.]

Registra a interface IVdsAdviseSink do chamador com VDS para que o chamador receba notificações do serviço VDS.

Sintaxe

HRESULT Advise(
  [in]  IVdsAdviseSink *pSink,
  [out] DWORD          *pdwCookie
);

Parâmetros

[in] pSink

Um ponteiro para a interface IVdsAdviseSink .

[out] pdwCookie

Um ponteiro para um cookie que pode ser usado posteriormente para cancelar o registro da interface.

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 se originar do próprio VDS ou do provedor de VDS subjacente que está sendo usado. Os possíveis valores retornados incluem o seguinte.

Valor/código retornado Descrição
S_OK
O registro foi concluído com êxito.
VDS_E_INITIALIZED_FAILED
0x80042401L
Falha ao inicializar o VDS. Se um aplicativo chamar esse método antes que o serviço termine de inicializar, o método será bloqueado até que a inicialização seja concluída. Se a inicialização falhar, esse erro será retornado.

Comentários

Para receber notificações do serviço VDS, seu aplicativo deve implementar a interface IVdsAdviseSink e usar o método Advise para registrar a interface.

Para interromper o recebimento de notificações do serviço VDS, use o método IVdsService::Unadvise para cancelar o registro da interface IVdsAdviseSink .

Nota Um aplicativo que chama Advise deve eventualmente chamar Unadvise. O ideal é que ele chame Unadvise assim que não precisar mais receber notificações.
 
Para receber notificações de provedores de hardware e software subjacentes, o VDS passa uma função de retorno de chamada de notificação para cada provedor como um parâmetro do método IVdsProviderPrivate::OnLoad .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho vds.h
Biblioteca Uuid.lib

Confira também

IVdsAdviseSink

IVdsProviderPrivate::OnLoad

IVdsService

Notificações do VDS