Bagikan melalui


Fungsi FwpsInjectionHandleCreate0 (fwpsk.h)

Fungsi FwpsInjectionHandleCreate0 membuat handel yang dapat digunakan oleh fungsi injeksi paket untuk menyuntikkan paket atau mengalirkan data ke tumpukan jaringan TCP/IP dan oleh fungsi FwpsQueryPacketInjectionState0 untuk mengkueri status injeksi paket.

CatatanFwpsInjectionHandleCreate0 adalah versi tertentu dari FwpsInjectionHandleCreate. Lihat Nama Version-Independent WFP dan Menargetkan Versi Windows Tertentu untuk informasi selengkapnya.
 

Sintaks

NTSTATUS FwpsInjectionHandleCreate0(
  [in, optional] ADDRESS_FAMILY addressFamily,
  [in]           UINT32         flags,
  [out]          HANDLE         *injectionHandle
);

Parameter

[in, optional] addressFamily

Keluarga alamat tempat handel injeksi sedang dibuat. Ini bisa menjadi salah satu keluarga alamat berikut:

AF_UNSPEC

Keluarga alamat tidak ditentukan.

AF_INET

Keluarga alamat IPv4.

AF_INET6

Keluarga alamat IPv6.

Untuk injeksi transportasi, streaming, dan penerusan, parameter ini bersifat opsional dan dapat diatur ke AF_UNSPEC, yang menunjukkan keluarga alamat yang tidak ditentukan. Nilai ini didefinisikan dalam Ws2def.h.

[in] flags

Nilai bendera yang ditetapkan oleh driver callout untuk menunjukkan jenis data yang akan disuntikkan. Bendera ini bisa memiliki satu atau beberapa nilai berikut:

FWPS_INJECTION_TYPE_FORWARD

Data paket akan disuntikkan dengan memanggil Fungsi FwpsInjectForwardAsync0 .

FWPS_INJECTION_TYPE_NETWORK

Data jaringan akan disuntikkan dengan memanggil Fungsi FwpsInjectNetworkReceiveAsync0 atau Fungsi FwpsInjectNetworkSendAsync0 .

FWPS_INJECTION_TYPE_STREAM

Stream data akan disuntikkan dengan memanggil Fungsi FwpsStreamInjectAsync0 .

FWPS_INJECTION_TYPE_TRANSPORT

Data transportasi akan disuntikkan dengan memanggil Fungsi FwpsInjectTransportReceiveAsync0 atau Fungsi FwpsInjectTransportSendAsync0 .

Untuk membuat handel injeksi yang akan digunakan oleh beberapa fungsi injeksi, gabungkan bit jenis injeksi dengan operasi OR bitwise. Jika nilai bendera diatur ke nol, handel injeksi yang dihasilkan dapat digunakan untuk injeksi transportasi, streaming, dan penerusan.

[out] injectionHandle

Penunjuk ke variabel yang menerima handel.

Nilai kembali

Fungsi FwpsInjectionHandleCreate0 mengembalikan salah satu kode NTSTATUS berikut.

Menampilkan kode Deskripsi
STATUS_SUCCESS
Handel injeksi berhasil dibuat.
STATUS_FWP_TCPIP_NOT_READY
Tumpukan jaringan TCP/IP belum siap. Driver callout harus memanggil fungsi FwpsInjectionHandleCreate0 lagi di lain waktu untuk membuat handel injeksi.
Kode status lainnya
Terjadi kesalahan.

Keterangan

Driver callout memanggil fungsi FwpsInjectionHandleCreate0 untuk membuat handel yang dapat digunakan untuk menyuntikkan paket atau mengalirkan data ke tumpukan jaringan TCP/IP dan untuk mengkueri status injeksi paket. Driver callout meneruskan handel yang dibuat ke fungsi injeksi paket dan FwpsQueryPacketInjectionState0.

Setelah driver callout selesai menggunakan handel injeksi, driver tersebut harus memanggil fungsi FwpsInjectionHandleDestroy0 untuk menghancurkan handel. Jika injeksi yang tertunda belum selesai, fungsi ini akan menunggu penyelesaiannya sebelum kembali.

Ketika injeksi dilakukan ke lapisan jaringan dan keluarga alamat IPv4 dan IPv6 sedang difilter, driver callout harus membuat dua handel injeksi dengan memanggil fungsi FwpsInjectionHandleCreate0 dua kali: satu panggilan dengan addressFamily diatur ke AF_INET, dan panggilan kedua dengan addressFamily diatur ke AF_INET6.

Untuk lapisan MAC ( *MAC_FRAME_NATIVE, *MAC_FRAME_ETHERNET, *VSWITCH_ETHERNET), Anda dapat menggunakan handel injeksi yang sama yang diperoleh dengan bendera FWPS_INJECTION_TYPE_L2. Jenis Injeksi terikat lebih dekat ke fungsi injeksi daripada lapisan.

Untuk contoh kode, lihat HelperFunctions_InjectionData.cpp WFPSampler.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows Vista.
Target Platform Universal
Header fwpsk.h (termasuk Fwpsk.h)
Pustaka Fwpkclnt.lib
IRQL PASSIVE_LEVEL

Lihat juga

FwpsInjectionHandleDestroy0

FwpsQueryPacketInjectionState0

Fungsi Injeksi Paket