struktur FWPS_CALLOUT2 (fwpsk.h)

Struktur FWPS_CALLOUT2 menentukan data yang diperlukan bagi driver callout untuk mendaftarkan callout dengan mesin filter.

CatatanFWPS_CALLOUT2 adalah versi spesifik FWPS_CALLOUT 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, FWPS_CALLOUT1 tersedia. Untuk Windows Vista, FWPS_CALLOUT0 tersedia.

 

Sintaks

typedef struct FWPS_CALLOUT2_ {
  GUID                                calloutKey;
  UINT32                              flags;
  FWPS_CALLOUT_CLASSIFY_FN2           classifyFn;
  FWPS_CALLOUT_NOTIFY_FN2             notifyFn;
  FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT2;

Anggota

calloutKey

GUID yang ditentukan driver callout yang secara unik mengidentifikasi callout.

flags

Bendera yang menentukan parameter khusus callout. Bendera yang mungkin adalah:

Nilai Makna
FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW
0x00000001
Driver callout dapat menentukan bendera ini saat mendaftarkan callout yang akan ditambahkan pada lapisan yang mendukung aliran data. Jika bendera ini ditentukan, mesin filter memanggil fungsi callout classifyFn2 driver callout hanya jika ada konteks yang terkait dengan aliran data. Driver callout mengaitkan konteks dengan aliran data dengan memanggil fungsi FwpsFlowAssociateContext0 .
FWP_CALLOUT_FLAG_ALLOW_OFFLOAD
0x00000002
Driver callout menentukan bendera ini untuk menunjukkan bahwa fungsi callout classifyFn2 driver callout tidak terpengaruh dengan membongkar pemrosesan data jaringan ke kartu antarmuka jaringan (NIC) berkemampuan offload. Jika bendera ini tidak ditentukan, maka offloading pemrosesan data jaringan dinonaktifkan untuk semua lalu lintas yang diproses oleh filter apa pun yang menentukan callout untuk tindakan filter.
FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY
0x00000004
Driver callout menentukan bendera ini untuk menunjukkan bahwa ia dapat menerima pemberitahuan tentang objek dan filter yang ditambahkan di dalam transaksi. Mesin filter mengirimkan pemberitahuan setelah transaksi dilakukan.
FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION
0x00000008
Driver callout menentukan bendera ini untuk menunjukkan bahwa ia dapat melakukan inspeksi aliran dinamis aliran data pada tingkat aliran. Lihat Inspeksi Stream.
FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY
0x00000010
Driver callout menentukan bendera ini untuk mendaftarkan dirinya sendiri untuk dipanggil ketika operasi soket yang ada diklasifikasikan kembali.
FWP_CALLOUT_FLAG_RESERVED1
0x00000020
Dicadangkan untuk penggunaan sistem. Driver callout harus mengabaikan bendera ini.
FWP_CALLOUT_FLAG_ALLOW_RSC
0x00000040
Driver callout menentukan bendera ini untuk menunjukkan bahwa callout mendukung coalescing segmen penerima TCP (RSC) dengan paket besar hingga 64K. Jika bendera ini tidak ditentukan, dan callout terdaftar, maka RSC dinonaktifkan untuk semua lalu lintas yang diproses oleh filter apa pun yang menentukan callout untuk tindakan filter.
FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY
0x00000080
Driver callout menentukan bendera ini saat mendaftarkan callout yang akan ditambahkan pada lapisan 2, untuk menunjukkan bahwa fungsi callout classifyFn2-nya dapat mengklasifikasikan beberapa struktur NET_BUFFER_LIST berantai. Untuk informasi selengkapnya, lihat Menggunakan Pemfilteran Lapisan 2.
Perhatian  

Jika driver callout mengatur bendera ini, driver tersebut tidak dapat menggunakan fungsi berikut untuk mengubah NET_BUFFER_LISTs.

Dengan set bendera ini, FwpsAllocateCloneNetBufferList0 akan selalu mengembalikan kesalahan INVALID_PARAMETER . Ini mungkin secara tak terduga menyebabkan driver callout pihak ke-3 gagal mengelola jumlah referensi NET_BUFFER_LISTs, menyebabkan operasi kirim dan terima berhenti.

FWP_CALLOUT_FLAG_ALLOW_USO
0x00000100
Driver callout menentukan bendera ini untuk menunjukkan bahwa callout mendukung offload segmentasi UDP (USO) dengan paket yang lebih besar dari MTU media jaringan. Jika bendera ini tidak ditentukan, dan callout terdaftar, maka USO dinonaktifkan untuk semua lalu lintas yang diproses oleh filter apa pun yang menentukan callout untuk tindakan filter. Catatan: Versi paling awal di mana bendera ini didukung adalah Windows Insider Preview, versi 10.0.25876.
FWP_CALLOUT_FLAG_ALLOW_URO
0x00000200
Driver callout menentukan bendera ini untuk menunjukkan bahwa callout mendukung UDP receive offload (URO) dengan paket besar hingga 64K. Jika bendera ini tidak ditentukan, dan callout terdaftar, maka URO dinonaktifkan untuk semua lalu lintas yang diproses oleh filter apa pun yang menentukan callout untuk tindakan filter. Catatan: Jika bendera ini ditentukan, maka callout tidak boleh mengkloning dan memasukkan kembali paket URO masuk.

classifyFn

Penunjuk ke fungsi callout classifyFn2 driver callout. Mesin filter memanggil fungsi ini setiap kali ada data jaringan yang akan diproses oleh callout.

notifyFn

Penunjuk ke fungsi notifyFn2 driver callout. Mesin filter memanggil fungsi ini untuk memberi tahu driver callout tentang peristiwa yang terkait dengan callout.

flowDeleteFn

Penunjuk ke fungsi callout flowDeleteFn driver callout. Mesin filter memanggil fungsi ini setiap kali aliran data yang sedang diproses oleh callout dihentikan.

Jika driver callout tidak mengaitkan konteks dengan aliran data yang diproses callout, maka anggota ini harus diatur ke NULL.

Keterangan

Driver callout meneruskan penunjuk ke struktur FWPS_CALLOUT2 yang diinisialisasi ke fungsi FwpsCalloutRegister2 saat mendaftarkan callout dengan mesin filter.

Callout dapat mengatur bendera FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW hanya untuk koneksi tempat driver tertarik untuk melakukan inspeksi streaming. Callout ini akan diabaikan pada semua koneksi lainnya. Performa akan ditingkatkan dan driver tidak perlu mempertahankan data status yang tidak perlu.

Struktur ini pada dasarnya identik dengan versi sebelumnya, FWPS_CALLOUT1. Satu-satunya perbedaan adalah bahwa anggota versi ini menyimpan versi terbaru dari penunjuk fungsi callout, dan bendera tambahan tersedia untuk diatur oleh driver callout.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 8.
Header fwpsk.h (termasuk Fwpsk.h)

Lihat juga

FWPS_CALLOUT0

FWPS_CALLOUT1

FwpsCalloutRegister2

Menggunakan Pemfilteran Lapisan 2

classifyFn2

flowDeleteFn

notifyFn2