DEFINE_TRACE
DEFINE_TRACE動詞可啟用或停用指定 API 的追蹤,並控制追蹤的數量。
下列結構描述動詞控制項區塊 (DEFINE_TRACE動詞動詞所使用的 VCB ) 。
語法
struct define_trace {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char reserv3[8];
unsigned char dt_set;
unsigned char appc;
unsigned char reserv4;
unsigned char srpi;
unsigned char sdlc;
unsigned char tkn_rng_dlc;
unsigned char pcnet_dlc;
unsigned char dft;
unsigned char acdi;
unsigned char reserv5;
unsigned char ehllapi;
unsigned char x25_api;
unsigned char x25_dlc;
unsigned char twinax;
unsigned char reserv6;
unsigned char lua_api;
unsigned char etherand;
unsigned char subsym;
unsigned char reserv7[8];
unsigned char reset_trc;
unsigned short trunc;
unsigned short strg_size;
unsigned char reserv8;
unsigned char phys_link[8];
unsigned char reserv9[56];
};
成員
opcode
提供的 參數。 識別作業程式碼的動詞,SV_DEFINE_TRACE。
opext
保留字段。
reserv2
保留字段。
primary_rc
傳回的參數。 指定 APPC 在動詞完成時所設定的主要傳回碼。 有效的傳回碼會隨著發出的 APPC 動詞而有所不同。 如需此動詞的有效錯誤碼,請參閱傳回碼。
secondary_rc
傳回的參數。 指定 APPC 在動詞完成時所設定的次要傳回碼。 有效的傳回碼會隨著發出的 APPC 動詞而有所不同。 如需此動詞的有效錯誤碼,請參閱傳回碼。
reserv3
保留字段。
dt_set
提供的 參數。 設定追蹤狀態。
- 如果與 (appc 或 appc 或 comm_serv) 等 API 相關的參數設定為 SV_CHANGE ,請使用 SV_ON 啟用特定 API 的追蹤。
- 如果 API 的相關參數設定為 SV_CHANGE,請使用 SV_OFF 停用特定 API 的追蹤。
appc
提供的 參數。 指出是否需要追蹤 APPC。
- 根據 dt_set 參數, 使用 SV_CHANGE 來啟用或停用 APPC 的追蹤。
- 使用SV_IGNORE讓追蹤保持 APPC 的目前狀態。
允許的值會開啟或關閉位 0;保留位 1 到 7。
reserv4
保留字段。
srpi
提供的 參數。 指出是否需要追蹤 SRPI。
- 根據 dt_set 參數, 使用 SV_CHANGE 來啟用或停用 APPC 的追蹤。
- 使用SV_IGNORE讓追蹤保持 APPC 的目前狀態。
Sdlc
保留字段。
tkn_rng_dlc
保留字段。
pcnet_dlc
保留字段。
Dft
保留字段。
acdi
保留字段。
reserv5
保留字段。
comm_serv
提供的 參數。 指出是否需要追蹤COMM_SERV_API。
- 根據 dt_set 參數, 使用 SV_CHANGE 來啟用或停用 APPC 的追蹤。
- 使用SV_IGNORE讓追蹤保持 APPC 的目前狀態。
ehllapi
保留字段。
x25_api
保留字段。
x25_dlc
保留字段。
twinax
保留字段。
reserv6
保留字段。
lua_api
保留字段。
etherand
保留字段。
subsym
保留字段。
reserv7
保留字段。
reset_trc
提供的 參數。 指出追蹤檔案指標是否應該重設。
- 使用 SV_NO,不要將追蹤檔案指標重設為追蹤檔案的開頭。 不會覆寫先前的追蹤記錄。
- 使用SV_YES將追蹤檔案指標重設為追蹤檔案的開頭。 會覆寫先前的追蹤記錄。
trunc
提供的 參數。 指定每個追蹤記錄的最大位元組數目。 過多的位元組會被截斷。 如果您不想截斷,請將此值設定為零。
strg_size
保留字段。
reserv8
保留字段。
phys_link
保留字段。
reserv9
保留字段。
傳回碼
SV_OK
主要傳回碼;已成功執行動詞。
SV_PARAMETER_CHECK
主要傳回碼;動詞未執行,因為發生參數錯誤。
SV_INVALID_RESET_TRACE
次要傳回碼; reset_trc 參數包含不正確值。
SV_INVALID_SET
次要傳回碼; dt_set 參數包含不正確值。
SV_STATE_CHECK
主要傳回碼;指令動詞未執行,因為發出狀態無效。
SV_COPY_TRACE_IN_PROGRESS
次要傳回碼;先前發出的 COPY_TRACE_TO_FILE 仍在進行中。 使用 DEFINE_TRACE 時,追蹤不能處於作用 中狀態。
SV_COMM_SUBSYSTEM_NOT_LOADED
主要傳回碼;處理動詞時,無法載入或終止必要的元件。 因此,無法進行通訊。 請連絡系統管理員以取得更正動作。
SV_INVALID_VERB
主要傳回碼; opcode 參數不符合任何動詞的作業程式碼。 未執行動詞。
SV_INVALID_VERB_SEGMENT
主要傳回碼;超出資料區段結尾的 VCB。
SV_UNEXPECTED_DOS_ERROR
主要傳回碼;發生下列其中一個狀況:
- 處理動詞時,Microsoft® Windows® 系統發生錯誤。 作業系統傳回碼是透過次要傳回碼傳回。 如果問題持續發生,請連絡系統管理員以取得更正動作。
- CSV 是從發出 Windows SendMessage 函式呼叫的另一個應用程式叫用的訊息迴圈發出,而不是較常見的 Windows PostMessage 函式呼叫。 無法進行動詞處理。
- 當 SendMessage叫用您的應用程式時,就會發出 CSV。 您可以使用InSendMessage Windows API 函式呼叫,判斷您的應用程式是否已使用SendMessage叫用。
備註
如需如何執行及使用追蹤的資訊,請參閱適合您產品的手冊。