Compartir a través de


RPC_ASYNC_NOTIFICATION_INFO unión (rpcasync.h)

La unión de RPC_ASYNC_NOTIFICATION_INFO contiene información de notificación para las llamadas asincrónicas a procedimientos remotos. Esta información de notificación se puede configurar para los puertos de finalización de E/S (IOC), las llamadas a procedimientos asincrónicos de Windows (APC), la mensajería de Windows y la notificación de eventos de Windows.

Sintaxis

typedef union _RPC_ASYNC_NOTIFICATION_INFO {
  struct {
    PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
    HANDLE                      hThread;
  } APC;
  struct {
    HANDLE       hIOPort;
    DWORD        dwNumberOfBytesTransferred;
    DWORD_PTR    dwCompletionKey;
    LPOVERLAPPED lpOverlapped;
  } IOC;
  struct {
    HWND hWnd;
    UINT Msg;
  } HWND;
  HANDLE                      hEvent;
  PKEVENT                     Event;
  PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
} RPC_ASYNC_NOTIFICATION_INFO, *PRPC_ASYNC_NOTIFICATION_INFO;

Members

APC

Estructura usada para las notificaciones de llamada a procedimientos asincrónicos (APC) de Windows.

APC.NotificationRoutine

Llama a la rutina de notificación de APC definida por el usuario.

APC.hThread

Identificador del subproceso en el que se debe publicar la notificación APC. Un valor de cero indica el subproceso actual.

IOC

Estructura usada para la notificación en un puerto de finalización de E/S.

IOC.hIOPort

Identificador del puerto de finalización de E/S.

IOC.dwNumberOfBytesTransferred

Establezca por el cliente RPC antes de que se inicie la llamada asincrónica. Cuando la notificación se entrega al puerto de finalización, este valor se rellena en la ubicación a la que apunta el parámetro lpNumberOfBytesTransferred de la función GetQueuedCompletionStatus .

IOC.dwCompletionKey

Establezca por el cliente RPC antes de que se inicie la llamada asincrónica. Cuando la notificación se entrega al puerto de finalización, este valor se rellena en la ubicación a la que apunta el parámetro lpCompletionKey de la función GetQueuedCompletionStatus .

IOC.lpOverlapped

Establezca por el cliente RPC antes de que se inicie la llamada asincrónica. Cuando la notificación se entrega al puerto de finalización, este valor se rellena en la ubicación a la que apunta el parámetro lpOverlapped de la función GetQueuedCompletionStatus .

HWND

Campos usados para la notificación por un mensaje de Windows. Cuando el tiempo de ejecución de RPC publica el mensaje, wParam es cero y lParam apunta al identificador asincrónico de la llamada (el RPC_ASYNC_STATE).

Windows Server 2003 o posterior: La notificación a través del HWND está en desuso. No use este miembro.

HWND.hWnd

Identifica la ventana a la que se debe publicar el mensaje.

HWND.Msg

Mensaje que se va a publicar.

hEvent

Identificador usado para la notificación por un evento.

Event

NotificationRoutine

Windows Vista o versiones anteriores de Windows: COM usa esto internamente para devoluciones de llamada directas. No use este miembro.

Windows 7 o versiones posteriores de Windows: puntero de función opcional a un esquema de notificación definido por el usuario basado en la finalización de llamadas RPC. Por ejemplo, una aplicación podría llamar a SubmitThreadpoolWork desde la devolución de llamada de notificación.

Nota No se recomienda realizar llamadas RPC adicionales, bloquear o realizar trabajos de larga duración a partir de devoluciones de llamada de notificación.
 

Comentarios

Antes de Windows Vista y versiones anteriores de Windows, la unión de RPC_ASYNC_NOTIFICATION_INFO formaba parte de la estructura de RPC_ASYNC_STATE . Consulte el tema RPC_ASYNC_STATE para obtener información adicional.

Requisitos

   
Cliente mínimo compatible Windows XP con SP2 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 con SP1 [solo aplicaciones de escritorio]
Encabezado rpcasync.h (incluir Rpc.h)

Consulte también

RPC_ASYNC_STATE