Bagikan melalui


Fungsi SnmpGetPduData (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 SnmpGetPduData mengembalikan bidang data yang dipilih dari unit data protokol SNMP (PDU) tertentu.

Sintaks

SNMPAPI_STATUS SNMPAPI_CALL SnmpGetPduData(
  [in]  HSNMP_PDU   PDU,
  [out] smiLPINT    PDU_type,
  [out] smiLPINT32  request_id,
  [out] smiLPINT    error_status,
  [out] smiLPINT    error_index,
  [out] LPHSNMP_VBL varbindlist
);

Parameter

[in] PDU

Tangani ke PDU SNMP.

[out] PDU_type

Penunjuk ke variabel yang menerima bidang PDU_type dari PDU yang ditentukan. Parameter ini bisa NULL, atau salah satu nilai berikut.

Nilai Makna
SNMP_PDU_GET
Cari dan ambil nilai dari variabel SNMP tertentu.
SNMP_PDU_GETNEXT
Cari dan ambil nilai variabel SNMP tanpa mengetahui nama variabel yang tepat.
SNMP_PDU_RESPONSE
Balas ke permintaan SNMP_PDU_GET atau SNMP_PDU_GETNEXT .
SNMP_PDU_SET
Simpan nilai dalam variabel SNMP tertentu.
SNMP_PDU_GETBULK
Cari dan ambil beberapa nilai dengan satu permintaan.
SNMP_PDU_TRAP
Memperingatkan sistem manajemen ke peristiwa luar biasa di bawah SNMPv2C.

[out] request_id

Penunjuk ke variabel yang menerima bidang request_id dari PDU yang ditentukan. Parameter ini bisa NULL.

[out] error_status

Penunjuk ke variabel yang menerima bidang error_status dari PDU yang ditentukan. Jika parameter PDU_type sama dengan SNMP_PDU_GETBULK, parameter ini menerima nilai bidang non_repeaters PDU.

Parameter ini bisa NULL, atau salah satu nilai berikut. Enam kesalahan pertama umum terjadi pada kerangka kerja SNMP versi 1 (SNMPv1) dan SNMP versi 2C (SNMPv2C). Kesalahan yang tersisa hanya tersedia di bawah SNMPv2C.

Kode kesalahan Makna
SNMP_ERROR_NOERROR
Agen melaporkan bahwa tidak ada kesalahan yang terjadi selama transmisi.
SNMP_ERROR_TOOBIG
Agen tidak dapat menempatkan hasil operasi SNMP yang diminta ke dalam satu pesan SNMP.
SNMP_ERROR_NOSUCHNAME
Operasi SNMP yang diminta mengidentifikasi variabel yang tidak diketahui.
SNMP_ERROR_BADVALUE
Operasi SNMP yang diminta mencoba mengubah variabel tetapi menentukan sintaks atau kesalahan nilai.
SNMP_ERROR_READONLY
Operasi SNMP yang diminta mencoba mengubah variabel yang tidak diizinkan untuk berubah, sesuai dengan profil komunitas variabel.
SNMP_ERROR_GENERR
Terjadi kesalahan selain salah satu yang tercantum di sini selama operasi SNMP yang diminta.
SNMP_ERROR_NOACCESS
Variabel SNMP yang ditentukan tidak dapat diakses.
SNMP_ERROR_WRONGTYPE
Nilai menentukan jenis yang tidak konsisten dengan jenis yang diperlukan untuk variabel.
SNMP_ERROR_WRONGLENGTH
Nilai menentukan panjang yang tidak konsisten dengan panjang yang diperlukan untuk variabel.
SNMP_ERROR_WRONGENCODING
Nilai berisi pengodean Abstract Syntax Notation One (ASN.1) yang tidak konsisten dengan tag ASN.1 bidang.
SNMP_ERROR_WRONGVALUE
Nilai tidak dapat ditetapkan ke variabel.
SNMP_ERROR_NOCREATION
Variabel tidak ada, dan agen tidak dapat membuatnya.
SNMP_ERROR_INCONSISTENTVALUE
Nilai tidak konsisten dengan nilai objek terkelola lainnya.
SNMP_ERROR_RESOURCEUNAVAILABLE
Menetapkan nilai ke variabel memerlukan alokasi sumber daya yang saat ini tidak tersedia.
SNMP_ERROR_COMMITFAILED
Tidak terjadi kesalahan validasi, tetapi tidak ada variabel yang diperbarui.
SNMP_ERROR_UNDOFAILED
Tidak terjadi kesalahan validasi. Beberapa variabel diperbarui karena tidak dimungkinkan untuk membatalkan penugasannya.
SNMP_ERROR_AUTHORIZATIONERROR
Terjadi kesalahan otorisasi.
SNMP_ERROR_NOTWRITABLE
Variabel ada tetapi agen tidak dapat memodifikasinya.
SNMP_ERROR_INCONSISTENTNAME
Variabel tidak ada; agen tidak dapat membuatnya karena instans objek bernama tidak konsisten dengan nilai objek terkelola lainnya.

[out] error_index

Penunjuk ke variabel yang menerima bidang error_index dari PDU yang ditentukan.

Jika parameter PDU_type sama dengan SNMP_PDU_GETBULK, parameter ini menerima nilai bidang max_repetitions PDU yang ditentukan. Parameter ini bisa NULL.

[out] varbindlist

Penunjuk ke variabel yang menerima handel ke bidang daftar pengikatan variabel dari PDU yang ditentukan. Parameter ini bisa NULL. Untuk informasi tambahan, lihat bagian Keterangan berikut ini.

Mengembalikan nilai

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 berikut.

Menampilkan kode Deskripsi
SNMPAPI_NOT_INITIALIZED
Fungsi SnmpStartup tidak berhasil diselesaikan.
SNMPAPI_ALLOC_ERROR
Terjadi kesalahan selama alokasi memori.
SNMPAPI_NOOP
Semua parameter output adalah NULL. Operasi SNMP tidak dilakukan.
SNMPAPI_PDU_INVALID
Jenis PDU tidak valid.
SNMPAPI_OTHER_ERROR
Terjadi kesalahan yang tidak diketahui atau tidak terdefinis.

Keterangan

Semua parameter fungsi SnmpGetPduData diperlukan. Namun, semua parameter, kecuali parameter PDU , bisa NULL. Dalam parameter yang diteruskan aplikasi sebagai NULL, fungsi SnmpGetPduData tidak mengembalikan nilai.

Fungsi SnmpGetPduData selalu mengembalikan handel ke objek daftar pengikatan variabel baru jika parameter varbindlist bukan NULL. Selain itu, jika parameter PDU menentukan PDU baru, fungsi juga melampirkan handel ke PDU baru.

Ketika aplikasi memanggil SnmpGetPduData dengan parameter varbindlist yang bukan NULL, tetapi parameter PDU menentukan PDU yang ada, fungsi mengembalikan handel ke daftar pengikatan variabel duplikat baru. Panggilan fungsi tidak mengganggu handel yang dilampirkan ke PDU yang ada. PDU yang ada adalah yang dibuat aplikasi dengan panggilan ke fungsi SnmpCreatePdu , atau yang diterima aplikasi dan kemudian membaca menggunakan panggilan ke SnmpGetPduData.

Ketika aplikasi membuat PDU dengan SnmpCreatePdu, atau setelah aplikasi membaca PDU menggunakan SnmpGetPduData, implementasi Microsoft WinSNMP mengharapkan bahwa aplikasi "mengetahui" nilai bidang PDU. Jika aplikasi membaca PDU untuk kedua kalinya dengan SnmpGetPduData, panggilan menghasilkan salinan daftar pengikatan variabel PDU yang ditentukan. Jenis panggilan ke SnmpGetPduData ini juga menduplikasi handel ke PDU.

Persyaratan

   
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

SnmpCreatePdu

SnmpDuplicateVbl

Fungsi WinSNMP

Gambaran Umum API WinSNMP