FWPS_CALLOUT_CLASSIFY_FN0 fungsi panggilan balik (fwpsk.h)
Mesin filter memanggil fungsi callout classifyFn0 callout setiap kali ada data yang akan diproses oleh callout.
Sintaks
FWPS_CALLOUT_CLASSIFY_FN0 FwpsCalloutClassifyFn0;
void FwpsCalloutClassifyFn0(
[in] const FWPS_INCOMING_VALUES0 *inFixedValues,
[in] const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
[in, out] void *layerData,
[in] const FWPS_FILTER0 *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 pada lapisan yang sedang difilter.
[in] inMetaValues
Penunjuk ke FWPS_INCOMING_METADATA_VALUES0 struktur. Struktur ini berisi nilai untuk setiap bidang metadata pada lapisan yang sedang difilter.
[in, out] layerData
Penunjuk ke struktur yang menjelaskan data mentah pada lapisan yang sedang difilter. Parameter ini mungkin NULL, tergantung pada lapisan yang difilter dan kondisi di mana fungsi callout classifyFn0 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] filter
Penunjuk ke struktur FWPS_FILTER0 . 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 classifyFn0 harus mengabaikan parameter ini.
[in, out] classifyOut
Penunjuk ke struktur FWPS_CLASSIFY_OUT0 yang menerima data apa pun yang dikembalikan fungsi callout classifyFn0 ke pemanggil.
Mengembalikan nilai
Tidak ada
Keterangan
Driver callout mendaftarkan fungsi callout callout dengan mesin filter dengan memanggil fungsi FwpsCalloutRegister0 .
Mesin filter memanggil fungsi callout classifyFn0 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 classifyFn0 callout harus menghapus bendera FWPS_RIGHT_ACTION_WRITE di anggota hak struktur FWPS_CLASSIFY_OUT0 dalam salah satu situasi berikut:
- Saat fungsi callout classifyFn0 mengatur anggota actionType dari struktur FWPS_CLASSIFY_OUT0 ke FWP_ACTION_BLOCK.
- Saat fungsi callout classifyFn0 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_FILTER0 .
- Ketika callout telah menunjukkan bahwa ia berniat untuk memodifikasi daftar buffer net kloning dengan mengatur parameter intendToModify ke TRUE dalam panggilan ke fungsi FwpsReferenceNetBufferList0 .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows Vista. |
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