TCPMON Xcv 命令

本部分介绍当 XcvData 或 XcvDataPort 函数与标准 TCP/IP 端口监视器通信时,可在调用 XcvData 或 XcvDataPort 函数时指定的命令 (TCPMON) 。 每个命令由调用这些函数中的 pszDataName 字符串指定。 某些命令需要输入缓冲区或输出缓冲区,或者两者兼而有之。 这些函数的 pInputDatapOutputData 参数保存这些缓冲区的地址。

每个命令的说明中显示的表列出了与命令一起使用的 XcvDataXcvDataPort 参数。 请注意,) 两个函数通用的 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。 如果 pInputDataNULL,或者 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。 如果 pOutputDataNULL,则函数返回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。 如果 pOutputDataNULL,则函数返回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。 如果 pOutputDataNULL,则函数返回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。 如果 pOutputDataNULL,则函数返回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。 如果 pOutputDataNULL,则函数返回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。 如果 pOutputDataNULL,则函数返回ERROR_INVALID_PARAMETER。