GET_STATE
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_STARTED傳回此參數的值。
conv_id
提供的 參數。 提供此 TP 查詢所在交談的識別碼。 這個參數的值是由叫用 TP 中的 MC_ALLOCATE 或 ALLOCATE 傳回,或在叫用的 TP 中 RECEIVE_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
交談具有 PENDING 的 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 發出此動詞時,交談可以處於任何狀態。
沒有狀態變更。