Fungsi SnmpRecvMsg (winsnmp.h)

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

Fungsi WinSNMP SnmpRecvMsg mengambil hasil permintaan asinkron yang diselesaikan yang dikirimkan oleh panggilan ke fungsi SnmpSendMsg , dalam bentuk pesan SNMP. Fungsi SnmpRecvMsg juga mengembalikan data trap yang luar biasa dan pemberitahuan yang terdaftar untuk sesi WinSNMP.

Sintaks

SNMPAPI_STATUS SNMPAPI_CALL SnmpRecvMsg(
  [in]  HSNMP_SESSION   session,
  [out] LPHSNMP_ENTITY  srcEntity,
  [out] LPHSNMP_ENTITY  dstEntity,
  [out] LPHSNMP_CONTEXT context,
  [out] LPHSNMP_PDU     PDU
);

Parameter

[in] session

Tangani ke sesi WinSNMP.

[out] srcEntity

Penunjuk ke variabel yang menerima handel ke entitas yang mengirim pesan. Perhatikan bahwa parameter srcEntity ke fungsi SnmpRegister menentukan handel ke entitas manajemen yang mendaftar untuk pemberitahuan trap.

[out] dstEntity

Penunjuk ke variabel yang menerima handel ke entitas yang menerima pesan. Perhatikan bahwa parameter dstEntity ke fungsi SnmpRegister menentukan handel ke entitas manajemen yang mengirim perangkap.

[out] context

Penunjuk ke variabel yang menerima handel ke konteks, yang merupakan sekumpulan sumber daya objek terkelola. Entitas yang ditentukan oleh parameter srcEntity mengeluarkan pesan dari konteks ini.

[out] PDU

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

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan SNMPAPI_SUCCESS, dan parameter output berisi nilai yang ditunjukkan dalam deskripsi parameter sebelumnya.

Jika fungsi gagal, nilai yang dikembalikan SNMPAPI_FAILURE. Jika fungsi gagal dengan kode kesalahan yang diperluas yang menunjukkan kesalahan lapisan transportasi jaringan, yaitu yang dimulai dengan SNMPAPI_TL_, parameter output juga berisi nilai yang ditunjukkan sebelumnya untuk memungkinkan aplikasi WinSNMP pulih dengan baik.

Untuk mendapatkan informasi kesalahan yang diperluas, panggil SnmpGetLastError. Fungsi SnmpGetLastError dapat mengembalikan salah satu kesalahan WinSNMP atau lapisan transportasi jaringan 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_NOOP
Sesi yang ditentukan tidak memiliki pesan dalam antreannya saat ini.
SNMPAPI_TL_NOT_INITIALIZED
Lapisan transportasi jaringan tidak diinisialisasi.
SNMPAPI_TL_NOT_SUPPORTED
Lapisan transportasi jaringan tidak mendukung protokol SNMP.
SNMPAPI_TL_NOT_AVAILABLE
Subsistem jaringan gagal.
SNMPAPI_TL_RESOURCE_ERROR
Terjadi kesalahan sumber daya pada lapisan transportasi jaringan.
SNMPAPI_TL_UNDELIVERABLE
Entitas yang ditentukan oleh parameter dstEntity tidak tersedia.
SNMPAPI_TL_SRC_INVALID
Entitas yang ditentukan oleh parameter srcEntity tidak diinisialisasi.
SNMPAPI_TL_INVALID_PARAM
Panggilan fungsi lapisan transportasi jaringan menerima parameter input yang tidak valid.
SNMPAPI_TL_PDU_TOO_BIG
PDU terlalu besar untuk lapisan transportasi jaringan untuk mengirim atau menerima.
SNMPAPI_TL_OTHER
Terjadi kesalahan lapisan transportasi jaringan yang tidak terdefinisi.
SNMPAPI_OTHER_ERROR
Terjadi kesalahan yang tidak diketahui atau tidak terdefinis.
 

Untuk informasi tambahan, lihat Kesalahan Transportasi Jaringan.

Keterangan

Fungsi SnmpCreateSession meneruskan handel jendela aplikasi dan pengidentifikasi pesan pemberitahuan ke implementasi Microsoft WinSNMP. Ketika jendela aplikasi menerima pesan pemberitahuan yang ditentukan oleh parameter wMsg , aplikasi WinSNMP harus memanggil fungsi SnmpRecvMsg dengan handel sesi yang dikembalikan oleh SnmpCreateSession untuk mengambil unit data protokol masuk (PDU). Untuk informasi tambahan, lihat Tentang Pesan SNMP.

Fungsi SnmpRecvMsg membuat instans empat objek dan mengalokasikan sumber dayanya: dua handel entitas, handel konteks, dan handel PDU. Handel ke komponen daftar pengikatan variabel dari PDU yang dikembalikan tidak dibuat sampai aplikasi WinSNMP memanggil fungsi SnmpGetPduData . Ketika tidak lagi membutuhkan sumber daya yang dikembalikan SnmpRecvMsg , aplikasi WinSNMP harus membebaskan sumber daya individual menggunakan fungsi WinSNMP yang sesuai dengan sumber daya. Untuk informasi tambahan, lihat SnmpFreePdu, SnmpFreeEntity, dan SnmpFreeContext.

Ketika implementasi menerima perangkap dari entitas yang beroperasi di bawah kerangka kerja SNMP versi 1 (SNMPv1), implementasi menerjemahkan perangkap ke format SNMP versi 2C (SNMPv2C). Oleh karena itu, ketika SnmpRecvMsg memberikan perangkap, SnmpRecvMsg selalu dalam format SNMPv2C. Untuk informasi tambahan, lihat Menerjemahkan Traps dari SNMPv1 ke SNMPv2C dan WinSNMP Programming Tasks.

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

SnmpFreeContext

SnmpFreeEntity

SnmpFreePdu

SnmpGetPduData

SnmpRegister

SnmpSendMsg

Fungsi WinSNMP

Gambaran Umum API WinSNMP