GET_STATE動詞會傳回特定交談的狀態。
下列結構描述 GET_STATE 動詞動詞所使用的動詞控制區塊 (VCB)。
語法
struct get_state {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned long conv_id;
unsigned char conv_state;
};
成員
opcode
提供的參數。 指定動詞作業程式代碼,AP_GET_STATE。
opext
GET_STATE動詞動詞未使用此欄位。
reserv2
保留欄位。
primary_rc
傳回的參數。 指定APPC在動詞完成時設定的主要傳回碼。 有效的傳回碼會根據所發出的APPC動詞而有所不同。 如需這個動詞的有效錯誤碼,請參閱傳回碼。
secondary_rc
傳回的參數。 指定APPC在動詞完成時所設定的次要傳回碼。 有效的傳回碼會根據所發出的APPC動詞而有所不同。 如需這個動詞的有效錯誤碼,請參閱傳回碼。
tp_id
提供的參數。 識別本機交易程式 (TP)。 在叫用 TP 或叫用的 TP 中RECEIVE_ALLOCATE,這個參數的值是由 叫 用的 TP 中TP_STARTED 所傳 回。
conv_id
提供的參數。 提供此 TP 詢問之交談的標識碼。 在叫用 TP 或叫用的 TP 中RECEIVE_ALLOCATE,MC_ALLOCATE或 ALLOCATE 傳回此參數的值。
conv_state
傳回的參數。 表示交談的狀態。
conv_state參數可以是下列其中一個值:
AP_RESET_STATE
交談處於 RESET 狀態。
AP_SEND_STATE
交談處於 SEND 狀態。
AP_RECEIVE_STATE
交談處於 RECEIVE 狀態。
AP_CONFIRM_STATE
交談處於 CONFIRM 狀態。
AP_CONFIRM_SEND_STATE
交談處於CONFIRM_SEND狀態。
AP_CONFIRM_DEALL_STATE
交談處於CONFIRM_DEALLOCATE狀態。
AP_PEND_POST_STATE
交談有 POST 動詞擱置中。
AP_PEND_DEALL_STATE
交談有 DEALLOCATE 動詞擱置中。
AP_END_CONV_STATE
交談處於END_CONVERSATION狀態。
AP_SEND_PENDING_STATE
交談處於SEND_PENDING狀態。
回傳代碼
AP_OK
主要傳回碼;已順利執行動詞。
AP_PARAMETER_CHECK
主要傳回碼;因為參數錯誤而未執行動詞。
AP_BAD_CONV_ID
次要傳回碼; conv_id 的值與 APPC 指派的交談標識碼不符。
AP_BAD_TP_ID
次要傳回碼; tp_id 的值與 APPC 指派的 TP 識別碼不符。
AP_COMM_SUBSYSTEM_ABENDED
主要傳回碼;表示下列其中一個條件:
此交談所使用的節點遇到 ABEND。
TP 與 PU 2.1 節點之間的連線已中斷(LAN 錯誤)。
TP 電腦上的 SnaBase 遇到 ABEND。
系統管理員應該檢查錯誤記錄檔,以判斷 ABEND 的原因。
AP_INVALID_VERB_SEGMENT
主要傳回碼;VCB 延伸超過數據區段結尾。AP_STACK_TOO_SMALL
主要傳回碼;應用程式的堆疊大小太小,無法執行動詞。 增加應用程式的堆疊大小。AP_CONV_BUSY
主要傳回碼;在任何交談時,一次只能有一個未完成的交談動詞。 如果本機 TP 有多個線程,而且多個線程使用相同的 conv_id發出 APPC 呼叫,就可能發生此情況。AP_UNEXPECTED_DOS_ERROR
主要傳回碼;從本機 TP 處理 APPC 呼叫時,作系統已將錯誤傳回 APPC。 作系統傳回碼會透過 secondary_rc傳回。 它會以 Intel 位元組交換的順序出現。 如果問題持續發生,請洽詢系統管理員。
備註
當 TP 發出這個動詞時,交談可能處於任何狀態。
沒有狀態變更。