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.
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) |