Funzione SnmpExtensionTrap (snmp.h)
[SNMP è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. Usare invece Gestione remota Windows, ovvero l'implementazione Microsoft di WS-Man.
Il servizio Microsoft SNMP chiama la funzione SnmpExtensionTrap per recuperare le informazioni necessarie al servizio per generare trap per l'agente di estensione SNMP. Il servizio chiama questa funzione solo dopo che l'agente di estensione imposta l'handle di eventi trap sullo stato segnalato durante una chiamata alla funzione SnmpExtensionInit . La funzione SnmpExtensionTrap è un elemento dell'API dell'agente di estensione SNMP.
Sintassi
BOOL SNMP_FUNC_TYPE SnmpExtensionTrap(
[out] AsnObjectIdentifier *pEnterpriseOid,
[out] AsnInteger32 *pGenericTrapId,
[out] AsnInteger32 *pSpecificTrapId,
[out] AsnTimeticks *pTimeStamp,
[out] SnmpVarBindList *pVarBindList
);
Parametri
[out] pEnterpriseOid
Puntatore a una struttura AsnObjectIdentifier per ricevere l'identificatore dell'oggetto dell'organizzazione che ha generato l'trap. Il servizio SNMP non libera la memoria per questa variabile.
[out] pGenericTrapId
Puntatore a una variabile per ricevere un'indicazione della trap generica. Questo parametro può avere uno dei valori seguenti.
[out] pSpecificTrapId
Puntatore a una variabile per ricevere un'indicazione della specifica trap generata.
[out] pTimeStamp
Puntatore a una variabile per ricevere il timestamp. È consigliabile inizializzare questo parametro con il valore restituito da una chiamata alla funzione SnmpSvcGetUptime .
[out] pVarBindList
Puntatore all'elenco di associazioni di variabili. L'agente di estensione deve allocare la memoria per questo parametro. Il servizio SNMP libera la memoria con una chiamata alla funzione SnmpUtilVarBindListFree .
Valore restituito
Se la funzione SnmpExtensionTrap restituisce un trap, il valore restituito è TRUE. Il servizio SNMP chiama ripetutamente la funzione finché non restituisce un valore FALSE. Per altre informazioni, vedere la sezione Osservazioni seguente.
Commenti
Il servizio SNMP chiama ripetutamente la funzione SnmpExtensionTrap quando l'handle di eventi phSubagentTrapEvent è impostato sullo stato segnalato. Questo handle viene passato di nuovo durante la chiamata alla funzione del punto di ingresso SnmpExtensionInit . La funzione SnmpExtensionTrap deve restituire TRUE per indicare che i parametri contengono dati validi per una singola trap. La funzione deve restituire FALSE per indicare che i parametri non rappresentano dati trap validi e per arrestare le chiamate ripetute del servizio.
Si noti che dopo che il servizio SNMP invia un trap, libera la memoria associata all'elenco di associazioni di variabili.
È importante notare che la documentazione precedente ha dichiarato che l'agente di estensione deve allocare dinamicamente memoria per l'identificatore dell'oggetto enterprise perché il servizio SNMP tenterebbe di rilasciare la memoria dopo l'invio di un trap. Il servizio non rilascia la memoria associata all'identificatore dell'oggetto organizzazione. È consigliabile restituire invece un puntatore a una struttura AsnObjectIdentifier statica.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | snmp.h |
Vedi anche
Panoramica del protocollo Simple Network Management Protocol (SNMP)