Compartir a través de


Método IVdsService::Advise (vds.h)

[A partir de Windows 8 y Windows Server 2012, la interfaz COM del servicio de disco virtual se sustituye por la API de administración de almacenamiento de Windows.]

Registra la interfaz IVdsAdviseSink del autor de la llamada con VDS para que el autor de la llamada reciba notificaciones del servicio VDS.

Sintaxis

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

Parámetros

[in] pSink

Puntero a la interfaz IVdsAdviseSink .

[out] pdwCookie

Puntero a una cookie que se puede usar más adelante para anular el registro de la interfaz.

Valor devuelto

Este método puede devolver valores HRESULT estándar, como E_INVALIDARG o E_OUTOFMEMORY, y valores devueltos específicos de VDS. También puede devolver códigos de error del sistema convertidos mediante la macro HRESULT_FROM_WIN32 . Los errores pueden originarse en VDS en sí o en el proveedor de VDS subyacente que se está usando. Entre los valores devueltos posibles se incluyen los siguientes.

Código o valor devuelto Descripción
S_OK
El registro se completó correctamente.
VDS_E_INITIALIZED_FAILED
0x80042401L
VDS no se pudo inicializar. Si una aplicación llama a este método antes de que el servicio termine de inicializarse, el método se bloqueará hasta que se complete la inicialización. Si se produce un error en la inicialización, se devuelve este error.

Comentarios

Para recibir notificaciones del servicio VDS, la aplicación debe implementar la interfaz IVdsAdviseSink y usar el método Advise para registrar la interfaz.

Para dejar de recibir notificaciones del servicio VDS, use el método IVdsService::Unadvise para anular el registro de la interfaz IVdsAdviseSink .

Nota Una aplicación que llama a Advise debe llamar finalmente a Unadvise. Idealmente, debe llamar a Unadvise tan pronto como ya no necesite recibir notificaciones.
 
Para recibir notificaciones de proveedores de hardware y software subyacentes, VDS pasa una función de devolución de llamada de notificación a cada proveedor como parámetro del método IVdsProviderPrivate::OnLoad .

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado vds.h
Library Uuid.lib

Consulte también

IVdsAdviseSink

IVdsProviderPrivate::OnLoad

IVdsService

Notificaciones de VDS