Bagikan melalui


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
STATUS_NOT_FOUND
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 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.

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

Lihat juga

FLT_REGISTRATION

FltAllocateContext

FltDeleteContext

FltDeleteTransactionContext

FltEnlistInTransaction

FltGetTransactionContext

FltPreprepareComplete

FltPrepareComplete

FltRegisterFilter

FltReleaseContext

FltRollbackComplete

FltRollbackEnlistment

FltSetTransactionContext

PFLT_TRANSACTION_NOTIFICATION_CALLBACK