共用方式為


對應交談範例

如需對應交談的背景資訊,請參閱 比較基本和對應的交談

下列對應交談範例顯示用來啟動交談、交換資料及結束交談的 APPC 動詞。 APPC 動詞參數位於括弧中。

叫用 TP 所發出 由可叫用 TP 發行
TP_STARTED
MC_ALLOCATE
MC_SEND_DATA
MC_DEALLOCATE
TP_ENDED RECEIVE_ALLOCATE
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(rtn_status=AP_NO)
(what_rcvd=AP_DATA_COMPLETE)
MC_RECEIVE_AND_WAIT
(primary_rc=AP_DEALLOC_NORM)
TP_ENDED

下列段落描述對應交談中使用的動詞。

啟動對應交談的動詞

若要啟動對應的交談,叫用 TP 會發出下列動詞命令:

  • TP_STARTED,通知 APPC 本機 TP 正在開始交談。

  • MC_ALLOCATE,要求 APPC 在本機 TP 與合作夥伴 TP 之間建立交談。

    可叫用的 TP 問題 RECEIVE_ALLOCATE,通知 APPC 已準備好開始與叫用 TP 的對話。

在對應交談中傳送資料的動詞

MC_SEND_DATA 會將一筆資料記錄放在本機 LU 的傳送緩衝區 (一筆記錄,其中包含要傳送) 的應用程式資料。 在發生下列其中一個事件之前,不會進行資料傳輸至合作夥伴 TP:

  • 傳送緩衝區會填滿。

  • 傳送 TP 會發出動詞命令,強制 APPC 排清緩衝區,並將資料傳送至夥伴 TP。

    在上述範例中,傳送緩衝區同時包含資料記錄和 MC_ALLOCATE 要求 (,其位於資料記錄) 前面。 因此,在範例中, MC_DEALLOCATE 排清緩衝區,並將 MC_ALLOCATE 要求和資料記錄傳送給夥伴 TP。 排清緩衝區的其他動 詞命令MC_CONFIRMMC_FLUSH

用於在對應交談中接收資料的動詞

MC_RECEIVE_AND_WAIT動詞命令可讓 TP 接收資料記錄或狀態資訊。 如果目前沒有可用的資料,TP 會等候資料送達。 針對 Windows 系統,請與WinAsyncAPPC搭配發出MC_RECEIVE_AND_WAIT,而不是此呼叫的封鎖版本。

在此範例中,接收 TP 問題 MC_RECEIVE_AND_WAIT 兩次。 第一次,它會發出動詞來接收資料。 當完成接收完整資料記錄 (what_rcvd AP_DATA_COMPLETE) 時,它會再次發出 MC_RECEIVE_AND_WAIT 以接收傳回碼。 傳回碼AP_DEALLOC_NORMAL表示交談已解除配置。

注意

MC_RECEIVE_IMMEDIATE 會執行與 MC_RECEIVE_AND_WAIT相同的功能,不同之處在于,如果合作夥伴 TP 目前無法使用資料,則不會等候。 相反地,它會傳回呼叫 TP 的無資料可用回應。

結束對應交談的動詞

若要結束對應的交談,其中一個 TP 問題 MC_DEALLOCATE,這會導致 APPC 解除配置兩個 TP 之間的交談。

解除配置交談之後,這兩個 TP 問題 TP_ENDED

注意

TP 可以同時參與多個交談。 在此情況下,所有交談都解除配置之後 TP 問題TP_ENDED。