Função SnmpExtensionTrap (snmp.h)
[O SNMP está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. Em vez disso, use o Gerenciamento Remoto do Windows, que é a implementação da Microsoft do WS-Man.]
O serviço Microsoft SNMP chama a função SnmpExtensionTrap para recuperar informações de que o serviço precisa para gerar interceptações para o agente de extensão SNMP. O serviço chama essa função somente depois que o agente de extensão define o identificador de evento trap para o estado sinalizado durante uma chamada para a função SnmpExtensionInit . A função SnmpExtensionTrap é um elemento da API do Agente de Extensão SNMP.
Sintaxe
BOOL SNMP_FUNC_TYPE SnmpExtensionTrap(
[out] AsnObjectIdentifier *pEnterpriseOid,
[out] AsnInteger32 *pGenericTrapId,
[out] AsnInteger32 *pSpecificTrapId,
[out] AsnTimeticks *pTimeStamp,
[out] SnmpVarBindList *pVarBindList
);
Parâmetros
[out] pEnterpriseOid
Ponteiro para uma estrutura AsnObjectIdentifier para receber o identificador de objeto da empresa que gerou a interceptação. O serviço SNMP não libera a memória dessa variável.
[out] pGenericTrapId
Ponteiro para uma variável para receber uma indicação da interceptação genérica. Esse parâmetro pode usar um dos valores a seguir.
[out] pSpecificTrapId
Ponteiro para uma variável para receber uma indicação da interceptação específica gerada.
[out] pTimeStamp
Ponteiro para uma variável para receber o carimbo de data/hora. É recomendável inicializar esse parâmetro com o valor retornado por uma chamada para a função SnmpSvcGetUptime .
[out] pVarBindList
Ponteiro para a lista de associações de variáveis. O agente de extensão deve alocar a memória para esse parâmetro. O serviço SNMP libera a memória com uma chamada para a função SnmpUtilVarBindListFree .
Retornar valor
Se a função SnmpExtensionTrap retornar uma interceptação, o valor retornado será TRUE. O serviço SNMP chama repetidamente a função até que ela retorne um valor false. Para obter informações adicionais, consulte a seção Comentários a seguir.
Comentários
O serviço SNMP chama repetidamente a função SnmpExtensionTrap quando o identificador de evento phSubagentTrapEvent é definido como o estado sinalizado. Esse identificador é passado de volta durante a chamada para a função de ponto de entrada SnmpExtensionInit . A função SnmpExtensionTrap deve retornar TRUE para indicar que os parâmetros contêm dados válidos para uma única interceptação. A função deve retornar FALSE para indicar que os parâmetros não representam dados de interceptação válidos e para interromper as chamadas repetidas do serviço.
Observe que, depois que o serviço SNMP envia uma interceptação, ele libera a memória associada à lista de associação de variáveis.
É importante observar que a documentação anterior afirmava que o agente de extensão deveria alocar dinamicamente memória para o identificador de objeto corporativo porque o serviço SNMP tentaria liberar a memória depois de enviar uma interceptação. O serviço não liberará a memória associada ao identificador de objeto corporativo. É recomendável que você retorne um ponteiro para uma estrutura asnObjectIdentifier estática.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | snmp.h |