FltPrePrepareComplete 関数 (fltkernel.h)
FltPreprepareComplete ルーチンは、TRANSACTION_NOTIFY_PREPREPARE通知を確認します。
構文
NTSTATUS FLTAPI FltPrePrepareComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
パラメーター
[in] Instance
呼び出し元の不透明なインスタンス ポインター。
[in] Transaction
トランザクションの不透明なトランザクション ポインター。
[in, optional] TransactionContext
ミニフィルター ドライバーのトランザクション コンテキストへのポインター。
戻り値
FltPrePrepareComplete は、次のようなSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。
リターン コード | 形容 |
---|---|
|
ミニフィルター ドライバーは、トランザクションにコンテキストを設定しませんでした。 これはエラー コードです。 |
備考
トランザクションに参加しているミニフィルター ドライバーは、トランザクションがコミットフェーズの事前準備に入ったときにTRANSACTION_NOTIFY_PREPREPARE通知を受け取ることができます。 ミニフィルター ドライバーに通知を送信するには、フィルター マネージャーは、ミニフィルター ドライバーの TransactionNotificationCallback ルーチンを呼び出します。 ミニフィルター ドライバーは、次の 2 つの方法のいずれかでこの通知を確認します。
- ミニフィルター ドライバーの TransactionNotificationCallback ルーチンは、必要な処理を実行し、STATUS_SUCCESSを返します。 この場合、ミニフィルター ドライバーは FltPrePrepareComplete 呼び出しません。
- ミニフィルター ドライバーの TransactionNotificationCallback ルーチンは、ワーカー スレッドに必要な処理をポストし、STATUS_PENDINGを返します。 処理を非同期的に実行した後、ミニフィルター ドライバーの作業ルーチンは、FltPrePrepareComplete 呼び出して、この処理が完了したことを示す必要があります。 ミニフィルター ドライバーの作業ルーチンが FltPrePrepareComplete 呼び出さない場合は、カーネル トランザクション マネージャーがトランザクションの事前準備操作を完了できません。
トランザクションに参加するには、FltEnlistInTransaction 呼び出します。
新しいトランザクション コンテキストを割り当てるには、FltAllocateContext 呼び出します。
トランザクション コンテキストを取得するには、FltGetTransactionContext 呼び出します。
トランザクション コンテキストを削除するには、FltDeleteTransactionContext 呼び出すか、FltDeleteContext します。
トランザクション コンテキストを設定するには、FltSetTransactionContext を呼び出します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | このルーチンは、Windows Vista 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | fltkernel.h (Fltkernel.h を含む) |
ライブラリ | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
関連項目
FltAllocateContext の
FltCommitComplete を する
FltDeleteContext の
FltDeleteTransactionContext の
FltEnlistInTransaction を する
FltGetTransactionContext の
FltPrepareComplete の
FltRegisterFilter の
FltReleaseContext の
FltRollbackComplete を する
FltRollbackEnlistment の
FltSetTransactionContext の