Freigeben über


WinAsyncAPPCEx

Die WinAsyncAPPCEx-Funktion stellt einen asynchronen Einstiegspunkt für alle APPC-Verben bereit. Verwenden Sie diese Funktion anstelle der Blockierungsversionen der Verben, damit mehrere Sitzungen mit Ereignissen im selben Thread behandelt werden können. Dieses Verb wird nur unter Microsoft Windows unterstützt und verwendet Win32-Ereignisse®.

Syntax

  
    HANDLE WINAPI WinAsyncAPPCEx(   
HANDLEevent_handle,  
longlpVcb);  

Parameter

event_handle
Behandeln, das für Ereignisbenachrichtigungen mit Win32-Ereignissen verwendet wird.

lpVcb
Zeigen Sie auf den Verb-Steuerelementblock.

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 von Ereignissen für die Benachrichtigung zu versuchen.

Bemerkungen

Diese Funktion ist für die Verwendung mit WaitForSingleObject oder WaitForMultipleObjects 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 Multithread-TPs finden Sie im Multithreaded Send and Receive Sample TPs (MRCV). C, MSEND. C und MSENDRCV. C im Ordner "MSENDRCV") im SDK enthalten.

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

Hinweis

Die Ausnahmen vom vorherigen Absatz sind RECEIVE_AND_POST, MC_RECEIVE_AND_POST, RECEIVE_AND_WAIT und MC_RECEIVE_AND_WAIT.

Hinweis

Um die vollständige Verwendung der asynchronen Unterstützung zu ermöglichen, wurden asynchron ausgegebene RECEIVE_AND_WAIT und MC_RECEIVE_AND_WAIT Verben so geändert, dass sie wie die RECEIVE_AND_POST und MC_RECEIVE_AND_POST Verben funktionieren. Während eine asynchrone Version eines dieser Verben ausstehende ist, können die folgenden Verben in derselben Unterhaltung ausgegeben werden:

Hinweis

Auf diese Weise kann eine Anwendung, insbesondere eine Serveranwendung, eine asynchrone RECEIVE_AND_WAIT oder MC_RECEIVE_AND_WAIT verwenden, um Daten zu empfangen. Während die RECEIVE_AND_POST, MC_RECEIVE_AND_POST, RECEIVE_AND_WAIT oder MC_RECEIVE_AND_WAIT noch ausstehend sind, kann sie weiterhin SEND_ERROR oder MC_SEND_ERROR und REQUEST_TO_SEND oder MC_REQUEST_TO_SEND verwenden. Es wird empfohlen, dieses Feature für die vollständige asynchrone Unterstützung und insbesondere für die Unterstützung mehrerer Unterhaltungen im selben Thread zu verwenden.

Nach Abschluss des asynchronen Vorgangs wird die Anwendung über die Signalisierung des Ereignisses benachrichtigt. Überprüfen Sie bei der Signalisierung des Ereignisses den primären RÜCKGABEcode APPC und sekundären Rückgabecode im Verb-Steuerelementblock auf fehlerbedingungen.