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
提供的參數。 設定追蹤狀態。
- 如果與 API 相關的參數設定為 comm_serv 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,將追蹤檔案指標重設為追蹤檔案的開頭。 會覆寫先前的追蹤記錄。
截斷
提供的參數。 指定每個追蹤記錄的最大位元元組數目。 多餘的位元組會被截斷。 如果您不想截斷,請將此值設定為零。
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 叫用應用程式。
備註
如需如何執行和使用追蹤的資訊,請參閱適合您產品的手冊。