APPC 動詞摘要
本節會簡短描述每個 APPC 動詞,並依函式分組。
開始交談的動詞
ALLOCATE或 MC_ALLOCATE
本機交易程式 (TP) 所發出。 這個動詞會在本機邏輯單元 (LU) 和夥伴 LU 之間配置會話,並建立本機 TP 與夥伴 TP 之間的交談。
ALLOCATE 可以建立基本或對應的交談。 MC_ALLOCATE 只能啟動對應的交談。 配置交談之後,APPC 會使用此動詞傳回交談識別碼 (conv_id) 。
RECEIVE_ALLOCATE
由合作夥伴 TP 發行。 這個動詞會確認合作夥伴 TP 已準備好開始與發出 ALLOCATE 或 MC_ALLOCATE的本機 TP 交談。 成功執行時,此動詞會傳回合作夥伴 TP 和conv_id的 TP 識別碼 (tp_id) 。
TP_STARTED
由本機 TP 發出。 這個動詞會通知 APPC 本機 TP 正在啟動。 成功執行時,此動詞會傳回本機 TP 的tp_id 。
傳送資料的動詞
CONFIRM或 MC_CONFIRM
將本機 LU 傳送緩衝區的內容和確認要求傳送給合作夥伴 TP。
FLUSH或 MC_FLUSH
排清本機 LU 的傳送緩衝區,將緩衝區的內容傳送給夥伴 LU 和 TP。 如果傳送緩衝區是空的,則不會採取任何動作。
PREPARE_TO_RECEIVE或 MC_PREPARE_TO_RECEIVE
將交談的狀態從 SEND 變更為 RECEIVE。 變更交談狀態之前,這個動詞會執行 FLUSH、 MC_FLUSH、 CONFIRM或 MC_CONFIRM的對等專案。 成功執行此動詞之後,本機 TP 可以接收資料。
REQUEST_TO_SEND或 MC_REQUEST_TO_SEND
通知合作夥伴 TP 本機 TP 想要傳送資料。 本機 TP 必須等到合作夥伴 TP 問題 PREPARE_TO_RECEIVE、 MC_PREPARE_TO_RECEIVE、 RECEIVE_AND_WAIT或 MC_RECEIVE_AND_WAIT,且交談狀態會在本機 TP 開始傳送資料之前變更為 RECEIVE。
SEND_DATA或 MC_SEND_DATA
將資料放在本機 LU 的傳送緩衝區中,以便傳輸至夥伴 TP。
當發生下列其中一項時,本機 LU 傳送緩衝區中收集的資料會傳輸至夥伴 LU 和合作夥伴 TP:
傳送緩衝區會填滿。
本機 TP 會 發出 FLUSH、 MC_FLUSH、 CONFIRM、 MC_CONFIRM、 DEALLOCATE、 MC_DEALLOCATE,或排清本機 LU 傳送緩衝區的另一個動詞。
接收資料的動詞
POST_ON_RECEIPT或 MC_POST_ON_RECEIPT
發出此動詞可讓應用程式註冊在資料或狀態到達本機 LU 時接收通知,而不會同時收到通知。 這個動詞只能在 RECEIVE 狀態發出,而且永遠不會造成交談狀態的變更。
當 TP 發出此動詞時,APPC 會立即將控制權傳回至 TP。 滿足指定的條件時,指定為 參數的 Win32® 事件會發出訊號,並完成動詞。 然後,TP 會查看動詞控制項區塊中的傳回碼,以判斷是否有任何資料或狀態通知抵達本機 LU,併發出 RECEIVE_IMMEDIATE 或 RECEIVE_AND_WAIT 動詞來實際接收資料或狀態通知。
RECEIVE_AND_POST或 MC_RECEIVE_AND_POST
當交談處於 RECEIVE 狀態時發出這個動詞,會將交談狀態變更為 PENDING_POST,並讓本機 TP 以非同步方式接收資料。 這可讓本機 TP 在資料仍抵達本機 LU 時繼續處理。
當交談處於 SEND 狀態時發出這個動詞,會排清 LU 的傳送緩衝區,並將交談狀態變更為PENDING_POST。 然後,本機 TP 會開始以非同步方式接收資料。
RECEIVE_AND_WAIT或 MC_RECEIVE_AND_WAIT
當交談處於 RECEIVE 狀態時發出此動詞,會導致本機 TP 接收目前可從合作夥伴 TP 取得的任何資料。 如果沒有資料可用,本機 TP 會等候資料抵達。
當交談處於 SEND 狀態時發出這個動詞,會排清 LU 的傳送緩衝區,並將交談狀態變更為 RECEIVE。 然後,本機 TP 會開始接收資料。
RECEIVE_IMMEDIATE或 MC_RECEIVE_IMMEDIATE
接收目前可從合作夥伴 TP 取得的任何資料。 如果沒有可用的資料,則本機 TP 不會等候。
TEST_RTS或 MC_TEST_RTS
判斷是否已收到 REQUEST_TO_SEND 或 MC_REQUEST_TO_SEND 或通知。
確認資料或報告錯誤的動詞
CONFIRMED或 MC_CONFIRMED
回復合作夥伴 TP 的確認要求。 它會通知合作夥伴 TP 本機 TP 已收到並處理資料,而不會發生錯誤。
RECEIVE_LOG_DATA或 MC_RECEIVE_LOG_DATA
發出此動詞可讓使用者註冊以接收與輸入函式管理標頭 7 相關聯的記錄資料, (FMH7) 錯誤報表。 動詞會將緩衝區傳遞至 APPC,而接收的任何記錄資料都會放在該緩衝區中。 APPC 會繼續使用此緩衝區作為連續 FMH7s 抵達,直到它提供給另一個緩衝區 (,直到 TP 發出另一個 RECEIVE_LOG_DATA 或 MC_RECEIVE_LOG_DATA 指定不同的緩衝區,或完全沒有緩衝區) 為止。
SEND_CONVERSATION或 MC_SEND_CONVERSATION
由叫用 TP 所發出,此動詞會在本機 LU 和夥伴 LU 之間配置會話、在會話上傳送資料,然後解除配置會話。
SEND_ERROR或 MC_SEND_ERROR
通知合作夥伴 TP 本機 TP 發生應用層級錯誤。
取得和設定資訊的動詞
GET_ATTRIBUTES或 MC_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 節點的組態資訊和目前的作業值。
結束交談的動詞
DEALLOCATE或 MC_DEALLOCATE
解除配置兩個 TP 之間的交談。 解除配置交談之前,此動詞會執行 FLUSH、 MC_FLUSH、 CONFIRM或 MC_CONFIRM的對等專案。
TP_ENDED
由本機和合作夥伴 TP 發出。 它會通知 APPC TP 結束。 發出這個動詞也會終止任何作用中的交談。