PFLT_TRANSACTION_NOTIFICATION_CALLBACK fungsi panggilan balik (fltkernel.h)
Driver minifilter dapat mendaftarkan rutinitas jenis PFLT_TRANSACTION_NOTIFICATION_CALLBACK sebagai rutinitas TransactionNotificationCallback-nya .
Sintaks
PFLT_TRANSACTION_NOTIFICATION_CALLBACK PfltTransactionNotificationCallback;
NTSTATUS PfltTransactionNotificationCallback(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] PFLT_CONTEXT TransactionContext,
[in] ULONG NotificationMask
)
{...}
Parameter
[in] FltObjects
Penunjuk ke struktur FLT_RELATED_OBJECTS yang berisi penunjuk buram untuk objek yang terkait dengan operasi saat ini.
[in] TransactionContext
Arahkan ke konteks transaksi driver minifilter.
[in] NotificationMask
Menentukan jenis pemberitahuan yang dikirim manajer filter ke driver minifilter, sebagai salah satu nilai berikut.
Nilai | Makna |
---|---|
TRANSACTION_NOTIFY_COMMIT | Pemberitahuan ini dikirim ketika transaksi sedang dilakukan. |
TRANSACTION_NOTIFY_COMMIT_FINALIZE | Untuk Windows Vista SP1 dan yang lebih baru, pemberitahuan ini dikirim ketika transaksi diterapkan sepenuhnya (yaitu, ketika semua manajer sumber daya yang terkait dengan transaksi, seperti TxF, telah berkomitmen). |
TRANSACTION_NOTIFY_PREPARE | Pemberitahuan ini dikirim ketika transaksi memasuki fase persiapan penerapan. |
TRANSACTION_NOTIFY_PREPREPARE | Pemberitahuan ini dikirim ketika transaksi memasuki fase pra-persiapan untuk penerapan. |
TRANSACTION_NOTIFY_ROLLBACK | Pemberitahuan ini dikirim ketika transaksi digulung balik atau dibatalkan. |
Nilai kembali
Rutinitas PFLT_TRANSACTION_NOTIFICATION_CALLBACK mengembalikan salah satu nilai NTSTATUS berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Mengembalikan nilai status ini menunjukkan bahwa driver minifilter selesai dengan transaksi. Ini adalah kode sukses. |
|
Mengembalikan nilai status ini menunjukkan bahwa driver minifilter belum selesai dengan transaksi. Ini adalah kode sukses. |
Keterangan
Ketika driver minifilter mendaftarkan dirinya dengan memanggil FltRegisterFilter dari rutinitas DriverEntry-nya , ia dapat mendaftarkan rutinitas jenis PFLT_TRANSACTION_NOTIFICATION_CALLBACK sebagai rutinitas TransactionNotificationCallback minifilter.
Untuk mendaftarkan rutinitas TransactionNotificationCallback , driver minifilter menyimpan alamat rutinitas jenis PFLT_TRANSACTION_NOTIFICATION_CALLBACK di anggota TransactionNotificationCallback dari struktur FLT_REGISTRATION yang diteruskan driver minifilter sebagai parameter PendaftaranFltRegisterFilter.
Manajer filter memanggil rutinitas ini untuk memberi tahu driver minifilter tentang status transaksi tempat driver minifilter terdaftar.
Jika driver minifilter mengembalikan STATUS_PENDING dari rutinitas panggilan balik ini, akhirnya harus memanggil salah satu rutinitas berikut untuk menunjukkan bahwa ia telah selesai memproses pemberitahuan:
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Rutinitas PFLT_TRANSACTION_NOTIFICATION_CALLBACK tersedia di Windows Vista dan yang lebih baru. |
Target Platform | Desktop |
Header | fltkernel.h (termasuk Fltkernel.h) |
IRQL | PASSIVE_LEVEL |