Condividi tramite


unione RPC_ASYNC_NOTIFICATION_INFO (rpcasync.h)

L'unione RPC_ASYNC_NOTIFICATION_INFO contiene informazioni di notifica per le chiamate asincrone alle procedure remote. Queste informazioni di notifica possono essere configurate per le porte di completamento I/O (IOC), le chiamate di routine asincrone di Windows (APC), la messaggistica di Windows e la notifica degli eventi di Windows.

Sintassi

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

Struttura utilizzata per le notifiche di chiamata asincrona di routine (APC) di Windows.

APC.NotificationRoutine

Chiama la routine di notifica APC definita dall'utente.

APC.hThread

Gestire il thread in cui deve essere inviata la notifica APC. Il valore zero indica il thread corrente.

IOC

Struttura utilizzata per la notifica su una porta di completamento di I/O.

IOC.hIOPort

Handle per la porta di completamento di I/O.

IOC.dwNumberOfBytesTransferred

Impostato dal client RPC prima dell'avvio della chiamata asincrona. Quando la notifica viene recapitata alla porta di completamento, questo valore viene compilato nella posizione a cui punta il parametro lpNumberOfBytesTransferred della funzione GetQueuedCompletionStatus .

IOC.dwCompletionKey

Impostato dal client RPC prima dell'avvio della chiamata asincrona. Quando la notifica viene recapitata alla porta di completamento, questo valore viene compilato nella posizione a cui punta il parametro lpCompletionKey della funzione GetQueuedCompletionStatus .

IOC.lpOverlapped

Impostato dal client RPC prima dell'avvio della chiamata asincrona. Quando la notifica viene recapitata alla porta di completamento, questo valore viene compilato nella posizione a cui punta il parametro lpOverlapped della funzione GetQueuedCompletionStatus .

HWND

Campi utilizzati per la notifica da un messaggio di Windows. Quando il runtime RPC pubblica il messaggio, wParam è zero e lParam punta all'handle asincrono per la chiamata (il RPC_ASYNC_STATE).

Windows Server 2003 o versione successiva: La notifica tramite HWND è deprecata. Non utilizzare questo membro.

HWND.hWnd

Identifica la finestra in cui inserire il messaggio.

HWND.Msg

Messaggio da pubblicare.

hEvent

Handle utilizzato per la notifica da parte di un evento.

Event

NotificationRoutine

Windows Vista o versioni precedenti di Windows: COM lo usa internamente per i callback diretti. Non utilizzare questo membro.

Windows 7 o versioni successive di Windows: puntatore di funzione facoltativo a uno schema di notifica definito dall'utente basato sul completamento delle chiamate RPC. Ad esempio, un'applicazione può chiamare SubmitThreadpoolWork dal callback di notifica.

Nota L'esecuzione di chiamate RPC aggiuntive, il blocco o l'esecuzione di operazioni a esecuzione prolungata dai callback delle notifiche è fortemente sconsigliata.
 

Commenti

Prima di Windows Vista e versioni precedenti di Windows, l'unione RPC_ASYNC_NOTIFICATION_INFO faceva parte della struttura RPC_ASYNC_STATE . Per altre informazioni, vedere l'argomento RPC_ASYNC_STATE .

Requisiti

   
Client minimo supportato Windows XP con SP2 [solo app desktop]
Server minimo supportato Windows Server 2003 con SP1 [solo app desktop]
Intestazione rpcasync.h (include Rpc.h)

Vedi anche

RPC_ASYNC_STATE