Compartir a través de


HrThisThreadAdviseSink

Hace referencia a: Outlook 2013 | Outlook 2016

Crea un receptor de aviso que encapsula un receptor de aviso existente para la seguridad de subprocesos.

Propiedad Valor
Archivo de encabezado:
Mapiutil.h
Implementado por:
MAPI
Llamado por:
Aplicaciones cliente
HrThisThreadAdviseSink(
  LPMAPIADVISESINK lpAdviseSink,
  LPMAPIADVISESINK FAR * lppAdviseSink
);

Parameters

lpAdviseSink

[in] Puntero al receptor advise que se va a encapsular.

lppAdviseSink

[out] Puntero a un puntero a un nuevo receptor de aviso que encapsula el receptor de aviso al que apunta el parámetro lpAdviseSink .

Valor devuelto

Ninguno.

Comentarios

El propósito del contenedor es asegurarse de que se llama a la notificación en el mismo subproceso que llamó a la función HrThisThreadAdviseSink . Esta función se usa para proteger las devoluciones de llamada de notificación que se deben ejecutar en un subproceso determinado.

Las aplicaciones cliente deben usar HrThisThreadAdviseSink para restringir cuando se generan notificaciones, es decir, cuando se realizan llamadas al método IMAPIAdviseSink::OnNotify del objeto receptor advise pasado por el cliente en una llamada advise anterior. Si se permite que las notificaciones se generen de forma arbitraria, una implementación de notificación podría forzar a un cliente a una operación multiproceso cuando eso no sería adecuado. Por ejemplo, un cliente podría usar una biblioteca, como una de las bibliotecas de clase Microsoft Foundation, que no admite llamadas multiproceso. La notificación en un subproceso diferente haría que un cliente de este tipo fuera difícil de probar y propenso a errores.

HrThisThreadAdviseSink se asegura de que las llamadas a OnNotify se produzcan solo en los momentos adecuados:

  • Durante el procesamiento de una llamada a cualquier método MAPI.

  • Durante el procesamiento de mensajes de Windows.

Cuando se implementa HrThisThreadAdviseSink , cualquier llamada al método OnNotify del nuevo receptor de aviso en cualquier subproceso hace que el método de notificación original se ejecute en el subproceso en el que se llamó a HrThisThreadAdviseSink .

Para obtener más información sobre los receptores de notificaciones y avisos, vea Notificación de eventos en MAPI e Implementación de un objeto receptor Advise.