Bagikan melalui


Fungsi FwpmEngineOpen0 (fwpmu.h)

Fungsi FwpmEngineOpen0 membuka sesi ke mesin filter.

Sintaks

DWORD FwpmEngineOpen0(
  [in, optional] const wchar_t             *serverName,
  [in]           UINT32                    authnService,
  [in, optional] SEC_WINNT_AUTH_IDENTITY_W *authIdentity,
  [in, optional] const FWPM_SESSION0       *session,
  [out]          HANDLE                    *engineHandle
);

Parameter

[in, optional] serverName

Jenis: const wchar_t*

Nilai ini harus NULL.

[in] authnService

Jenis: UINT32

Menentukan layanan autentikasi yang akan digunakan. Layanan yang diizinkan RPC_C_AUTHN_WINNT dan RPC_C_AUTHN_DEFAULT.

[in, optional] authIdentity

Jenis: SEC_WINNT_AUTH_IDENTITY_A*

Kredensial autentikasi dan otorisasi untuk mengakses mesin filter. Penunjuk ini bersifat opsional dan dapat berupa NULL. Jika pointer ini NULL, kredensial alur panggilan digunakan.

[in, optional] session

Jenis: FWPM_SESSION0*

Parameter khusus sesi untuk sesi yang sedang dibuka. Penunjuk ini bersifat opsional dan dapat berupa NULL.

[out] engineHandle

Jenis: HANDLE*

Tangani untuk sesi terbuka ke mesin filter.

Nilai kembali

Jenis: DWORD

Mengembalikan kode/nilai Deskripsi
ERROR_SUCCESS
0
Sesi berhasil dimulai.
FWP_E_ALREADY_EXISTS
0x80320009
Sesi dengan sessionKey yang ditentukan sudah dibuka.
kode kesalahan FWP_E_*
0x80320001—0x80320039
Kesalahan spesifik Windows Filtering Platform (WFP). Lihat Kode Kesalahan WFP untuk detailnya.
RPC_* kode kesalahan
0x80010001—0x80010122
Gagal berkomunikasi dengan mesin firewall jarak jauh atau lokal.

Keterangan

Aplikasi pengguna harus memanggil FwpmEngineOpen0 untuk mendapatkan handel untuk sesi terbuka ke mesin filter sebelum menambahkan atau menghapus objek filter apa pun. Handel untuk sesi terbuka ke mesin filter juga diperlukan untuk sebagian besar fungsi manajemen Windows Filtering Platform lainnya.

Sesi ditutup secara otomatis ketika program berakhir. Untuk menutup sesi secara eksplisit, panggil FwpmEngineClose0.

Jika sesi. bendera diatur ke FWPM_SESSION_FLAG_DYNAMIC, objek WFP apa pun yang ditambahkan selama sesi akan dihapus secara otomatis saat sesi berakhir. Jika sesi tidak dinamis, pemanggil perlu secara eksplisit menghapus semua objek WFP yang ditambahkan selama sesi.

Pemanggil membutuhkan akses FWPM_ACTRL_OPEN ke mesin filter. Lihat Access Control untuk informasi selengkapnya.

FwpmEngineOpen0 hanya ditujukan untuk digunakan dalam mode yang tidak ditiru.

FwpmEngineOpen0 adalah implementasi khusus dari FwpmEngineOpen. Lihat Nama Version-Independent WFP dan Menargetkan Versi Windows Tertentu untuk informasi selengkapnya.

Contoh

Contoh C++ berikut menggunakan FwpmEngineOpen0 untuk membuka sesi filter.

// Open a session to the filter engine
        
HANDLE    engineHandle = NULL;
DWORD    result = ERROR_SUCCESS; 

printf("Opening the filter engine.\n");
        
result = FwpmEngineOpen0(
    NULL, 
    RPC_C_AUTHN_WINNT, 
    NULL,
    NULL, 
    &engineHandle );

if (result != ERROR_SUCCESS)
    printf("FwpmEngineOpen0 failed. Return value: %d.\n", result); 
else
    printf("Filter engine opened successfully.\n");

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header fwpmu.h
Pustaka Fwpuclnt.lib
DLL Fwpuclnt.dll

Lihat juga

Konstanta Layanan Autentikasi

FWPM_SESSION0

FwpmEngineClose0

Mode Kernel FwpmEngineOpen0

SEC_WINNT_AUTH_IDENTITY_A