Share via


Funzione SnmpDecodeMsg (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 SnmpDecodeMsg WinSNMP decodifica un messaggio SNMP codificato nei relativi componenti. Questa funzione esegue l'azione opposta della funzione SnmpEncodeMsg WinSNMP.

Sintassi

SNMPAPI_STATUS SNMPAPI_CALL SnmpDecodeMsg(
  [in]  HSNMP_SESSION   session,
  [out] LPHSNMP_ENTITY  srcEntity,
  [out] LPHSNMP_ENTITY  dstEntity,
  [out] LPHSNMP_CONTEXT context,
  [out] LPHSNMP_PDU     pdu,
  [in]  smiLPCOCTETS    msgBufDesc
);

Parametri

[in] session

Gestire la sessione WinSNMP. Questo parametro è obbligatorio. Per altre informazioni, vedere la sezione Osservazioni seguente.

[out] srcEntity

Puntatore a una variabile che riceve un handle per l'entità di gestione di origine. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

[out] dstEntity

Puntatore a una variabile che riceve un handle per l'entità di gestione di destinazione. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

[out] context

Puntatore a una variabile che riceve un handle per il contesto (un set di risorse oggetto gestite) controllato dall'entità di gestione di destinazione.

[out] pdu

Puntatore a una variabile che riceve un handle per l'unità dati del protocollo SNMP (PDU).

[in] msgBufDesc

Puntatore a una struttura smiOCTETS che contiene il messaggio SNMP da decodificare nei relativi componenti. Il membro len della struttura specifica il numero massimo di byte da elaborare; il membro ptr punta al messaggio SNMP codificato.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è il numero di byte decodificati. Questo valore può essere uguale o minore di, il membro len della struttura smiOCTETS a cui punta il parametro msgBufDesc .

Se la funzione ha esito negativo, il valore restituito viene SNMPAPI_FAILURE. Per ottenere informazioni estese sull'errore, 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
Il parametro di sessione non è valido.
SNMPAPI_ENTITY_INVALID
Uno o entrambi i parametri dell'entità non sono validi.
SNMPAPI_CONTEXT_INVALID
Il parametro di contesto non è valido.
SNMPAPI_PDU_INVALID
Il parametro pdu non è valido.
SNMPAPI_OUTPUT_TRUNCATED
La lunghezza del buffer di output non è sufficiente. Non sono stati creati parametri di output.
SNMPAPI_MESSAGE_INVALID
Il formato del messaggio SNMP nel buffer indicato dal parametro msgBufDesc non è valido. Non sono stati creati parametri di output.
SNMPAPI_OTHER_ERROR
Si è verificato un errore sconosciuto o non definito.

Commenti

L'implementazione di Microsoft WinSNMP restituisce un valore pari a zero nei parametri srcEntity e dstEntity quando un'applicazione invia un messaggio SNMPv1 o SNMPv2C alla funzione SnmpDecodeMsg . Questo perché il formato del messaggio non include le informazioni sull'indirizzo necessarie per creare risorse di entità WinSNMP.

L'implementazione di Microsoft WinSNMP alloca le risorse all'applicazione WinSNMP in seguito a una chiamata riuscita alla funzione SnmpDecodeMsg . È consigliabile che l'applicazione WinSNMP liberi le singole risorse con la funzione WinSNMP corrispondente alla risorsa. Per altre informazioni, vedere Freeing WinSNMP Descriptors and WinSNMP Gestione dati Concepts .For additional information, see Freeing WinSNMP Descriptors and WinSNMP Gestione dati Concepts.

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

SnmpFreeContext

SnmpFreeEntity

SnmpFreePdu

SnmpSendMsg

Funzioni WinSNMP

Panoramica dell'API WinSNMP

smiOCTETS