Fungsi FltCommitComplete (fltkernel.h)
Rutinitas FltCommitComplete mengakui pemberitahuan TRANSACTION_NOTIFY_COMMIT.
Sintaks
NTSTATUS FLTAPI FltCommitComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
Parameter
[in] Instance
Penunjuk instans buram untuk pemanggil.
[in] Transaction
Penunjuk transaksi buram untuk transaksi.
[in, optional] TransactionContext
Arahkan ke konteks driver minifilter untuk transaksi. Parameter ini bersifat opsional dan dapat berupa NULL.
Nilai kembali
FltCommitComplete mengembalikan STATUS_SUCCESS atau nilai NTSTATUS yang sesuai seperti berikut ini:
Menampilkan kode | Deskripsi |
---|---|
|
Driver minifilter tidak menetapkan konteks pada transaksi. Ini adalah kode kesalahan. |
Keterangan
Rutinitas ini tersedia pada Windows Vista dan yang lebih baru.
Driver minifilter yang terdaftar dalam transaksi dapat menerima pemberitahuan TRANSACTION_NOTIFY_COMMIT ketika transaksi sedang dalam proses dilakukan. Untuk mengirim pemberitahuan ke driver minifilter, manajer filter memanggil rutinitas TransactionNotificationCallback driver minifilter. Driver minifilter mengakui pemberitahuan ini dengan salah satu dari dua cara:
- Rutinitas TransactionNotificationCallback driver minifilter melakukan pemrosesan dan pengembalian yang diperlukan STATUS_SUCCESS. Dalam hal ini, driver minifilter tidak memanggil FltCommitComplete.
- TransactionNotificationCallback driver minifilter memposting setiap pemrosesan yang diperlukan ke utas pekerja dan mengembalikan STATUS_PENDING. Setelah melakukan pemrosesan secara asinkron, rutinitas kerja driver minifilter harus memanggil FltCommitComplete untuk menunjukkan bahwa ia telah menyelesaikan pemrosesan ini. Jika rutinitas kerja driver minifilter tidak memanggil FltCommitComplete, operasi penerapan transaksi tidak dapat diselesaikan oleh manajer transaksi kernel.
Untuk mendaftar dalam transaksi, panggil FltEnlistInTransaction.
Untuk mengalokasikan konteks transaksi baru, panggil FltAllocateContext.
Untuk mengambil konteks transaksi, panggil FltGetTransactionContext.
Untuk menghapus konteks transaksi, panggil FltDeleteTransactionContext atau FltDeleteContext.
Untuk mengatur konteks transaksi, panggil FltSetTransactionContext.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | fltkernel.h (termasuk Fltkernel.h) |
Pustaka | Fltmgr.lib |
IRQL | PASSIVE_LEVEL |