Команды TCPMON Xcv
В этом разделе описываются команды, которые можно указать при вызове функции XcvData или XcvDataPort при взаимодействии со стандартным монитором tcp/IP-портов (TCPMON). Каждая команда задается строкой pszDataName в вызове этих функций. Для некоторых команд требуется входной буфер, выходной буфер или и то, и другое. Параметры pInputData и pOutputData этих функций содержат адреса этих буферов.
В таблице, которая отображается в описании каждой из следующих команд, перечислены параметры XcvData и XcvDataPort , используемые с командами. Обратите внимание, что параметр hXcv (общий для обеих функций) не указан в списке, а также не является параметром pdwStatus функции XcvData.
Команда AddPort
Команда AddPort добавляет стандартный порт TCP/IP, который может быть портом LPR или ПОРТОМ TCP/IP RAW.
Параметр XcvData | Значение |
---|---|
pszDataName | L"AddPort" |
pInputData | Адрес структуры PORT_DATA_1 |
cbInputData | sizeof(PORT_DATA_1) |
pOutputData | NULL |
cbOutputData | 0 |
pcbOutputNeeded | Адрес 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 |
pcbOutputNeeded | Адрес 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 |
pcbOutputNeeded | Адрес 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) |
pcbOutputNeeded | Адрес DWORD, содержащий количество байтов, необходимых для буфера, на который указывает pOutputData |
XcvData возвращает NO_ERROR, если он может получить сведения о конфигурации для порта. Если pInputData имеет значение NULL или cbInputData меньше, чем требуется, функция возвращает ERROR_INVALID_DATA. Если pInputData-->dwVersion не равно 1, функция возвращает ERROR_INVALID_LEVEL. Если cbOutputData меньше, чем требуется, функция возвращает ERROR_INVALID_PARAMETER, если pcbOutputNeeded имеет значение NULL, и ERROR_INSUFFICIENT_BUFFER, если pcbOutputNeeded имеет значение, отличное от NULL.
Команда HostAddress
Команда HostAddress возвращает имя узла принтера.
Параметр XcvData | Значение |
---|---|
pszDataName | L"HostAddress" |
pInputData | NULL |
cbInputData | 0 |
pOutputData | Адрес буфера, который получает строку, содержащую имя узла принтера |
cbOutputData | Размер буфера, на который указывает pOutputData |
pcbOutputNeeded | Адрес DWORD, содержащий количество байтов, необходимых для буфера, на который указывает pOutputData |
XcvData возвращает NO_ERROR, если он может получить имя узла принтера. Если cbOutputData меньше, чем требуется, функция возвращает ERROR_INVALID_PARAMETER, если pcbOutputNeeded имеет значение NULL, и ERROR_INSUFFICIENT_BUFFER, если pcbOutputNeeded имеет значение, отличное от NULL. Если pOutputData имеет значение NULL, функция возвращает ERROR_INVALID_PARAMETER.
Команда IPAddress
Команда IPAddress получает IP-адрес принтера.
Параметр XcvData | Значение |
---|---|
pszDataName | L"IPAddress" |
pInputData | NULL |
cbInputData | 0 |
pOutputData | Адрес буфера, получающего строку, содержащую IP-адрес принтера |
cbOutputData | Размер буфера, на который указывает pOutputData |
pcbOutputNeeded | Адрес DWORD, содержащий количество байтов, необходимых для буфера, на который указывает pOutputData |
XcvData возвращает NO_ERROR, если может получить IP-адрес принтера. Если cbOutputData меньше, чем требуется, функция возвращает ERROR_INVALID_PARAMETER, если pcbOutputNeeded имеет значение NULL, и ERROR_INSUFFICIENT_BUFFER, если pcbOutputNeeded имеет значение, отличное от NULL. Если pOutputData имеет значение NULL, функция возвращает ERROR_INVALID_PARAMETER.
Команда MonitorUI
Команда MonitorUI получает имя библиотеки DLL пользовательского интерфейса монитора портов, которая предоставляет интерфейс для TCPMON.
Параметр XcvData | Значение |
---|---|
pszDataName | L"MonitorUI" |
pInputData | NULL |
cbInputData | 0 |
pOutputData | Адрес буфера, который получает имя библиотеки DLL пользовательского интерфейса монитора портов |
cbOutputData | Число байтов в строке, содержащей имя dll пользовательского интерфейса монитора портов |
pcbOutputNeeded | Адрес DWORD, содержащий количество байтов, необходимых для буфера, на который указывает pOutputData |
XcvData возвращает NO_ERROR, если удается получить имя библиотеки DLL пользовательского интерфейса. В дополнение к обычным кодам ошибок XcvData возвращает ERROR_ACCESS_DENIED, если вызывающий объект имеет недостаточные привилегии на сервере. Для этой команды требуются права SERVER_ACCESS_ADMINISTER. Если cbOutputData меньше, чем требуется, функция возвращает ERROR_INVALID_PARAMETER, если pcbOutputNeeded имеет значение NULL, и ERROR_INSUFFICIENT_BUFFER, если pcbOutputNeeded имеет значение, отличное от NULL. Если pOutputData имеет значение NULL, функция возвращает ERROR_INVALID_PARAMETER.
SNMPCommunity
Команда SNMPCommunity получает имя сообщества SNMP для принтера.
Параметр XcvData | Значение |
---|---|
pszDataName | L"SNMPCommunity" |
pInputData | NULL |
cbInputData | 0 |
pOutputData | Адрес буфера, получающего строку, содержащую сообщество SNMP принтера |
cbOutputData | Размер буфера, необходимого для хранения строки, на которую указывает параметр pOutputData |
pcbOutputNeeded | Адрес DWORD, содержащий количество байтов, необходимых для буфера, на который указывает pOutputData |
XcvData возвращает NO_ERROR, если он может получить имя сообщества SNMP принтера. Если cbOutputData меньше, чем требуется, функция возвращает ERROR_INVALID_PARAMETER, если pcbOutputNeeded имеет значение NULL, и ERROR_INSUFFICIENT_BUFFER, если pcbOutputNeeded имеет значение, отличное от NULL. Если pOutputData имеет значение NULL, функция возвращает ERROR_INVALID_PARAMETER.
SNMPDeviceIndex
Команда SNMPDeviceIndex получает индекс устройства SNMP принтера.
Параметр XcvData | Значение |
---|---|
pszDataName | L"SNMPDeviceIndex" |
pInputData | NULL |
cbInputData | 0 |
pOutputData | Адрес буфера, получающего индекс устройства |
cbOutputData | sizeof(DWORD) |
pcbOutputNeeded | Адрес DWORD, содержащего sizeof(DWORD) |
XcvData возвращает NO_ERROR, если он может получить индекс SNMP-устройств принтера. Если cbOutputData меньше требуемого значения, функция возвращает ERROR_INVALID_PARAMETER, если pcbOutputNeeded имеет значение NULL, и ERROR_INSUFFICIENT_BUFFER, если pcbOutputNeeded имеет значение, отличное от NULL. Если pOutputData имеет значение NULL, функция возвращает ERROR_INVALID_PARAMETER.
SNMPEnabled
Команда SNMPEnabled определяет, включен ли протокол SNMP для текущего устройства.
Параметр XcvData | Значение |
---|---|
pszDataName | L"SNMPEnabled" |
pInputData | NULL |
cbInputData | 0 |
pOutputData | Адрес буфера, получающего значение DWORD |
cbOutputData | sizeof(DWORD) |
pcbOutputNeeded | Адрес DWORD, содержащего sizeof(DWORD) |
XcvData возвращает NO_ERROR, если для устройства включен ПРОТОКОЛ SNMP. Если cbOutputData меньше требуемого значения, функция возвращает ERROR_INVALID_PARAMETER, если pcbOutputNeeded имеет значение NULL, и ERROR_INSUFFICIENT_BUFFER, если pcbOutputNeeded имеет значение, отличное от NULL. Если pOutputData имеет значение NULL, функция возвращает ERROR_INVALID_PARAMETER.