Condividi tramite


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.

Valore Significato
SNMP_GENERICTRAP_COLDSTART
L'agente inizializza le entità del protocollo nella modalità gestita. Può modificare gli oggetti nella visualizzazione.
SNMP_GENERICTRAP_WARMSTART
L'agente sta reinizializzando se stesso, ma non modificherà gli oggetti all'interno della visualizzazione.
SNMP_GENERICTRAP_LINKDOWN
Un'interfaccia associata è stata modificata dallo stato "verso l'alto" allo stato "inattivo". La prima variabile identifica l'interfaccia.
SNMP_GENERICTRAP_LINKUP
Un'interfaccia associata è cambiata dallo stato "in basso" allo stato "su". La prima variabile identifica l'interfaccia.
SNMP_GENERICTRAP_AUTHFAILURE
Un'entità SNMP ha inviato un messaggio SNMP, ma ha erroneamente richiesto di appartenere a una community nota.
SNMP_GENERICTRAP_EGPNEIGHLOSS
Un peer EGP è stato modificato nello stato inattivo. La prima variabile identifica l'indirizzo IP del peer EGP.
SNMP_GENERICTRAP_ENTERSPECIFIC
Segnala un evento straordinario identificato nel parametro pSpecificTrapId .

[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

Funzioni SNMP

SetEvent

Panoramica del protocollo Simple Network Management Protocol (SNMP)

SnmpExtensionInit

SnmpSvcGetUptime

SnmpUtilMemAlloc

SnmpUtilVarBindListFree

SnmpVarBindList