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 |
---|---|
|
Fungsi SnmpStartup tidak berhasil diselesaikan. |
|
Terjadi kesalahan selama alokasi memori. |
|
Parameter sesi tidak valid. |
|
Sesi yang ditentukan tidak memiliki pesan dalam antreannya saat ini. |
|
Lapisan transportasi jaringan tidak diinisialisasi. |
|
Lapisan transportasi jaringan tidak mendukung protokol SNMP. |
|
Subsistem jaringan gagal. |
|
Terjadi kesalahan sumber daya pada lapisan transportasi jaringan. |
|
Entitas yang ditentukan oleh parameter dstEntity tidak tersedia. |
|
Entitas yang ditentukan oleh parameter srcEntity tidak diinisialisasi. |
|
Panggilan fungsi lapisan transportasi jaringan menerima parameter input yang tidak valid. |
|
PDU terlalu besar untuk lapisan transportasi jaringan untuk mengirim atau menerima. |
|
Terjadi kesalahan lapisan transportasi jaringan yang tidak terdefinisi. |
|
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 |