NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS fungsi panggilan balik (ndis.h)

Laporan fungsi ReportFilteredNetBufferLists pada satu atau beberapa paket jaringan yang dihilangkan atau dikecualikan dari pengiriman port oleh ekstensi sakelar yang dapat diperluas. Setiap paket jaringan didefinisikan melalui struktur NET_BUFFER_LIST .

Sintaks

NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS NdisSwitchReportFilteredNetBufferLists;

void NdisSwitchReportFilteredNetBufferLists(
  [in]           NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in]           PUNICODE_STRING ExtensionGuid,
  [in]           PUNICODE_STRING ExtensionFriendlyName,
  [in]           NDIS_SWITCH_PORT_ID PortId,
  [in]           UINT32 Flags,
  [in]           UINT32 NumberOfNetBufferLists,
  [in]           PNET_BUFFER_LIST NetBufferLists,
  [in, optional] PUNICODE_STRING FilterReason
)
{...}

Parameter

[in] NdisSwitchContext

Nilai NDIS_SWITCH_CONTEXT yang berisi handel modul sakelar yang dapat diperluas tempat ekstensi sakelar yang dapat diperluas Hyper-V terpasang. Ketika ekstensi memanggil NdisFGetOptionalSwitchHandlers, handel ini dikembalikan melalui parameter NdisSwitchContext .

[in] ExtensionGuid

Penunjuk ke struktur UNICODE_STRING yang berisi GUID ekstensi. NDIS menentukan GUID ini di anggota FilterModuleGuidName dari struktur NDIS_FILTER_ATTACH_PARAMETERS . NDIS meneruskan penunjuk ke struktur ini dalam parameter AttachParameters saat memanggil fungsi FilterAttach ekstensi.

[in] ExtensionFriendlyName

Penunjuk ke struktur UNICODE_STRING yang berisi nama ekstensi yang mudah digunakan. Nama ini ditentukan oleh entri DisplayName di AddService Directive dari file INF ekstensi.

[in] PortId

Nilai NDIS_SWITCH_PORT_ID yang menentukan port sakelar yang dapat diperluas. Untuk informasi lebih lanjut, lihat bagian Keterangan.

[in] Flags

Nilai UINT32. Ketika bendera NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING ditentukan, itu menunjukkan bahwa anggota PortId menentukan sumber paket yang dihilangkan. Ketika tidak ditentukan, anggota PortId menentukan port sakelar yang dapat diperluas tujuan. Untuk informasi lebih lanjut, lihat bagian Keterangan.

[in] NumberOfNetBufferLists

Nilai UINT32 yang berisi jumlah struktur NET_BUFFER_LIST yang ditentukan oleh parameter NetBufferLists .

[in] NetBufferLists

Penunjuk ke daftar struktur NET_BUFFER_LIST yang ditautkan.

[in, optional] FilterReason

Penunjuk ke struktur UNICODE_STRING yang berisi deskripsi yang mudah digunakan tentang alasan penghilangan atau pengecualian paket. Untuk informasi lebih lanjut, lihat bagian Keterangan.

Nilai kembali

Tidak ada

Keterangan

Ketika ekstensi mengecualikan pengiriman paket ke port sakelar yang dapat diperluas, ekstensi harus memanggil ReportFilteredNetBufferLists. Ketika fungsi ini dipanggil, modul sakelar yang dapat diperluas menaikkan penghitung dan mencatat peristiwa untuk paket yang dihilangkan atau dikecualikan. Saat mencatat peristiwa untuk sekumpulan paket yang dihilangkan atau dikecualikan, modul sakelar yang dapat diperluas menggunakan deskripsi yang mudah digunakan yang ditentukan oleh parameter FilterReason .

Ekstensi dapat mengecualikan pengiriman paket dengan cara berikut:

Ekstensi harus mengikuti panduan ini saat memanggil ReportFilteredNetBufferLists:
  • Parameter NetBufferLists menentukan daftar tertaut struktur NET_BUFFER_LIST . Semua paket yang ditentukan oleh struktur ini harus diterima dari atau dikirim ke port yang sama, dan dihilangkan atau dikecualikan karena alasan yang sama.
  • Jika paket dihilangkan karena kebijakan berdasarkan port sumber, bendera NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING harus ditentukan. Ekstensi juga harus mengatur parameter PortId ke pengidentifikasi port tempat paket diterima.
  • Jika paket dihilangkan karena kebijakan berdasarkan port tujuan, bendera NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING tidak boleh ditentukan. Ekstensi juga harus mengatur parameter PortId ke pengidentifikasi port tempat paket dikirim.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.30 dan yang lebih baru.
Target Platform Desktop
Header ndis.h (termasuk Ndis.h)
IRQL <= DISPATCH_LEVEL

Lihat juga

FilterAttach

Direktif AddService INF

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

UNICODE_STRING