Funzione SnmpGetPduData (winsnmp.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.
La funzione SnmpGetPduData WinSNMP restituisce campi dati selezionati da un'unità dati del protocollo SNMP specificata .
Sintassi
SNMPAPI_STATUS SNMPAPI_CALL SnmpGetPduData(
[in] HSNMP_PDU PDU,
[out] smiLPINT PDU_type,
[out] smiLPINT32 request_id,
[out] smiLPINT error_status,
[out] smiLPINT error_index,
[out] LPHSNMP_VBL varbindlist
);
Parametri
[in] PDU
Handle all'PDU SNMP.
[out] PDU_type
Puntatore a una variabile che riceve il campo PDU_type dell'PDU specificato. Questo parametro può essere NULL o uno dei valori seguenti.
[out] request_id
Puntatore a una variabile che riceve il campo request_id dell'PDU specificato. Questo parametro può essere NULL.
[out] error_status
Puntatore a una variabile che riceve il campo error_status dell'PDU specificato. Se il parametro PDU_type è uguale a SNMP_PDU_GETBULK, questo parametro riceve il valore del campo non_repeaters dell'PDU.
Questo parametro può essere NULL o uno dei valori seguenti. I primi sei errori sono comuni ai framework SNMP versione 1 (SNMPv1) e SNMP versione 2C (SNMPv2C). Gli errori rimanenti sono disponibili solo in SNMPv2C.
[out] error_index
Puntatore a una variabile che riceve il campo error_index dell'PDU specificato.
Se il parametro PDU_type è uguale a SNMP_PDU_GETBULK, questo parametro riceve il valore del campo max_repetitions dell'PDU specificato. Questo parametro può essere NULL.
[out] varbindlist
Puntatore a una variabile che riceve un handle nel campo elenco associazioni di variabili del PDU specificato. Questo parametro può essere NULL. Per altre informazioni, vedere la sezione Osservazioni seguenti.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è SNMPAPI_SUCCESS.
Se la funzione ha esito negativo, il valore restituito è SNMPAPI_FAILURE. Per ottenere informazioni sull'errore estese, chiamare SnmpGetLastError. La funzione SnmpGetLastError può restituire uno degli errori seguenti.
Codice restituito | Descrizione |
---|---|
|
La funzione SnmpStartup non è stata completata correttamente. |
|
Errore durante l'allocazione della memoria. |
|
Tutti i parametri di output sono NULL. L'operazione SNMP non è stata eseguita. |
|
Il tipo PDU non è valido. |
|
Si è verificato un errore sconosciuto o non definito. |
Commenti
Sono necessari tutti i parametri della funzione SnmpGetPduData . Tuttavia, tutti i parametri, ad eccezione del parametro PDU , possono essere NULL. Nei parametri passati dall'applicazione come NULL, la funzione SnmpGetPduData non restituisce un valore.
La funzione SnmpGetPduData restituisce sempre un handle a un nuovo oggetto elenco associazioni di variabili se il parametro varbindlist non è NULL. Inoltre, se il parametro PDU specifica un nuovo PDU, la funzione collega anche un handle alla nuova PDU.
Quando un'applicazione chiama SnmpGetPduData con un parametro varbindlist che non è NULL, ma il parametro PDU specifica un PDU esistente, la funzione restituisce un handle a un nuovo elenco di associazioni di variabili duplicate. La chiamata alla funzione non disturba l'handle collegato all'PDU esistente. Un PDU esistente è uno che un'applicazione crea con una chiamata alla funzione SnmpCreatePdu o una che l'applicazione riceve e quindi legge usando una chiamata a SnmpGetPduData.
Quando un'applicazione crea un PDU con SnmpCreatePdu o dopo che l'applicazione legge un PDU usando SnmpGetPduData, l'implementazione di Microsoft WinSNMP prevede che l'applicazione "conosce" i valori dei campi PDU. Se un'applicazione legge un PDU una seconda volta con SnmpGetPduData, la chiamata genera una copia dell'elenco di associazioni di variabili dell'PDU specificato. Questo tipo di chiamata a SnmpGetPduData duplica anche l'handle nel PDU.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winsnmp.h |
Libreria | Wsnmp32.lib |
DLL | Wsnmp32.dll |