Bagikan melalui


Fungsi SnmpDecodeMsg (winsnmp.h)

[SNMP tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini mungkin diubah atau tidak tersedia dalam versi berikutnya. Sebagai gantinya, gunakan Manajemen Jarak Jauh Windows, yang merupakan implementasi Microsoft dari WS-Man.]

Fungsi WinSNMP SnmpDecodeMsg mendekode pesan SNMP yang dikodekan ke dalam komponennya. Fungsi ini melakukan tindakan yang berlawanan dari fungsi WinSNMP SnmpEncodeMsg .

Sintaks

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
);

Parameter

[in] session

Tangani ke sesi WinSNMP. Parameter ini diperlukan. Untuk informasi tambahan, lihat bagian Keterangan berikut ini.

[out] srcEntity

Arahkan ke variabel yang menerima handel ke entitas manajemen sumber. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.

[out] dstEntity

Penunjuk ke variabel yang menerima handel ke entitas manajemen target. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.

[out] context

Penunjuk ke variabel yang menerima handel ke konteks (sekumpulan sumber daya objek terkelola) yang dikontrol entitas manajemen target.

[out] pdu

Penunjuk ke variabel yang menerima handel ke unit data protokol SNMP (PDU).

[in] msgBufDesc

Arahkan ke struktur smiOCTETS yang berisi pesan SNMP untuk didekodekan ke dalam komponennya. Anggota lensa struktur menentukan jumlah maksimum byte untuk diproses; anggota ptr menunjuk ke pesan SNMP yang dikodekan.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah jumlah byte yang didekodekan. Nilai ini dapat sama dengan, atau kurang dari, anggota len dari struktur smiOCTETS yang ditunjukkan oleh parameter msgBufDesc .

Jika fungsi gagal, nilai yang dikembalikan adalah SNMPAPI_FAILURE. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi SnmpGetLastError. Fungsi SnmpGetLastError dapat mengembalikan salah satu kesalahan berikut.

Menampilkan kode Deskripsi
SNMPAPI_NOT_INITIALIZED
Fungsi SnmpStartup tidak berhasil diselesaikan.
SNMPAPI_ALLOC_ERROR
Terjadi kesalahan selama alokasi memori.
SNMPAPI_SESSION_INVALID
Parameter sesi tidak valid.
SNMPAPI_ENTITY_INVALID
Satu atau kedua parameter entitas tidak valid.
SNMPAPI_CONTEXT_INVALID
Parameter konteks tidak valid.
SNMPAPI_PDU_INVALID
Parameter pdu tidak valid.
SNMPAPI_OUTPUT_TRUNCATED
Panjang buffer output tidak cukup. Tidak ada parameter output yang dibuat.
SNMPAPI_MESSAGE_INVALID
Format pesan SNMP dalam buffer yang ditunjukkan oleh parameter msgBufDesc tidak valid. Tidak ada parameter output yang dibuat.
SNMPAPI_OTHER_ERROR
Terjadi kesalahan yang tidak diketahui atau tidak terdefinis.

Keterangan

Implementasi Microsoft WinSNMP mengembalikan nilai nol dalam parameter srcEntity dan dstEntity saat aplikasi mengirimkan SNMPv1 atau pesan SNMPv2C ke fungsi SnmpDecodeMsg . Ini karena format pesan tidak menyertakan informasi alamat yang diperlukan untuk membuat sumber daya entitas WinSNMP.

Implementasi Microsoft WinSNMP mengalokasikan sumber daya ke aplikasi WinSNMP sebagai hasil dari panggilan yang berhasil ke fungsi SnmpDecodeMsg . Disarankan agar aplikasi WinSNMP membebaskan sumber daya individu dengan fungsi WinSNMP yang sesuai dengan sumber daya. Untuk informasi tambahan, lihat Membebaskan Deskriptor WinSNMP dan Konsep Manajemen Data WinSNMP.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header winsnmp.h
Pustaka Wsnmp32.lib
DLL Wsnmp32.dll

Lihat juga

SnmpEncodeMsg

SnmpFreeContext

SnmpFreeEntity

SnmpFreePdu

SnmpSendMsg

Fungsi WinSNMP

Gambaran Umum API WinSNMP

smiOCTETS