Функция SnmpExtensionTrap (snmp.h)
[SNMP доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте удаленное управление Windows, которое является реализацией WS-Man майкрософт.]
Служба Microsoft SNMP вызывает функцию SnmpExtensionTrap для получения сведений, необходимых службе для создания ловушек для агента расширения SNMP. Служба вызывает эту функцию только после того, как агент расширения устанавливает дескриптор события ловушки в состояние сигнала во время вызова функции SnmpExtensionInit . Функция SnmpExtensionTrap является элементом API агента расширения SNMP.
Синтаксис
BOOL SNMP_FUNC_TYPE SnmpExtensionTrap(
[out] AsnObjectIdentifier *pEnterpriseOid,
[out] AsnInteger32 *pGenericTrapId,
[out] AsnInteger32 *pSpecificTrapId,
[out] AsnTimeticks *pTimeStamp,
[out] SnmpVarBindList *pVarBindList
);
Параметры
[out] pEnterpriseOid
Указатель на структуру AsnObjectIdentifier для получения идентификатора объекта предприятия, создающего ловушку. Служба SNMP не освобождает память для этой переменной.
[out] pGenericTrapId
Указатель на переменную для получения указания универсальной ловушки. Этот параметр может принимать одно из указанных ниже значений.
[out] pSpecificTrapId
Указатель на переменную для получения указания конкретной созданной ловушки.
[out] pTimeStamp
Указатель на переменную для получения метки времени. Рекомендуется инициализировать этот параметр значением, возвращаемым вызовом функции SnmpSvcGetUptime .
[out] pVarBindList
Указатель на список привязок переменных. Агент расширения должен выделить память для этого параметра. Служба SNMP освобождает память с помощью вызова функции SnmpUtilVarBindListFree .
Возвращаемое значение
Если функция SnmpExtensionTrap возвращает ловушку, возвращается значение TRUE. Служба SNMP неоднократно вызывает функцию, пока не вернет значение FALSE. Дополнительные сведения см. в следующем разделе Примечаний.
Комментарии
Служба SNMP неоднократно вызывает функцию SnmpExtensionTrap , когда для дескриптора события phSubagentTrapEvent задано состояние сигнала. Этот дескриптор передается обратно во время вызова функции точки входа SnmpExtensionInit . Функция SnmpExtensionTrap должна возвращать значение TRUE , чтобы указать, что параметры содержат допустимые данные для одной ловушки. Функция должна возвращать значение FALSE , чтобы указать, что параметры не представляют допустимые данные ловушки, и остановить повторяющиеся вызовы службы.
Обратите внимание, что после отправки ловушки служба SNMP освобождает память, связанную со списком привязки переменных.
Важно отметить, что ранее в документации говорилось, что агент расширения должен динамически выделять память для идентификатора корпоративного объекта, так как служба SNMP попытается освободить память после отправки ловушки. Служба не освобождает память, связанную с идентификатором корпоративного объекта. Вместо этого рекомендуется возвращать указатель на статическую структуру AsnObjectIdentifier .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | snmp.h |