Condividi tramite


Funzione SnmpCreatePdu (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 SnmpCreatePdu WinSNMP crea e inizializza un'unità dati del protocollo SNMP (PDU).

Sintassi

HSNMP_PDU SNMPAPI_CALL SnmpCreatePdu(
  [in] HSNMP_SESSION session,
  [in] smiINT        PDU_type,
  [in] smiINT32      request_id,
  [in] smiINT        error_status,
  [in] smiINT        error_index,
  [in] HSNMP_VBL     varbindlist
);

Parametri

[in] session

Gestire la sessione WinSNMP.

[in] PDU_type

Specifica un tipo PDU che identifica l'operazione SNMP. Questo parametro può essere NULL oppure può essere uno dei valori seguenti. Se questo parametro è NULL, l'implementazione di Microsoft WinSNMP fornisce il tipo PDU predefinito SNMP_PDU_GETNEXT. L'unico tipo di PDU trap che è possibile creare con una chiamata alla funzione SnmpCreatePdu è un PDU trap SNMPv2C.

Valore Significato
SNMP_PDU_GET
Cercare e recuperare un valore da una variabile SNMP specificata.
SNMP_PDU_GETNEXT
Cercare e recuperare il valore di una variabile SNMP senza conoscere il nome esatto della variabile.
SNMP_PDU_RESPONSE
Rispondere a un SNMP_PDU_GET o a una richiesta di SNMP_PDU_GETNEXT.
SNMP_PDU_SET
Archiviare un valore in una variabile SNMP specificata.
SNMP_PDU_GETBULK
Cercare e recuperare più valori con una singola richiesta.
SNMP_PDU_TRAP
Avvisa il sistema di gestione a un evento in SNMPv2C.

[in] request_id

Specifica un valore numerico univoco fornito dall'applicazione WinSNMP per identificare l'PDU. Se questo parametro è NULL, l'implementazione assegna un valore.

[in] error_status

Se il parametro PDU_type è uguale a SNMP_PDU_GETBULK, questo parametro specifica un valore per il campo non_repeaters dell'PDU. Per altri tipi PDU, questo parametro specifica un valore per il campo error_status dell'PDU. Questo parametro può essere NULL.

[in] error_index

Se il parametro PDU_type è uguale a SNMP_PDU_GETBULK, questo parametro specifica un valore per il campo max_repetitions dell'PDU. Per altri tipi PDU, questo parametro specifica un valore per il campo error_index del PDU. Questo parametro può essere NULL.

[in] varbindlist

Handle in una struttura che rappresenta un elenco di associazioni di variabili SNMP. Questo parametro può essere NULL.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è l'handle di un nuovo PDU SNMP.

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
SNMPAPI_NOT_INITIALIZED
La funzione SnmpStartup non è stata completata correttamente.
SNMPAPI_ALLOC_ERROR
Errore durante l'allocazione della memoria.
SNMPAPI_SESSION_INVALID
L'handle di sessione non è valido.
SNMPAPI_PDU_INVALID
Il tipo PDU non è valido.
SNMPAPI_VBL_INVALID
L'elenco di associazioni di variabili non è valido.
SNMPAPI_OTHER_ERROR
Si è verificato un errore sconosciuto o non definito.

Commenti

Un'applicazione WinSNMP deve creare un PDU prima di chiamare snmpSendMsg o le funzioni SnmpEncodeMsg .

Sono necessari tutti i parametri della funzione SnmpCreatePdu . Tuttavia, tutti i parametri, ad eccezione del parametro di sessione , possono essere NULL. In questa istanza il nuovo PDU ha i valori predefiniti seguenti.

Campo Contenuto
PDU_type SNMP_PDU_GETNEXT
request_id L'implementazione genera un valore numerico.
error_status SNMP_ERROR_NOERROR
error_index 0
varbindlist NULL
 

L'applicazione deve chiamare la funzione SnmpFreePdu per rilasciare le risorse allocate dalla funzione SnmpCreatePdu per il nuovo PDU.

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 winsnmp.h
Libreria Wsnmp32.lib
DLL Wsnmp32.dll

Vedi anche

SnmpEncodeMsg

SnmpFreePdu

SnmpSendMsg

Funzioni WinSNMP

Panoramica dell'API WinSNMP