TCPMON Xcv 命令
本節描述當 呼叫 XcvData 或 XcvDataPort 函式與標準 TCP/IP 埠監視器通訊時,可指定 (TCPMON) 的命令。 每個命令都是由呼叫這些函式中的 pszDataName 字串所指定。 某些命令需要輸入緩衝區、輸出緩衝區或兩者。 這些函式的 pInputData 和 pOutputData 參數會保存這些緩衝區的位址。
出現在下列每個命令描述中的數據表會列出搭配命令使用的 XcvData 和 XcvDataPort 參數。 請注意, hXcv 參數 (兩個函式) 都未列出,也不列出 XcvData 函式的 pdwStatus 參數。
AddPort 命令
AddPort 命令會新增標準 TCP/IP 埠,可以是 LPR 埠或 RAW TCP/IP 埠。
XcvData 參數 | 值 |
---|---|
pszDataName | L“AddPort” |
pInputData | PORT_DATA_1 結構的位址 |
cbInputData | sizeof (PORT_DATA_1) |
pOutputData | NULL |
cbOutputData | 0 |
azureOutputNeeded | DWORD 的位址 |
如果 XcvData 可以新增埠,則會傳回NO_ERROR。 除了一般錯誤碼之外,如果用戶沒有足夠的許可權在伺服器上建立埠, XcvData 會傳回ERROR_ACCESS_DENIED。 此命令需要SERVER_ACCESS_ADMINISTER許可權。 如果 pInputData 參數為 NULL,函式會傳回ERROR_INVALID_DATA。 如果 pInputData-->dwVersion 不等於 1,函式會傳回ERROR_INVALID_LEVEL。
ConfigPort 命令
ConfigPort 命令會設定現有的標準 TCP/IP 埠監視埠。
XcvData 參數 | 值 |
---|---|
pszDataName | L“ConfigPort” |
pInputData | PORT_DATA_1 結構的位址 |
cbInputData | sizeof (PORT_DATA_1) |
pOutputData | NULL |
cbOutputData | 0 |
azureOutputNeeded | DWORD 的位址 |
如果 XcvData 可以設定埠,則會傳回NO_ERROR。 除了一般錯誤碼之外,如果呼叫端的許可權不足而無法執行要求, XcvData 會傳回ERROR_ACCESS_DENIED。 此命令需要SERVER_ACCESS_ADMINISTER許可權。 如果 pInputData 參數為 NULL,或 cbInputData 中的值小於必要,則函式會傳回ERROR_INVALID_DATA。 如果 pInputData-->dwVersion 不等於 1,函式會傳回ERROR_INVALID_LEVEL。
DeletePort 命令
DeletePort 命令會從標準 TCP/IP 埠監視器中刪除埠。
XcvData 參數 | 值 |
---|---|
pszDataName | L“DeletePort” |
pInputData | DELETE_PORT_DATA_1 結構的位址 |
cbInputData | sizeof (DELETE_PORT_DATA_1) |
pOutputData | NULL |
cbOutputData | 0 |
azureOutputNeeded | DWORD 的位址 |
如果已成功刪除埠,XcvData 會傳回NO_ERROR。 除了一般錯誤碼之外,如果呼叫端在伺服器上的許可權不足, XcvData 會傳回ERROR_ACCESS_DENIED。 此命令需要SERVER_ACCESS_ADMINISTER許可權。 如果 pInputData 參數為 NULL,或 cbInputData 參數小於必要,則函式會傳回ERROR_INVALID_DATA。 如果 pInputData-->dwVersion 不等於 1,函式會傳回ERROR_INVALID_LEVEL。
GetConfigInfo 命令
GetConfigInfo 命令會取得特定埠的組態資訊。 在此情況下,Xcv 數據句柄必須指向特定的標準 TCP/IP 埠監視埠,才能識別埠。
XcvData 參數 | 值 |
---|---|
pszDataName | L“GetConfigInfo” |
pInputData | CONFIG_INFO_DATA_1 結構的位址 |
cbInputData | sizeof (CONFIG_INFO_DATA_1) |
pOutputData | PORT_DATA_1 結構的位址 |
cbOutputData | sizeof (PORT_DATA_1) |
azureOutputNeeded | DWORD 的位址,其中包含 pOutputData 所指向之緩衝區所需的位元組數目 |
如果 XcvData 可以取得埠的組態資訊,則會傳回NO_ERROR。 如果 pInputData 為 NULL,或 cbInputData 小於必要,則函式會傳回ERROR_INVALID_DATA。 如果 pInputData-->dwVersion 不等於 1,函式會傳回ERROR_INVALID_LEVEL。 如果 cbOutputData 小於必要,則當ERROR_INVALID_PARAMETER為 null 時,函式會傳回 ERROR_INVALID_PARAMETER,而當ERROR_INSUFFICIENT_BUFFER為非 NULL 時,就會傳回ERROR_INSUFFICIENT_BUFFER。
HostAddress 命令
HostAddress 命令會取得印表機的主機名。
XcvData 參數 | 值 |
---|---|
pszDataName | L“HostAddress” |
pInputData | NULL |
cbInputData | 0 |
pOutputData | 接收包含印表機主機名之字串的緩衝區位址 |
cbOutputData | pOutputData 所指向的緩衝區大小 |
azureOutputNeeded | DWORD 的位址,其中包含 pOutputData 所指向之緩衝區所需的位元組數目 |
如果 XcvData 可以取得印表機主機的名稱,則會傳回NO_ERROR。 如果 cbOutputData 小於必要,則當ERROR_INVALID_PARAMETER為 null 時,函式會傳回 ERROR_INVALID_PARAMETER,而當ERROR_INSUFFICIENT_BUFFER為非 NULL 時,就會傳回ERROR_INSUFFICIENT_BUFFER。 如果 pOutputData 為 NULL,函式會傳回ERROR_INVALID_PARAMETER。
IPAddress 命令
IPAddress 命令會取得印表機的IP位址。
XcvData 參數 | 值 |
---|---|
pszDataName | L“IPAddress” |
pInputData | NULL |
cbInputData | 0 |
pOutputData | 接收包含印表機IP位址之字串的緩衝區位址 |
cbOutputData | pOutputData 所指向的緩衝區大小 |
azureOutputNeeded | DWORD 的位址,其中包含 pOutputData 所指向之緩衝區所需的位元組數目 |
如果 XcvData 可以取得印表機的 IP 位址,則會傳回NO_ERROR。 如果 cbOutputData 小於必要,則當ERROR_INVALID_PARAMETER為 null 時,函式會傳回 ERROR_INVALID_PARAMETER,而當ERROR_INSUFFICIENT_BUFFER為非 NULL 時,就會傳回ERROR_INSUFFICIENT_BUFFER。 如果 pOutputData 為 NULL,函式會傳回ERROR_INVALID_PARAMETER。
MonitorUI 命令
MonitorUI 命令會取得埠監視器 UI DLL 的名稱,該 DLL 提供 TCPMON 的介面。
XcvData 參數 | 值 |
---|---|
pszDataName | L“MonitorUI” |
pInputData | NULL |
cbInputData | 0 |
pOutputData | 接收埠監視器使用者介面 DLL 名稱的緩衝區位址 |
cbOutputData | 字串中包含埠監視器使用者介面 DLL 名稱的位元元組數目 |
azureOutputNeeded | DWORD 的位址,其中包含 pOutputData 所指向之緩衝區所需的位元組數目 |
如果 XcvData 能夠取得使用者介面 DLL 的名稱,則會傳回NO_ERROR。 除了一般錯誤碼之外,如果呼叫端在伺服器上的許可權不足, XcvData 會傳回ERROR_ACCESS_DENIED。 此命令需要SERVER_ACCESS_ADMINISTER許可權。 如果 cbOutputData 小於必要,則當ERROR_INVALID_PARAMETER為 null 時,函式會傳回 ERROR_INVALID_PARAMETER,而當ERROR_INSUFFICIENT_BUFFER為非 NULL 時,就會傳回ERROR_INSUFFICIENT_BUFFER。 如果 pOutputData 為 NULL,函式會傳回ERROR_INVALID_PARAMETER。
SNMPCommunity
SNMPCommunity 命令會取得印表機的簡單網路管理通訊協定 (SNMP) 社群名稱。
XcvData 參數 | 值 |
---|---|
pszDataName | L“SNMPCommunity” |
pInputData | NULL |
cbInputData | 0 |
pOutputData | 接收包含印表機SNMP社群之字串的緩衝區位址 |
cbOutputData | 包含 pOutputData 參數所指向之字串所需的緩衝區大小 |
azureOutputNeeded | DWORD 的位址,其中包含 pOutputData 所指向之緩衝區所需的位元組數目 |
如果 XcvData 可以取得印表機的 SNMP 社群名稱,則會傳回NO_ERROR。 如果 cbOutputData 小於必要,則當ERROR_INVALID_PARAMETER為 null 時,函式會傳回 ERROR_INVALID_PARAMETER,而當ERROR_INSUFFICIENT_BUFFER為非 NULL 時,就會傳回ERROR_INSUFFICIENT_BUFFER。 如果 pOutputData 為 NULL,函式會傳回ERROR_INVALID_PARAMETER。
SNMPDeviceIndex
SNMPDeviceIndex 命令會取得印表機的簡單網路管理通訊協定 (SNMP) 裝置索引。
XcvData 參數 | 值 |
---|---|
pszDataName | L“SNMPDeviceIndex” |
pInputData | NULL |
cbInputData | 0 |
pOutputData | 接收裝置索引的緩衝區位址 |
cbOutputData | sizeof (DWORD) |
azureOutputNeeded | 包含 sizeof (DWORD) 的 DWORD 位址 |
如果 XcvData 可以取得印表機的 SNMP 裝置索引,則會傳回NO_ERROR。 如果 cbOutputData 小於必要,則當ERROR_INVALID_PARAMETER為 null 時,函式會傳回 ERROR_INVALID_PARAMETER,而當ERROR_INSUFFICIENT_BUFFER為非 NULL 時,就會傳回ERROR_INSUFFICIENT_BUFFER。 如果 pOutputData 為 NULL,函式會傳回ERROR_INVALID_PARAMETER。
SNMPEnabled
SNMPEnabled 命令會判斷目前裝置是否啟用簡單網路管理通訊協定 (SNMP) 。
XcvData 參數 | 值 |
---|---|
pszDataName | L“SNMPEnabled” |
pInputData | NULL |
cbInputData | 0 |
pOutputData | 接收 DWORD 值的緩衝區位址 |
cbOutputData | sizeof (DWORD) |
azureOutputNeeded | 包含 sizeof (DWORD) 的 DWORD 位址 |
如果裝置已啟用SNMP,XcvData 會傳回NO_ERROR。 如果 cbOutputData 小於必要,則當ERROR_INVALID_PARAMETER為 null 時,函式會傳回 ERROR_INVALID_PARAMETER,而當ERROR_INSUFFICIENT_BUFFER為非 NULL 時,就會傳回ERROR_INSUFFICIENT_BUFFER。 如果 pOutputData 為 NULL,函式會傳回ERROR_INVALID_PARAMETER。