共用方式為


以非同步方式接收資料

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

作業系統 方法
Windows 透過 Windows 訊息:WinAsyncAPPC的問題RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT;應用程式會透過PostMessage通知完成至定義的視窗控制碼。

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

這個方法不限於 RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT,但可以套用至任何 APPC 動詞命令。
Windows 使用 RECEIVE_AND_POSTMC_RECEIVE_AND_POST: 發出 RECEIVE_AND_POSTMC_RECEIVE_AND_POST 動詞命令。

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

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

使用WinAsyncAPPCExRECEIVE_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,以瞭解是否已收到資料,而不會發生錯誤。

注意

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