共用方式為


以異步方式接收數據

使用 Windows 時,TP 可以異步接收數據,而不考慮在 TP 內發生的其他事件。 下表顯示 TP 可以異步接收數據的方法。 數據表也指出如何將異步方法套用至接收數據以外的動作。

操作系統 方法
窗戶 透過 Windows 訊息:使用 WinAsyncAPPC 發出 RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT 指令;應用程式會透過 PostMessage 通知已完成至指定的視窗句柄。

這個方法不限於 RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT,但可以套用至任何APPC動詞。
窗戶 透過 Win32® 事件:使用 WinAsyncAPPCEx 發出RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT;應用程式會透過 Win32 事件通知完成。

這個方法不限於 RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT,但可以套用至任何APPC動詞。
窗戶 使用 RECEIVE_AND_POSTMC_RECEIVE_AND_POST: 執行 RECEIVE_AND_POSTMC_RECEIVE_AND_POST 動詞。

下列清單提供這些異步接收數據方法的詳細數據。 如需完整資訊,請參閱動詞描述。

RECEIVE_AND_WAITMC_RECEIVE_AND_WAITWinAsyncAPPC
此方法可讓應用程式發出動詞,並在動作完成時透過 PostMessage 收到通知。 若要擷取要張貼至視窗的訊息號碼,請使用 「WinAsyncAPPC」 呼叫 RegisterWindowMessage 作為輸入字串。 然後使用 WinAsyncAPPC 進入點發出RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT

WinAsyncAPPCEx 中使用 RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT
此方法可讓應用程式透過 Win32 事件收到通知。 撰寫需要同時服務多個交談的應用程式時,這特別有用。 當傳遞至APPC時,事件必須處於非訊號狀態,而且控制代碼必須具有EVENT_MODIFY_STATE存取權限。

RECEIVE_AND_POSTMC_RECEIVE_AND_POST
使用 RECEIVE_AND_POSTMC_RECEIVE_AND_POST時,應用程式會透過 Win32 事件收到通知。 當傳遞至 APPC 時,事件必須處於未發出信號的狀態,而且句柄必須具有對事件的 EVENT_MODIFY_STATE 訪問權限。

以異步方式接收數據時,TP 會執行與此交談無關的工作;在收到通知之前,TP 無法發出大部分的APPC動詞。 如需可發出之動詞的詳細資訊,請參閱 WinAsyncAPPCWinAsyncAPPCEx 的描述。

在動作以異步方式完成之後,請檢查primary_rc以確認資料是否正確接收且無錯誤。

備註

如果發出動詞的初始呼叫成功傳回,則不論動詞最終是否成功,應用程式保證會在動詞完成時收到通知(適用方法)。