TCPMON Xcv 命令
本部分介绍当 XcvData 或 XcvDataPort 函数与标准 TCP/IP 端口监视器通信时,可在调用 XcvData 或 XcvDataPort 函数时指定的命令 (TCPMON) 。 每个命令由调用这些函数中的 pszDataName 字符串指定。 某些命令需要输入缓冲区或输出缓冲区,或者两者兼而有之。 这些函数的 pInputData 和 pOutputData 参数保存这些缓冲区的地址。
每个命令的说明中显示的表列出了与命令一起使用的 XcvData 和 XcvDataPort 参数。 请注意,) 两个函数通用的 hXcv 参数 (未列出, XcvData 函数的 pdwStatus 参数也不列出。
AddPort 命令
AddPort 命令添加标准 TCP/IP 端口,可以是 LPR 端口或原始 TCP/IP 端口。
XcvData 参数 | 值 |
---|---|
pszDataName | L“AddPort” |
pInputData | PORT_DATA_1 结构的地址 |
cbInputData | sizeof (PORT_DATA_1) |
pOutputData | NULL |
cbOutputData | 0 |
印刷板输出Needed | 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 |
印刷板输出Needed | 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 |
印刷板输出Needed | 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) |
2013 年 10 月 20 日 | 包含 pOutputData 指向的缓冲区所需的字节数的 DWORD 的地址 |
如果 XcvData 可以获取端口的配置信息,它将返回NO_ERROR。 如果 pInputData 为 NULL,或者 cbInputData 小于所需,则该函数返回ERROR_INVALID_DATA。 如果 pInputData-->dwVersion 不等于 1,则函数返回ERROR_INVALID_LEVEL。 如果 cbOutputData 小于所需值,则当ERROR_INVALID_PARAMETER为 NULL 时,该函数将返回ERROR_INVALID_PARAMETER,当结果为非NULL 时,将返回ERROR_INSUFFICIENT_BUFFER。
HostAddress 命令
HostAddress 命令获取打印机的主机名。
XcvData 参数 | 值 |
---|---|
pszDataName | L“HostAddress” |
pInputData | NULL |
cbInputData | 0 |
pOutputData | 接收包含打印机主机名的字符串的缓冲区的地址 |
cbOutputData | pOutputData 指向的缓冲区的大小 |
2013 年 10 月 20 日 | 包含 pOutputData 指向的缓冲区所需的字节数的 DWORD 的地址 |
如果 XcvData 可以获取打印机主机的名称,则返回NO_ERROR。 如果 cbOutputData 小于所需值,则当ERROR_INVALID_PARAMETER为 NULL 时,该函数将返回ERROR_INVALID_PARAMETER,当结果为非NULL 时,将返回ERROR_INSUFFICIENT_BUFFER。 如果 pOutputData 为 NULL,则函数返回ERROR_INVALID_PARAMETER。
IPAddress 命令
IPAddress 命令获取打印机的 IP 地址。
XcvData 参数 | 值 |
---|---|
pszDataName | L“IPAddress” |
pInputData | NULL |
cbInputData | 0 |
pOutputData | 接收包含打印机 IP 地址的字符串的缓冲区的地址 |
cbOutputData | pOutputData 指向的缓冲区的大小 |
2013 年 10 月 20 日 | 包含 pOutputData 指向的缓冲区所需的字节数的 DWORD 的地址 |
如果 XcvData 可以获取打印机的 IP 地址,则返回NO_ERROR。 如果 cbOutputData 小于所需值,则当ERROR_INVALID_PARAMETER为 NULL 时,该函数将返回ERROR_INVALID_PARAMETER,当结果为非NULL 时,将返回ERROR_INSUFFICIENT_BUFFER。 如果 pOutputData 为 NULL,则函数返回ERROR_INVALID_PARAMETER。
MonitorUI 命令
MonitorUI 命令获取提供 TCPMON 接口的端口监视器 UI DLL 的名称。
XcvData 参数 | 值 |
---|---|
pszDataName | L“MonitorUI” |
pInputData | NULL |
cbInputData | 0 |
pOutputData | 接收端口监视器用户界面 DLL 名称的缓冲区的地址 |
cbOutputData | 包含端口监视器用户界面 DLL 名称的字符串中的字节数 |
2013 年 10 月 20 日 | 包含 pOutputData 指向的缓冲区所需的字节数的 DWORD 的地址 |
如果 XcvData 能够获取用户界面 DLL 的名称,则返回NO_ERROR。 除了正常的错误代码外,如果调用方对服务器的权限不足, XcvData 还会返回ERROR_ACCESS_DENIED。 此命令需要SERVER_ACCESS_ADMINISTER权限。 如果 cbOutputData 小于所需值,则当ERROR_INVALID_PARAMETER为 NULL 时,该函数将返回ERROR_INVALID_PARAMETER,当结果为非NULL 时,将返回ERROR_INSUFFICIENT_BUFFER。 如果 pOutputData 为 NULL,则函数返回ERROR_INVALID_PARAMETER。
SNMPCommunity
SNMPCommunity 命令获取简单网络管理协议 (SNMP) 打印机的社区名称。
XcvData 参数 | 值 |
---|---|
pszDataName | L“SNMPCommunity” |
pInputData | NULL |
cbInputData | 0 |
pOutputData | 接收包含打印机 SNMP 社区的字符串的缓冲区的地址 |
cbOutputData | 包含 pOutputData 参数指向的字符串所需的缓冲区大小 |
2013 年 10 月 20 日 | 包含 pOutputData 指向的缓冲区所需的字节数的 DWORD 的地址 |
如果 XcvData 可以获取打印机的 SNMP 社区名称,则返回NO_ERROR。 如果 cbOutputData 小于所需值,则当ERROR_INVALID_PARAMETER为 NULL 时,该函数将返回ERROR_INVALID_PARAMETER,当结果为非NULL 时,将返回ERROR_INSUFFICIENT_BUFFER。 如果 pOutputData 为 NULL,则函数返回ERROR_INVALID_PARAMETER。
SNMPDeviceIndex
SNMPDeviceIndex 命令获取简单网络管理协议 (SNMP) 打印机的设备索引。
XcvData 参数 | 值 |
---|---|
pszDataName | L“SNMPDeviceIndex” |
pInputData | NULL |
cbInputData | 0 |
pOutputData | 接收设备索引的缓冲区的地址 |
cbOutputData | sizeof (DWORD) |
2013 年 10 月 20 日 | 包含 大小 为 (DWORD) 的 DWORD 的地址 |
如果 XcvData 可以获取打印机的 SNMP 设备索引,则返回NO_ERROR。 如果 cbOutputData 小于所需值,则当ERROR_INVALID_PARAMETER为 NULL 时,该函数将返回ERROR_INVALID_PARAMETER,当结果为非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) |
2013 年 10 月 20 日 | 包含 大小 为 (DWORD) 的 DWORD 的地址 |
如果为设备启用了 SNMP,XcvData 将返回NO_ERROR。 如果 cbOutputData 小于所需值,则当ERROR_INVALID_PARAMETER为 NULL 时,该函数将返回ERROR_INVALID_PARAMETER,当结果为非NULL 时,将返回ERROR_INSUFFICIENT_BUFFER。 如果 pOutputData 为 NULL,则函数返回ERROR_INVALID_PARAMETER。