Bagikan melalui


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
STATUS_SUCCESS
Mengembalikan nilai status ini menunjukkan bahwa driver minifilter selesai dengan transaksi. Ini adalah kode sukses.
STATUS_PENDING
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:

FltCommitComplete

FltPrepareComplete

FltPreprepareComplete

FltRollbackComplete

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

Lihat juga

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FltCommitComplete

FltPreprepareComplete

FltPrepareComplete

FltRegisterFilter

FltRollbackComplete