Bagikan melalui


Fungsi SnmpCreateSession (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 SnmpCreateSession meminta implementasi Microsoft WinSNMP untuk membuka sesi untuk aplikasi WinSNMP. Aplikasi dapat menentukan bagaimana implementasi harus menginformasikan sesi WinSNMP dari pesan SNMP yang tersedia dan peristiwa asinkron. Aplikasi dapat menentukan pesan pemberitahuan jendela atau fungsi SNMPAPI_CALLBACK untuk memberi tahu sesi.

Fungsi SnmpCreateSession adalah elemen dari WINSNMP API, versi 2.0. Saat mengembangkan aplikasi WinSNMP baru, disarankan agar Anda memanggil SnmpCreateSession untuk membuka sesi WinSNMP alih-alih memanggil fungsi SnmpOpen .

Sintaks

HSNMP_SESSION SNMPAPI_CALL SnmpCreateSession(
  [in] HWND             hWnd,
  [in] UINT             wMsg,
  [in] SNMPAPI_CALLBACK fCallBack,
  [in] LPVOID           lpClientData
);

Parameter

[in] hWnd

Tangani ke jendela aplikasi WinSNMP untuk memberi tahu ketika permintaan asinkron selesai, atau ketika pemberitahuan trap terjadi. Parameter ini diperlukan untuk pesan pemberitahuan jendela untuk sesi tersebut.

[in] wMsg

Menentukan bilangan bulat yang tidak ditandatangani yang mengidentifikasi pesan pemberitahuan untuk dikirim ke jendela aplikasi WinSNMP. Parameter ini diperlukan untuk pesan pemberitahuan jendela untuk sesi tersebut.

[in] fCallBack

Menentukan alamat fungsi SNMPAPI_CALLBACK khusus sesi yang ditentukan aplikasi. Implementasi akan memanggil fungsi ini untuk menginformasikan sesi WinSNMP ketika pemberitahuan tersedia.

Parameter ini diperlukan untuk menentukan pemberitahuan panggilan balik untuk sesi tersebut. Parameter ini harus NULL untuk menentukan pesan pemberitahuan jendela untuk sesi tersebut. Untuk informasi tambahan, lihat bagian Keterangan berikut ini.

[in] lpClientData

Arahkan ke data yang ditentukan aplikasi untuk diteruskan ke fungsi panggilan balik yang ditentukan oleh parameter fCallback . Parameter ini bersifat opsional dan dapat berupa NULL. Jika parameter fCallback adalah NULL, implementasi akan mengabaikan parameter ini.

Mengembalikan nilai

Jika fungsi berhasil, nilai pengembalian adalah handel yang mengidentifikasi sesi WinSNMP yang dibuka implementasi untuk aplikasi panggilan.

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_HWND_INVALID
Parameter fCallback adalah NULL, tetapi parameter hWnd bukan handel jendela yang valid.
SNMPAPI_MESSAGE_INVALID
Parameter fCallback adalah NULL, tetapi parameter wMsg bukan nilai pesan yang valid.
SNMPAPI_MODE_INVALID
Parameter fCallback adalah NULL dan parameter hWnd dan wMsg valid satu per satu. Namun, nilainya sama-sama tidak kompatibel pada platform Windows.
SNMPAPI_OPERATION_INVALID
Kombinasi nilai parameter tidak menentukan pemberitahuan panggilan balik atau pesan pemberitahuan jendela.
SNMPAPI_OTHER_ERROR
Terjadi kesalahan yang tidak diketahui atau tidak terdefinis.

Keterangan

Fungsi SnmpCreateSession mengembalikan handel unik untuk setiap sesi WinSNMP yang terbuka dalam aplikasi WinSNMP panggilan. Aplikasi harus menggunakan handel sesi yang dikembalikan SnmpCreateSession dalam panggilan fungsi WinSNMP lainnya untuk memfasilitasi alokasi dan dealokasi sumber daya oleh implementasi.

Disarankan agar aplikasi WinSNMP memanggil fungsi SnmpClose sekali untuk setiap sesi yang dibuka implementasinya sebagai akibat dari panggilan ke fungsi SnmpCreateSession . Jika aplikasi WinSNMP berakhir secara tak terduga, aplikasi harus memanggil SnmpCleanup sebelum dihentikan untuk memungkinkan implementasi untuk membatalkan alokasi semua sumber daya.

Pemberitahuan Panggilan Balik

Jika parameter fCallback bukan NULL pada panggilan yang berhasil ke fungsi SnmpCreateSession , implementasi memperingatkan sesi ke pemberitahuan menggunakan fungsi panggilan balik yang ditentukan oleh parameter fCallback .

Berikut ini adalah contoh panggilan ke fungsi SnmpCreateSession , meminta agar implementasi memberi sinyal sesi tentang pesan dan peristiwa menggunakan pemberitahuan panggilan balik.

hSession = SnmpCreateSession (0, 0, myFunc, <NULL|myData>);

Pesan Pemberitahuan Jendela

Fungsi SnmpCreateSession meneruskan ke implementasi handel ke jendela aplikasi dan pengidentifikasi pesan pemberitahuan. Ketika jendela aplikasi menerima pesan pemberitahuan yang ditentukan oleh parameter wMsg , aplikasi WinSNMP harus mengambil unit data protokol masuk (PDU). Aplikasi melakukan ini dengan memanggil fungsi SnmpRecvMsg dengan handel sesi yang dikembalikan oleh SnmpCreateSession.

Satu aplikasi WinSNMP dapat membuka beberapa sesi WinSNMP. Jika aplikasi membuka beberapa sesi menggunakan handel jendela yang sama, disarankan agar aplikasi WinSNMP menentukan parameter wMsg unik untuk setiap sesi.

Berikut ini adalah contoh panggilan ke fungsi SnmpCreateSession , meminta agar implementasi memberi sinyal sesi tentang pesan dan peristiwa menggunakan pesan pemberitahuan jendela.

hSession = SnmpCreateSession (myWnd, myMsg, NULL, NULL);

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

SNMPAPI_CALLBACK

SnmpCleanup

SnmpClose

SnmpRecvMsg

Fungsi WinSNMP

Gambaran Umum API WinSNMP