Fungsi NdisEnumerateFilterModules (ndis.h)

Fungsi NdisEnumerateFilterModules menghitung semua modul filter dan memfilter instans driver perantara dalam tumpukan filter.

Sintaks

NDIS_STATUS NdisEnumerateFilterModules(
  [in]      NDIS_HANDLE NdisHandle,
  [in]      PVOID       InterfaceBuffer,
  [in]      ULONG       InterfaceBufferLength,
  [in, out] PULONG      BytesNeeded,
  [in, out] PULONG      BytesWritten
);

Parameter

[in] NdisHandle

Handel NDIS yang diperoleh selama inisialisasi pemanggil. Untuk informasi selengkapnya tentang handel ini, lihat Mendapatkan Handel Kumpulan.

Jika handel adalah handel adaptor miniport NDIS, NDIS mengembalikan informasi tentang semua modul antarmuka yang saat ini terpasang pada adaptor miniport, dimulai dengan modul filter paling atas.

Jika handel adalah handel pengikatan NDIS, NDIS mengembalikan informasi tentang semua modul filter yang saat ini dilampirkan ke adaptor miniport yang mendasar, dimulai dengan modul filter paling atas.

Jika handel adalah handel modul filter NDIS, NDIS mengembalikan informasi tentang semua modul filter yang saat ini dilampirkan ke adaptor miniport yang mendasar tempat modul filter yang ditentukan dilampirkan, dimulai dengan modul filter terbanyak.

[in] InterfaceBuffer

Penunjuk ke blok memori yang dialokasikan pemanggil di mana NDIS mengembalikan informasi untuk semua modul filter dalam tumpukan filter, dimulai dengan filter paling atas. Buffer ini berisi struktur NDIS_ENUM_FILTERS yang diikuti oleh nol atau lebih struktur NDIS_FILTER_INTERFACE , satu untuk setiap modul filter dalam tumpukan.

[in] InterfaceBufferLength

Panjangnya, dalam byte, dari blok memori yang disediakan pemanggil di anggota InterfaceBuffer .

[in, out] BytesNeeded

Penunjuk ke variabel yang disediakan penelepon di mana NDIS menulis jumlah total byte yang diperlukan NDIS untuk berhasil mengembalikan informasi antarmuka untuk semua filter dalam tumpukan filter.

[in, out] BytesWritten

Penunjuk ke variabel yang disediakan penelepon di mana NDIS menulis total byte yang ditulis NDIS dalam memori di InterfaceBuffer.

Nilai kembali

NdisEnumerateFilterModules mengembalikan salah satu nilai status berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
Operasi berhasil diselesaikan.
NDIS_STATUS_INVALID_PARAMETER
NdisEnumerateFilterModules gagal karena parameter NdisHandle bukan adaptor miniport NDIS yang valid, pengikatan protokol, atau handel modul filter.
NDIS_STATUS_BUFFER_TOO_SHORT
NdisEnumerateFilterModules gagal karena buffer yang disediakan di parameter InterfaceBuffer terlalu singkat bagi NDIS untuk mengembalikan semua informasi. Jika hasil parsial ditulis di InterfaceBuffer, nilai pada parameter BytesWritten berisi panjang hasil parsial.

Keterangan

Driver miniport NDIS, driver protokol, atau driver filter dapat memanggil fungsi NdisEnumerateFilterModules untuk menghitung semua filter dalam tumpukan filter.

NdisEnumerateFilterModules mengembalikan daftar modul filter dan memfilter driver perantara dari atas ke bagian bawah tumpukan driver. Misalnya, jika modul filter (F1 dan F2) dilampirkan ke adaptor miniport (M1) dan jika F2 di atas F1, NdisEnumerateFilterModules mengembalikan daftar dalam urutan berikut: F2, F1. Jika ada juga driver perantara filter (M2) yang terikat ke M1, jika M2 di atas F2, dan jika filter lain (F3) dilampirkan ke M2, NdisEnumerateFilterModules mengembalikan daftar filter dalam urutan berikut: F3, M2, F2, F1.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Target Platform Desktop
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI Irql_Filter_Driver_Function(ndis)

Lihat juga

NDIS_ENUM_FILTERS

NDIS_FILTER_INTERFACE