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
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
Salah satu atau kedua parameter entitas tidak valid.
SNMPAPI_CONTEXT_INVALID
Parameter konteks tidak valid.
SNMPAPI_PDU_INVALID
Parameter PDU tidak valid.
SNMPAPI_OPERATION_INVALID
Operasi yang ditentukan di bidang PDU_type PDU tidak pantas untuk entitas tujuan. Untuk informasi selengkapnya, lihat bagian Keterangan berikut 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_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 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

Lihat juga

SnmpCreateSession

SnmpRecvMsg

Fungsi WinSNMP

Gambaran Umum API WinSNMP