Fungsi FltPrepareComplete (fltkernel.h)
Rutinitas FltPrepareComplete mengakui pemberitahuan TRANSACTION_NOTIFY_PREPREPARE.
Sintaks
NTSTATUS FLTAPI FltPrePrepareComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
Parameter
[in] Instance
Penunjuk instans buram untuk pemanggil.
[in] Transaction
Pointer transaksi buram untuk transaksi.
[in, optional] TransactionContext
Arahkan ke konteks transaksi driver minifilter.
Nilai kembali
FltPrepareComplete mengembalikan nilai STATUS_SUCCESS atau NTSTATUS yang sesuai, seperti berikut ini:
Menampilkan kode | Deskripsi |
---|---|
|
Driver minifilter tidak menetapkan konteks pada transaksi. Ini adalah kode kesalahan. |
Keterangan
Driver minifilter yang terdaftar dalam transaksi dapat menerima pemberitahuan TRANSACTION_NOTIFY_PREPREPARE ketika transaksi memasuki fase pra-persiapan untuk penerapan. 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 yang diperlukan dan mengembalikan STATUS_SUCCESS. Dalam hal ini, driver minifilter tidak memanggil FltPreprepareComplete.
- Rutinitas TransactionNotificationCallback driver minifilter memposting pemrosesan yang diperlukan ke utas pekerja dan mengembalikan STATUS_PENDING. Setelah melakukan pemrosesan secara asinkron, rutinitas kerja driver minifilter harus memanggil FltPrepareComplete untuk menunjukkan bahwa ia telah menyelesaikan pemrosesan ini. Jika rutinitas kerja driver minifilter tidak memanggil FltPrepareComplete, operasi pra-persiapan 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 |
---|---|
Klien minimum yang didukung | Rutinitas ini tersedia di Windows Vista dan yang lebih baru. |
Target Platform | Universal |
Header | fltkernel.h (termasuk Fltkernel.h) |
Pustaka | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |