FWPS_CALLOUT_CLASSIFY_FN2 fungsi panggilan balik (fwpsk.h)
Mesin filter memanggil fungsi callout classifyFn2 callout setiap kali ada data yang akan diproses oleh callout.
Sintaks
FWPS_CALLOUT_CLASSIFY_FN2 FwpsCalloutClassifyFn2;
void FwpsCalloutClassifyFn2(
[in] const FWPS_INCOMING_VALUES0 *inFixedValues,
[in] const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
[in, out, optional] void *layerData,
[in, optional] const void *classifyContext,
[in] const FWPS_FILTER2 *filter,
[in] UINT64 flowContext,
[in, out] FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}
Parameter
[in] inFixedValues
Penunjuk ke struktur FWPS_INCOMING_VALUES0 . Struktur ini berisi nilai untuk setiap bidang data dalam lapisan yang difilter.
[in] inMetaValues
Penunjuk ke FWPS_INCOMING_METADATA_VALUES0 struktur. Struktur ini berisi nilai untuk setiap bidang metadata dalam lapisan yang sedang difilter.
[in, out, optional] layerData
Penunjuk ke struktur yang menjelaskan data mentah dalam lapisan yang difilter. Parameter ini mungkin NULL, tergantung pada lapisan yang difilter dan kondisi di mana fungsi callout classifyFn2 dipanggil. Untuk lapisan aliran, parameter ini menunjuk ke FWPS_STREAM_CALLOUT_IO_PACKET0 struktur. Untuk semua lapisan lainnya, parameter ini menunjuk ke struktur NET_BUFFER_LIST jika bukan NULL.
[in, optional] classifyContext
Penunjuk ke data konteks yang terkait dengan driver callout oleh mesin filter.
[in] filter
Penunjuk ke struktur FWPS_FILTER2 . Struktur ini menjelaskan filter yang menentukan callout untuk tindakan filter.
[in] flowContext
Variabel berjenis UINT64 yang berisi konteks yang terkait dengan aliran data. Jika tidak ada konteks yang terkait dengan aliran data, maka parameter ini adalah nol. Jika callout ditambahkan ke mesin filter pada lapisan pemfilteran yang tidak mendukung aliran data, fungsi callout classifyFn2 harus mengabaikan parameter ini.
[in, out] classifyOut
Penunjuk ke struktur FWPS_CLASSIFY_OUT0 yang menerima data apa pun yang dikembalikan fungsi callout classifyFn2 ke pemanggil.
Mengembalikan nilai
Tidak ada
Keterangan
Driver callout mendaftarkan fungsi callout callout dengan mesin filter dengan memanggil fungsi FwpsCalloutRegister2 .
Mesin filter memanggil fungsi callout classifyFn2 callout dengan data yang akan diproses setiap kali semua kondisi pengujian benar untuk filter di mesin filter yang menentukan callout untuk tindakan filter.
Fungsi callout classifyFn2 callout harus menghapus bendera FWPS_RIGHT_ACTION_WRITE di anggota hak struktur FWPS_CLASSIFY_OUT0 dalam salah satu situasi berikut:
- Saat fungsi callout classifyFn2 mengatur anggota actionType dari struktur FWPS_CLASSIFY_OUT0 ke FWP_ACTION_BLOCK.
- Saat fungsi callout classifyFn2 mengatur anggota actionType dari struktur FWPS_CLASSIFY_OUT0 ke FWP_ACTION_PERMIT dan bendera FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT diatur dalam anggota Bendera dari struktur FWPS_FILTER2 .
-
Ketika callout telah menunjukkan bahwa ia berniat untuk memodifikasi daftar buffer net kloning dengan mengatur parameter intendToModify ke TRUE dalam panggilan ke Fungsi FwpsReferenceNetBufferList0 .
Fungsi ini pada dasarnya identik dengan versi sebelumnya, classifyFn1. Namun, struktur FWPS_FILTER2 yang diperbarui ditujukkan oleh parameter filter dan parameter layerData bersifat opsional.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 8. |
Target Platform | Windows |
Header | fwpsk.h (termasuk Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |
Lihat juga
Mengaitkan Konteks dengan Aliran Data
FWPS_INCOMING_METADATA_VALUES0Mendaftarkan Callout dengan Mesin Filter
Menggunakan Callout untuk Inspeksi Mendalam Data Stream
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk