Freigeben über


WinAsyncAPPCIOCP

Die WinAsyncAPPCIOCP-Funktion stellt einen asynchronen Einstiegspunkt für alle APPC-Verben bereit. Verwenden Sie diese Funktion anstelle der blockierenden Versionen der Verben, um mehrere Sitzungen mithilfe von E/A-Vervollständigungsports auf demselben Thread zu behandeln. Dieses Verb wird nur unter Microsoft Windows unterstützt und verwendet Win32-E/A-Vervollständigungsports.

Syntax

  
    HANDLE WINAPI WinAsyncAPPCIOCP(   
APPC_IOCP_INFO *iocp_handle,  
longlpVcb);  

Parameter

iocp_handle
Ein Zeiger auf eine APPC_IOCP_INFO Struktur, die zum Übergeben von E/A-Vervollständigungsportinformationen verwendet wird.

lpVcb
Zeiger auf den Verb-Steuerelementblock

Die APPC_IOCP_INFO-Struktur weist den folgenden Prototyp auf:

  
APPC_CompletionPort;APPC_NumberOfBytesTransferred;  
    APPC_CompletionKey;  
    APPC_pOverlapped;  
  

APPC_CompletionPort

Dieser angegebene Parameter ist das HANDLE, das vom Aufruf der CreateIoCompletionPort-Funktion zurückgegeben wird, wenn der E/A-Abschlussport erstellt wird. Der E/A-Vervollständigungsport muss erstellt werden, bevor die WinAsyncAPPCIOCP-Funktion aufgerufen wird. Nach Abschluss des Verbs ruft die APPC-Bibliothek die PostQueuedCompletionStatus-Funktion mit den verbleibenden Feldern in der Struktur als Eingaben auf, und diese Felder werden einfach an die von der Anwendung ausgegebene GetQueuedCompletionStatus-Funktion übergeben.

APPC_NumberOfBytesTransferred

Dieser angegebene Parameter wird ignoriert. Nach Abschluss des APPC-Verbs ruft die APPC-Bibliothek die PostQueuedCompletionStatus-Funktion mit diesem Feld als Eingabe auf, und der für die dwNumberOfBytesTransferred zurückgegebene Wert wird einfach an die von der Anwendung ausgegebene GetQueuedCompletionStatus-Funktion übergeben.

APPC_CompletionKey

Dieser angegebene Parameter wird ignoriert. Nach Abschluss des APPC-Verbs ruft die APPC-Bibliothek die PostQueuedCompletionStatus-Funktion mit diesem Feld als Eingabe auf, und der für den dwCompletionKey zurückgegebene Wert wird einfach an die von der Anwendung ausgegebene GetQueuedCompletionStatus-Funktion übergeben.

APPC_pOverlapped

Dieser angegebene Parameter wird ignoriert. Nach Abschluss des APPC-Verbs ruft die APPC-Bibliothek die PostQueuedCompletionStatus-Funktion mit diesem Feld als Eingabe auf, und der für das lpOverlapped zurückgegebene Wert wird einfach an die von der Anwendung ausgegebene GetQueuedCompletionStatus-Funktion übergeben.

Rückgabewert

Der Rückgabewert gibt an, ob die asynchrone Auflösungsanforderung erfolgreich war. Wenn die Funktion erfolgreich war, ist der Rückgabewert ein asynchroner Aufgabenhandle. Wenn die Funktion nicht erfolgreich war, wird eine Null zurückgegeben.

Wenn diese Funktion einen erfolgreichen Wert zurückgibt, gibt dies nicht an, dass der APPC-Aufruf letztendlich erfolgreich zurückgegeben wird. Es weist nur darauf hin, dass es für die APPC-Bibliothek möglich war, den APPC-Aufruf asynchron mithilfe eines E/A-Vervollständigungsports für die Benachrichtigung zu versuchen.

Bemerkungen

Diese Funktion ist für die Verwendung mit CreateIoCompletionPort und GetQueuedCompletionStatus in der Win32-API vorgesehen. Diese Funktionen werden im Abschnitt "Referenz" der Dokumentation zum Microsoft Platform SDK beschrieben.

Ein Beispiel für die Verwendung dieses Verbs in Multithreaded-TPs finden Sie im Multithreaded Receive Sample TP (MRCVIO im Ordner SNA\MSENDRCV) mithilfe von E/A-Vervollständigungsports, die im Host Integration Server SDK enthalten sind.

APPC-Verben, die in einfachen Unterhaltungen verwendet werden, die blockieren können, sind wie folgt: