共用方式為


ACTIVATE_SESSION

ACTIVATE_SESSION動詞命令要求 Microsoft ®主機整合伺服器,以使用指定的模式啟用本機邏輯單元 (LU) 與指定夥伴 LU 之間的會話。 當指定的會話變成作用中或失敗時,這個動詞會完成。

下列結構描述 ACTIVATE_SESSION 動詞動詞所使用的動詞控件區塊。

語法

  
typedef struct activate_session {  
    unsigned short  opcode;  
    unsigned char   reserv2[2];  
    unsigned short  primary_rc;  
    unsigned long   secondary_rc;  
    unsigned char   reserv3[8];  
    unsigned char   lu_alias[8];  
    unsigned char   plu_alias[8];  
    unsigned char   mode_name[8];  
    unsigned char   fqplu_name[17];  
    unsigned char   polarity;  
    unsigned char   session_id[8];  
    unsigned long   conv_group_id;  
    unsigned char   reserv4[1];  
    unsigned char   type;  
    HANDLE          deactivation_event;  
    unsigned short* p_deactivation_status;  
    unsigned char   reserv5[10];  
} ACTIVATE_SESSION;   

成員

opcode
提供的參數。 指定動詞作業程式代碼,AP_ACTIVATE_SESSION。

reserv2
保留欄位。

primary_rc
傳回的參數。 指定APPC在動詞完成時設定的主要傳回碼。 有效的傳回碼會根據所發出的APPC動詞而有所不同。 如需這個動詞的有效錯誤碼,請參閱傳回碼。

secondary_rc
傳回的參數。 指定APPC在動詞完成時所設定的次要傳回碼。 有效的傳回碼會根據所發出的APPC動詞而有所不同。 如需這個動詞的有效錯誤碼,請參閱傳回碼。

reserv3
保留欄位。

lu_alias
提供的參數。 提供本機用於 LU 的 8 位元組 ASCII 名稱。 如果要使用預設的本機 LU,請使用空格填入此參數。

plu_alias
提供的參數。 提供本機用於夥伴 LU 的 8 位元組 ASCII 名稱。 如果要使用預設遠端 LU,請使用空白填入此參數。 如果要使用 fqplu_name 參數指定夥伴 LU,請使用二進位零填入此參數。

mode_name
提供的參數。 指定EBCDIC (類型 A) 模式名稱。

fqplu_name
提供的參數。 當本機節點未定義 任何plu_alias 名稱,且夥伴 LU 位於不同的節點時,請在 EBCDIC 中提供夥伴 LU 名稱(類型 A)。 如果指定 plu_alias ,則會忽略此參數。

極性
提供的參數。 指定工作階段的極性。 可能的值為:

AP_POL_EITHER
如果已設定AP_POL_EITHER,ACTIVATE_SESSION如果有的話,會啟動第一個演講者會話;否則會啟動投標人會話。

AP_POL_FIRST_SPEAKER
如果已設定AP_POL_FIRST_SPEAKER,則只有在要求的極性會話可用時,ACTIVATE_SESSION才會成功。

AP_POL_BIDDER
如果已設定AP_POL_BIDDER,則只有在要求的極性會話可用時,ACTIVATE_SESSION才會成功。

session_id
傳回的參數。 提供啟動工作階段的8位元組識別碼。

conv_group_id
傳回的參數。 提供交談群組標識碼。 您可以在 ALLOCATE 上指定此參數,並 MC_ALLOCATE 動詞來啟動此特定會話上的交談。

reserv4
保留欄位。

類型
提供的參數。 指定啟用的類型。 可能的值為:

AP_ACT_ACTIVE
如果指定了AP_ACT_ACTIVE,則主機整合伺服器會嘗試啟動必要的會話(藉由傳送 BIND 或 INIT-SELF)。

AP_ACT_PASSIVE
如果指定了AP_ACT_PASSIVE,則主機整合伺服器不會嘗試啟動會話,當夥伴啟動會話時,動詞命令就會完成。

deactivation_event
提供的參數。 提供APPC在停用會話時發出訊號的事件句柄。 呼叫 CreateEventOpenEvent Win32® 函式,即可取得事件句柄。

p_deactivation_status
傳回的參數。 當停用事件發出訊號以提供完成狀態時所設定之值的指標。 可以傳回下列值。

AP_SESSION_DEACTIVATED
AP_COMM_SUBSYSTEM_ABENDED
reserv5
保留欄位。

回傳代碼

AP_OK
主要傳回碼;已順利執行動詞。 次要傳回碼表示已建立會話的極性。 可以傳回下列值。

AP_POL_FIRST_SPEAKER
AP_POL_BIDDER
AP_PARAMETER_CHECK
主要傳回碼;因為參數錯誤而未執行動詞。

AP_INVALID_LU_ALIAS
次要傳回碼;APPC 在定義的 lu_alias 中找不到指定的。

AP_INVALID_PLU_ALIAS
次要傳回碼;APPC 無法辨識指定的 plu_alias

AP_INVALID_MODE_NAME
次要傳回碼;APPC 無法辨識指定的 mode_name

AP_INVALID_FQPLU_NAME
次要傳回碼;APPC 無法辨識指定的 fqplu_name

AP_INVALID_POLARITY
次要傳回碼;APPC 無法辨識指定的 極性

AP_INVALID_TYPE
次要傳回碼;APPC 無法辨識指定的 類型

AP_ACTIVATION_FAIL_NO_RETRY
主要傳回碼;會話無法啟動,因為需要動作的條件(例如組態不符或會話通訊協定錯誤)。

AP_ACTIVATION_FAIL_RETRY
主要傳回碼;因為暫時性狀況(例如鏈接失敗),所以無法啟動工作階段。

AP_SESSION_LIMITS_EXCEEDED
主要傳回碼;無法啟動工作階段,因為已超過會話限制。

AP_SESSION_LIMITS_CLOSED
主要傳回碼;會話無法啟動,因為會話限制已關閉(也就是零)。

AP_COMM_SUBSYSTEM_ABENDED
主要傳回碼;表示發生下列其中一個情況:

此交談所使用的節點遇到 ABEND。

TP 與 PU 2.1 節點之間的連線已中斷(發生局域網路錯誤)。

TP 電腦上的 SnaBase 遇到 ABEND。

系統管理員應該檢查錯誤記錄檔,以判斷 ABEND 的原因。

AP_COMM_SUBSYSTEM_NOT_LOADED
主要傳回碼;處理動詞時,無法載入或終止必要的元件。 因此,無法進行通訊。 請連絡系統管理員以採取更正動作。

AP_STACK_TOO_SMALL
主要傳回碼;應用程式的堆疊大小太小,無法執行動詞。 增加應用程式的堆疊大小。

AP_THREAD_BLOCKING
主要傳回碼;呼叫線程已經在封鎖呼叫中。

備註

此動詞支援主動和被動啟用。

此動詞的作用中形式會導致主機整合伺服器嘗試起始會話(藉由傳送獨立 RU 的 BIND 或相依 RU 的 INIT-SELF)。 此動詞動詞的作用中形式也會導致下列行為:

  • 如果與夥伴 LU 的連線處於非使用中狀態,且設定為隨選,則節點會嘗試啟動連線。

  • 如果使用動態夥伴,節點將會設定 LU-LU/MODE 合作關係。

  • 如果 CNOS 尚未執行,節點將會啟動 CNOS(但不會變更任何工作階段限制)。

    被動形式不會嘗試啟動會話,但會在從其夥伴 LU 的 BIND 啟動 LU 時完成。 對於獨立的 RU,多個被動 ACTIVATE_SESSION 動詞可以排入佇列以取得相同的 LU-LU/MODE,然後在啟動新會話時完成。

    這個動詞命令也包含停用事件,當會話被 除DEACTIVATE_SESSION 動詞以外的任何方法停用時張貼(例如,來自其夥伴 LU 的未請求 UNBIND 會導致張貼此事件)。