Bagikan melalui


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.

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

 

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

Fungsi Callout Driver Callout

Pengelogan Data

FWPS_CLASSIFY_OUT0

FWPS_FILTER2

FWPS_INCOMING_METADATA_VALUES0

FWPS_INCOMING_VALUES0

FwpsCalloutRegister2

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

classifyFn0

classifyFn1