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 |
---|---|
|
La funzione SnmpStartup non è stata completata correttamente. |
|
Errore durante l'allocazione della memoria. |
|
Il parametro di sessione non è valido. |
|
Uno o entrambi i parametri dell'entità non sono validi. |
|
Il parametro di contesto non è valido. |
|
Il parametro pdu non è valido. |
|
La lunghezza del buffer di output non è sufficiente. Non sono stati creati parametri di output. |
|
Il formato del messaggio SNMP nel buffer indicato dal parametro msgBufDesc non è valido. Non sono stati creati parametri di output. |
|
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 |