共用方式為


WinAsyncAPPCEx

WinAsyncAPPCEx函式會為所有 APPC 動詞提供非同步進入點。 請使用此函式,而不是動詞的封鎖版本,以允許使用事件在同一個執行緒上處理多個會話。 此動詞僅在 Microsoft Windows 上受到支援,並使用 Win32® 事件。

語法

  
    HANDLE WINAPI WinAsyncAPPCEx(   
HANDLEevent_handle,  
longlpVcb);  

參數

event_handle
使用 Win32 事件處理事件通知的控制碼。

lpVcb
動詞控制項區塊的指標。

傳回值

傳回值會指定非同步解析要求是否成功。 如果函式成功,則傳回值是非同步工作控制碼。 如果函式未成功,則會傳回零。

當此函式傳回成功值時,這並不表示 APPC 呼叫最終會成功傳回。 它只會指出 APPC 程式庫可以使用事件以非同步方式嘗試 APPC 呼叫以通知。

備註

此函式適用于 WIN32 API 中的 WaitForSingleObjectWaitForMultipleObjects 。 這些函式會在 Microsoft Platform SDK 檔的一節中說明。

如需如何在多執行緒 TP 中使用這個動詞的範例,請參閱多執行緒傳送和接收範例 TP (MRCV。C、MSEND。C 和 MSENDRCV。C 位於 SDK 中包含的 MSENDRCV 資料夾中) 。

可以封鎖的基本交談中使用的 APPC 動詞如下:

注意

上述段落的例外狀況是 RECEIVE_AND_POSTMC_RECEIVE_AND_POSTRECEIVE_AND_WAITMC_RECEIVE_AND_WAIT

注意

為了允許完整使用非同步支援,已改變異步發出RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT動詞,以像RECEIVE_AND_POST和MC_RECEIVE_AND_POST動詞。 具體來說,雖然其中一個動詞的非同步版本未完成,但可以在相同的交談上發出下列動詞:

注意

這可讓應用程式特別是伺服器應用程式使用非同步 RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT 來接收資料。 雖然 RECEIVE_AND_POSTMC_RECEIVE_AND_POSTRECEIVE_AND_WAITMC_RECEIVE_AND_WAIT 尚未完成,但仍可使用 SEND_ERRORMC_SEND_ERRORREQUEST_TO_SENDMC_REQUEST_TO_SEND。 建議您針對完整非同步支援使用這項功能,特別是針對在相同執行緒上支援多個交談。

非同步作業完成時,應用程式會透過事件的訊號通知。 發出事件訊號時,請檢查動詞控制項區塊中是否有任何錯誤狀況的 APPC 主要傳回碼和次要傳回碼。