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.

CatatanclassifyFn0 adalah versi spesifik classifyFn yang digunakan di Windows Vista dan yang lebih baru. Lihat Nama Version-Independent WFP dan Menargetkan Versi Windows Tertentu untuk informasi selengkapnya. Untuk Windows 8, classifyFn2 tersedia. Untuk Windows 7, classifyFn1 tersedia.
 

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

Fungsi Callout Driver Callout

Pengelogan Data

FWPS_CALLOUT0

FWPS_CLASSIFY_OUT0

FWPS_FILTER0

FWPS_INCOMING_METADATA_VALUES0

FWPS_INCOMING_VALUES0

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsReferenceNetBufferList0

NET_BUFFER_LIST

Contoh Modifikasi Paket

Mendaftarkan Callout dengan Mesin Filter

Menggunakan Callout untuk Inspeksi Mendalam data Stream

Menggunakan Callout untuk Inspeksi Mendalam

classifyFn

classifyFn1

classifyFn2