RPC_ASYNC_NOTIFICATION_INFO Union (rpcasync.h)

Die RPC_ASYNC_NOTIFICATION_INFO Union enthält Benachrichtigungsinformationen für asynchrone Remoteprozeduraufrufe. Diese Benachrichtigungsinformationen können für E/A-Vervollständigungsports (IOC), Windows-Asynchrone Prozeduraufrufe (APC), Windows-Messaging und Windows-Ereignisbenachrichtigungen konfiguriert werden.

Syntax

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

Struktur, die für Asynchrone Prozeduraufrufbenachrichtigungen (Asynchrone Prozeduraufrufe) von Windows verwendet wird.

APC.NotificationRoutine

Ruft die benutzerdefinierte APC-Benachrichtigungsroutine auf.

APC.hThread

Handle mit dem Thread, in dem die Benachrichtigungs-APC veröffentlicht werden soll. Der Wert 0 gibt den aktuellen Thread an.

IOC

Struktur, die für Benachrichtigungen an einem E/A-Vervollständigungsport verwendet wird.

IOC.hIOPort

Behandeln Sie den E/A-Vervollständigungsport.

IOC.dwNumberOfBytesTransferred

Legen Sie vom RPC-Client fest, bevor der asynchrone Aufruf gestartet wird. Wenn die Benachrichtigung an den Vervollständigungsport übermittelt wird, wird dieser Wert an der Position ausgefüllt, auf die der lpNumberOfBytesTransferred-Parameter der GetQueuedCompletionStatus-Funktion verweist.

IOC.dwCompletionKey

Legen Sie vom RPC-Client fest, bevor der asynchrone Aufruf gestartet wird. Wenn die Benachrichtigung an den Vervollständigungsport übermittelt wird, wird dieser Wert in der Position ausgefüllt, auf die der lpCompletionKey-Parameter der GetQueuedCompletionStatus-Funktion verweist.

IOC.lpOverlapped

Legen Sie vom RPC-Client fest, bevor der asynchrone Aufruf gestartet wird. Wenn die Benachrichtigung an den Vervollständigungsport übermittelt wird, wird dieser Wert an der Position ausgefüllt, auf die der lpOverlapped-Parameter der GetQueuedCompletionStatus-Funktion verweist.

HWND

Felder, die für eine Benachrichtigung durch eine Windows-Nachricht verwendet werden. Wenn die RPC-Laufzeit die Nachricht sendet, ist wParam 0, und lParam zeigt auf das asynchrone Handle für den Aufruf (das RPC_ASYNC_STATE).

Windows Server 2003 oder höher: Die Benachrichtigung über die HWND ist veraltet. Verwenden Sie dieses Element nicht.

HWND.hWnd

Gibt das Fenster an, in dem die Nachricht gepostet werden soll.

HWND.Msg

Nachricht, die gepostet werden soll.

hEvent

Behandeln, das für Benachrichtigungen durch ein Ereignis verwendet wird.

Event

NotificationRoutine

Windows Vista oder frühere Versionen von Windows: COM verwendet diese intern für direkte Rückrufe. Verwenden Sie dieses Element nicht.

Windows 7 oder höhere Versionen von Windows: Ein optionaler Funktionszeiger auf ein benutzerdefiniertes Benachrichtigungsschema, das auf der RPC-Aufrufvervollständigung basiert. Als Beispiel könnte eine Anwendung SubmitThreadpoolWork über den Benachrichtigungsrückruf aufrufen.

Hinweis Es wird dringend davon abgeraten, zusätzliche RPC-Aufrufe auszuführen, lang andauernde Arbeiten von Benachrichtigungsrückrufen zu blockieren oder auszuführen.
 

Hinweise

Vor Windows Vista und früheren Versionen von Windows war die RPC_ASYNC_NOTIFICATION_INFO Union Teil der RPC_ASYNC_STATE-Struktur . Weitere Informationen finden Sie im thema RPC_ASYNC_STATE .

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP mit SP2 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 mit SP1 [nur Desktop-Apps]
Kopfzeile rpcasync.h (include Rpc.h)

Weitere Informationen

RPC_ASYNC_STATE