Fungsi SnmpSendMsg (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.]
Aplikasi WinSNMP memanggil fungsi SnmpSendMsg untuk meminta implementasi Microsoft WinSNMP mengirimkan unit data protokol SNMP (PDU), dalam bentuk pesan SNMP. Aplikasi WinSNMP menentukan entitas sumber, entitas tujuan, dan konteks untuk permintaan tersebut.
Jika aplikasi WinSNMP mengharapkan PDU sebagai respons terhadap permintaan SnmpSendMsg , aplikasi tersebut harus mengambil PDU. Untuk melakukan ini, aplikasi harus memanggil fungsi SnmpRecvMsg menggunakan handel sesi yang dikembalikan oleh SnmpCreateSession.
Sintaks
SNMPAPI_STATUS SNMPAPI_CALL SnmpSendMsg(
[in] HSNMP_SESSION session,
[in] HSNMP_ENTITY srcEntity,
[in] HSNMP_ENTITY dstEntity,
[in] HSNMP_CONTEXT context,
[in] HSNMP_PDU PDU
);
Parameter
[in] session
Tangani ke sesi WinSNMP.
[in] srcEntity
Tangani ke entitas manajemen yang memulai permintaan untuk mengirim pesan SNMP.
[in] dstEntity
Tangani ke entitas target yang akan merespons permintaan SNMP.
[in] context
Tangani konteks, (sekumpulan sumber daya objek terkelola), yang dikontrol entitas manajemen target.
[in] PDU
Tangani ke unit data protokol yang berisi permintaan operasi SNMP.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan SNMPAPI_SUCCESS.
Jika fungsi gagal, nilai yang dikembalikan SNMPAPI_FAILURE. 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. |
|
Salah satu atau kedua parameter entitas tidak valid. |
|
Parameter konteks tidak valid. |
|
Parameter PDU tidak valid. |
|
Operasi yang ditentukan di bidang PDU_type PDU tidak pantas untuk entitas tujuan. Untuk informasi selengkapnya, lihat bagian Keterangan berikut 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 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 SnmpSendMsg dijalankan secara asinkron dan karenanya segera kembali.
Implementasi memberi tahu aplikasi WinSNMP ketika permintaan asinkron selesai. Implementasi melakukan ini dengan mengirim pesan pemberitahuan ke jendela yang ditentukan oleh parameter wMsg dan hWnd , masing-masing, dalam panggilan awal ke SnmpCreateSession untuk sesi tersebut. Ketika jendela aplikasi menerima pesan pemberitahuan, aplikasi WinSNMP harus mengambil PDU masuk. Aplikasi melakukan ini dengan memanggil fungsi SnmpRecvMsg dengan handel sesi yang dikembalikan oleh SnmpCreateSession.
Ketika aplikasi WinSNMP memanggil fungsi SnmpSendMsg , implementasi menentukan protokol transportasi jaringan dan kerangka kerja versi SNMP mana yang akan digunakan untuk menyelesaikan permintaan transmisi. Implementasi menentukan ini dengan mencocokkan kemampuannya dengan properti yang terkait dengan sesi permintaan dan dengan entitas manajemen target. Informasi ini tersedia dari nilai dalam database implementasi.
Jika aplikasi WinSNMP meminta fungsionalitas yang tersedia di bawah kerangka kerja SNMP versi 2C (SNMPv2C), tetapi entitas target menggunakan kerangka kerja SNMP versi 1 (SNMPv1), implementasi mencoba menerjemahkan permintaan ke SNMPv1. Untuk melakukan ini, implementasi menggunakan prosedur yang ditentukan dalam RFC1908, "Koeksistensi antara Versi 1 dan Versi 2 dari Kerangka Kerja Manajemen Jaringan standar Internet." Jika terjemahan tidak memungkinkan, SnmpSendMsg gagal dengan kode kesalahan yang diperluas SNMPAPI_OPERATION_INVALID. Situasi ini terjadi, misalnya, ketika aplikasi mencoba mengirim PDU dengan jenis data SNMP_PDU_InformRequest ke entitas tujuan SNMPv1.
Untuk informasi tambahan, lihat Tugas Pemrograman WinSNMP dan Tentang Pesan SNMP.
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 |