APPC 動詞摘要

本節會簡短描述每個 APPC 動詞,並依函式分組。

開始交談的動詞

ALLOCATEMC_ALLOCATE
本機交易程式 (TP) 所發出。 這個動詞會在本機邏輯單元 (LU) 和夥伴 LU 之間配置會話,並建立本機 TP 與夥伴 TP 之間的交談。

ALLOCATE 可以建立基本或對應的交談。 MC_ALLOCATE 只能啟動對應的交談。 配置交談之後,APPC 會使用此動詞傳回交談識別碼 (conv_id) 。

RECEIVE_ALLOCATE
由合作夥伴 TP 發行。 這個動詞會確認合作夥伴 TP 已準備好開始與發出 ALLOCATEMC_ALLOCATE的本機 TP 交談。 成功執行時,此動詞會傳回合作夥伴 TP 和conv_id的 TP 識別碼 (tp_id)

TP_STARTED
由本機 TP 發出。 這個動詞會通知 APPC 本機 TP 正在啟動。 成功執行時,此動詞會傳回本機 TP 的tp_id

傳送資料的動詞

CONFIRMMC_CONFIRM
將本機 LU 傳送緩衝區的內容和確認要求傳送給合作夥伴 TP。

FLUSHMC_FLUSH
排清本機 LU 的傳送緩衝區,將緩衝區的內容傳送給夥伴 LU 和 TP。 如果傳送緩衝區是空的,則不會採取任何動作。

PREPARE_TO_RECEIVEMC_PREPARE_TO_RECEIVE
將交談的狀態從 SEND 變更為 RECEIVE。 變更交談狀態之前,這個動詞會執行 FLUSHMC_FLUSHCONFIRMMC_CONFIRM的對等專案。 成功執行此動詞之後,本機 TP 可以接收資料。

REQUEST_TO_SENDMC_REQUEST_TO_SEND
通知合作夥伴 TP 本機 TP 想要傳送資料。 本機 TP 必須等到合作夥伴 TP 問題 PREPARE_TO_RECEIVEMC_PREPARE_TO_RECEIVERECEIVE_AND_WAITMC_RECEIVE_AND_WAIT,且交談狀態會在本機 TP 開始傳送資料之前變更為 RECEIVE。

SEND_DATAMC_SEND_DATA
將資料放在本機 LU 的傳送緩衝區中,以便傳輸至夥伴 TP。

當發生下列其中一項時,本機 LU 傳送緩衝區中收集的資料會傳輸至夥伴 LU 和合作夥伴 TP:

  • 傳送緩衝區會填滿。

  • 本機 TP 會 發出 FLUSHMC_FLUSHCONFIRMMC_CONFIRMDEALLOCATEMC_DEALLOCATE,或排清本機 LU 傳送緩衝區的另一個動詞。

接收資料的動詞

POST_ON_RECEIPT或 MC_POST_ON_RECEIPT
發出此動詞可讓應用程式註冊在資料或狀態到達本機 LU 時接收通知,而不會同時收到通知。 這個動詞只能在 RECEIVE 狀態發出,而且永遠不會造成交談狀態的變更。

當 TP 發出此動詞時,APPC 會立即將控制權傳回至 TP。 滿足指定的條件時,指定為 參數的 Win32® 事件會發出訊號,並完成動詞。 然後,TP 會查看動詞控制項區塊中的傳回碼,以判斷是否有任何資料或狀態通知抵達本機 LU,併發出 RECEIVE_IMMEDIATERECEIVE_AND_WAIT 動詞來實際接收資料或狀態通知。

RECEIVE_AND_POSTMC_RECEIVE_AND_POST
當交談處於 RECEIVE 狀態時發出這個動詞,會將交談狀態變更為 PENDING_POST,並讓本機 TP 以非同步方式接收資料。 這可讓本機 TP 在資料仍抵達本機 LU 時繼續處理。

當交談處於 SEND 狀態時發出這個動詞,會排清 LU 的傳送緩衝區,並將交談狀態變更為PENDING_POST。 然後,本機 TP 會開始以非同步方式接收資料。

RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT
當交談處於 RECEIVE 狀態時發出此動詞,會導致本機 TP 接收目前可從合作夥伴 TP 取得的任何資料。 如果沒有資料可用,本機 TP 會等候資料抵達。

當交談處於 SEND 狀態時發出這個動詞,會排清 LU 的傳送緩衝區,並將交談狀態變更為 RECEIVE。 然後,本機 TP 會開始接收資料。

RECEIVE_IMMEDIATEMC_RECEIVE_IMMEDIATE
接收目前可從合作夥伴 TP 取得的任何資料。 如果沒有可用的資料,則本機 TP 不會等候。

TEST_RTSMC_TEST_RTS
判斷是否已收到 REQUEST_TO_SENDMC_REQUEST_TO_SEND 或通知。

確認資料或報告錯誤的動詞

CONFIRMEDMC_CONFIRMED
回復合作夥伴 TP 的確認要求。 它會通知合作夥伴 TP 本機 TP 已收到並處理資料,而不會發生錯誤。

RECEIVE_LOG_DATAMC_RECEIVE_LOG_DATA
發出此動詞可讓使用者註冊以接收與輸入函式管理標頭 7 相關聯的記錄資料, (FMH7) 錯誤報表。 動詞會將緩衝區傳遞至 APPC,而接收的任何記錄資料都會放在該緩衝區中。 APPC 會繼續使用此緩衝區作為連續 FMH7s 抵達,直到它提供給另一個緩衝區 (,直到 TP 發出另一個 RECEIVE_LOG_DATAMC_RECEIVE_LOG_DATA 指定不同的緩衝區,或完全沒有緩衝區) 為止。

SEND_CONVERSATIONMC_SEND_CONVERSATION
由叫用 TP 所發出,此動詞會在本機 LU 和夥伴 LU 之間配置會話、在會話上傳送資料,然後解除配置會話。

SEND_ERRORMC_SEND_ERROR
通知合作夥伴 TP 本機 TP 發生應用層級錯誤。

取得和設定資訊的動詞

GET_ATTRIBUTESMC_GET_ATTRIBUTES
由 TP 用來取得交談的屬性。

GET_LU_STATUS
用來報告特定遠端 LU 的狀態。

GET_STATE
由 TP 用來詢問特定交談的狀態。

GET_TP_PROPERTIES
傳回 TP 和目前交易的屬性。

GET_TYPE
由 TP 用來判斷特定交談 (基本或對應) 的交談類型。 利用這項資訊,TP 可以決定是否發出基本或對應的交談動詞。

SET_TP_PROPERTIES
用來設定 TP 和目前交易的屬性。

提供管理功能的動詞

ACTIVATE_SESSION
使用指定的模式,啟動本機 LU 與指定夥伴 LU 之間的會話。

CNOS (變更會話數目)
建立 APPC LU 6.2 會話限制。

DEACTIVATE_SESSION
停用特定會話,或特定模式上的所有會話。

顯示
傳回 SNA 節點的組態資訊和目前的作業值。

結束交談的動詞

DEALLOCATEMC_DEALLOCATE
解除配置兩個 TP 之間的交談。 解除配置交談之前,此動詞會執行 FLUSHMC_FLUSHCONFIRMMC_CONFIRM的對等專案。

TP_ENDED
由本機和合作夥伴 TP 發出。 它會通知 APPC TP 結束。 發出這個動詞也會終止任何作用中的交談。