struktur FLT_REGISTRATION (fltkernel.h)
Struktur FLT_REGISTRATION diteruskan sebagai parameter ke FltRegisterFilter.
Sintaks
typedef struct _FLT_REGISTRATION {
USHORT Size;
USHORT Version;
FLT_REGISTRATION_FLAGS Flags;
const FLT_CONTEXT_REGISTRATION *ContextRegistration;
const FLT_OPERATION_REGISTRATION *OperationRegistration;
PFLT_FILTER_UNLOAD_CALLBACK FilterUnloadCallback;
PFLT_INSTANCE_SETUP_CALLBACK InstanceSetupCallback;
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK InstanceQueryTeardownCallback;
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownStartCallback;
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownCompleteCallback;
PFLT_GENERATE_FILE_NAME GenerateFileNameCallback;
PFLT_NORMALIZE_NAME_COMPONENT NormalizeNameComponentCallback;
PFLT_NORMALIZE_CONTEXT_CLEANUP NormalizeContextCleanupCallback;
PFLT_TRANSACTION_NOTIFICATION_CALLBACK TransactionNotificationCallback;
PFLT_NORMALIZE_NAME_COMPONENT_EX NormalizeNameComponentExCallback;
PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK SectionNotificationCallback;
} FLT_REGISTRATION, *PFLT_REGISTRATION;
Anggota
Size
Ukuran, dalam byte, dari struktur FLT_REGISTRATION. Driver minifilter harus mengatur anggota ini ke sizeof(FLT_REGISTRATION).
Version
Tingkat revisi struktur FLT_REGISTRATION. Driver minifilter harus mengatur anggota ini ke FLT_REGISTRATION_VERSION.
Flags
Bitmask bendera pendaftaran minifilter. Anggota ini bisa null atau kombinasi dari berikut ini.
ContextRegistration
Array panjang variabel dari struktur FLT_CONTEXT_REGISTRATION , satu untuk setiap jenis konteks yang digunakan minifilter. Elemen terakhir dalam array harus {FLT_CONTEXT_END}. Anggota ini bersifat opsional dan dapat berupa NULL.
OperationRegistration
Array panjang variabel struktur FLT_OPERATION_REGISTRATION , satu untuk setiap jenis I/O yang minifilter mendaftarkan rutinitas panggilan balik praoperasi (PFLT_PRE_OPERATION_CALLBACK) dan pascaoperasi (PFLT_POST_OPERATION_CALLBACK). Elemen terakhir dalam array harus {IRP_MJ_OPERATION_END}. Anggota ini bersifat opsional dan dapat berupa NULL.
FilterUnloadCallback
Penunjuk ke rutinitas jenis PFLT_FILTER_UNLOAD_CALLBACK untuk didaftarkan sebagai rutinitas FilterUnloadCallback minifilter. Anggota ini bersifat opsional dan dapat berupa NULL. Perhatikan bahwa jika NULL ditentukan untuk rutinitas ini, filter tidak pernah dapat dibongkar.
InstanceSetupCallback
Pointer ke rutinitas jenis PFLT_INSTANCE_SETUP_CALLBACK untuk didaftarkan sebagai rutinitas InstanceSetupCallback minifilter. Anggota ini bersifat opsional dan dapat berupa NULL. Perhatikan bahwa jika NULL ditentukan untuk rutinitas ini, lampiran selalu dibuat.
InstanceQueryTeardownCallback
Penunjuk ke rutinitas jenis PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK untuk didaftarkan sebagai rutinitas InstanceQueryTeardownCallback minifilter. Anggota ini bersifat opsional dan dapat berupa NULL. Perhatikan bahwa jika NULL ditentukan untuk rutinitas ini, maka instans tidak akan pernah dilepas secara manual.
InstanceTeardownStartCallback
Penunjuk ke rutinitas jenis PFLT_INSTANCE_TEARDOWN_CALLBACK untuk didaftarkan sebagai rutinitas InstanceTeardownStartCallback minifilter. Anggota ini bersifat opsional dan dapat berupa NULL.
InstanceTeardownCompleteCallback
Penunjuk ke rutinitas jenis PFLT_INSTANCE_TEARDOWN_CALLBACK untuk didaftarkan sebagai rutinitas InstanceTeardownCompleteCallback minifilter. Anggota ini bersifat opsional dan dapat berupa NULL.
GenerateFileNameCallback
Penunjuk ke rutinitas jenis PFLT_GENERATE_FILE_NAME untuk didaftarkan sebagai rutinitas GenerateFileNameCallback minifilter. Anggota ini bersifat opsional dan dapat berupa NULL.
NormalizeNameComponentCallback
Penunjuk ke rutinitas jenis PFLT_NORMALIZE_NAME_COMPONENT untuk didaftarkan sebagai rutinitas NormalizeNameComponentCallback minifilter. Anggota ini bersifat opsional dan dapat berupa NULL.
NormalizeContextCleanupCallback
Penunjuk ke rutinitas jenis PFLT_NORMALIZE_CONTEXT_CLEANUP untuk didaftarkan sebagai rutinitas NormalizeContextCleanupCallback minifilter. Anggota ini bersifat opsional dan dapat berupa NULL.
TransactionNotificationCallback
(Hanya Windows Vista dan yang lebih baru.) Penunjuk ke rutinitas jenis PFLT_TRANSACTION_NOTIFICATION_CALLBACK untuk didaftarkan sebagai rutinitas TransactionNotificationCallback minifilter. Anggota ini bersifat opsional dan dapat berupa NULL.
NormalizeNameComponentExCallback
(Hanya Windows Vista dan yang lebih baru.) Penunjuk ke rutinitas jenis PFLT_NORMALIZE_NAME_COMPONENT_EX untuk didaftarkan sebagai rutinitas NormalizeNameComponentExCallback driver minifilter. Anggota ini bersifat opsional dan dapat berupa NULL.
Dibandingkan dengan rutinitas panggilan balik NormalizeNameComponentCallback , rutinitas panggilan balik NormalizeNameComponentExCallback mendukung parameter objek file tambahan, FileObject (dari jenis PFILE_OBJECT). Driver minifilter dapat menggunakan parameter ini untuk memperoleh informasi tambahan, seperti yang disediakan oleh struktur TXN_PARAMETER_BLOCK .
Driver minifilter dapat secara bersamaan mengatur anggota NormalizeNameComponentCallback dan NormalizeNameComponentExCallback ke NULL; namun, driver minifilter penyedia nama harus mendaftarkan rutinitas panggilan balik NormalizeNameComponentCallback atau NormalizeNameComponentExCallback , atau keduanya. Misalnya, driver minifilter penyedia nama yang tidak menggunakan parameter FileObject tambahan dapat mengatur anggota NormalizeNameComponentExCallback ke NULL dan hanya menyediakan rutinitas panggilan balik NormalizeNameComponentCallback .
Driver minifilter dapat menyediakan panggilan balik NormalizeNameComponentCallback dan callback NormalizeNameComponentExCallback . Dalam hal ini, dimulai dengan Windows Vista, manajer filter hanya akan menggunakan panggilan balik NormalizeNameComponentExCallback ; untuk sistem operasi Windows sebelum Windows Vista, manajer filter hanya akan menggunakan panggilan balik NormalizeNameComponentCallback . Ini memungkinkan biner driver minifilter yang sama untuk berjalan di bawah semua versi sistem operasi.
SectionNotificationCallback
Arahkan ke rutinitas jenis PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK untuk didaftarkan sebagai rutinitas SectionNotificationCallback minifilter. Anggota ini bersifat opsional dan dapat berupa NULL. Panggilan balik ini dipanggil untuk pemberitahuan kegagalan I/O untuk bagian yang dibuat dengan FltCreateSectionForDatascan.
Keterangan
Struktur FLT_REGISTRATION digunakan untuk memberikan informasi tentang minifilter sistem file, seperti rutinitas filterUnloadCallback (PFLT_FILTER_UNLOAD_CALLBACK) dan praoperasi (PFLT_PRE_OPERATION_CALLBACK) dan rutinitas panggilan balik pascaoperasi (PFLT_POST_OPERATION_CALLBACK), ke manajer filter. Minifilter meneruskan pointer ke struktur ini sebagai parameter Pendaftaran ke FltRegisterFilter.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | fltkernel.h (termasuk Fltkernel.h) |
Lihat juga
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
PFLT_INSTANCE_TEARDOWN_CALLBACK
PFLT_NORMALIZE_CONTEXT_CLEANUP
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk