次の方法で共有


PFLT_TRANSACTION_NOTIFICATION_CALLBACK コールバック関数 (fltkernel.h)

ミニフィルター ドライバーは、 TransactionNotificationCallback ルーチンとしてPFLT_TRANSACTION_NOTIFICATION_CALLBACK型のルーチンを登録できます。

構文

PFLT_TRANSACTION_NOTIFICATION_CALLBACK PfltTransactionNotificationCallback;

NTSTATUS PfltTransactionNotificationCallback(
  [in] PCFLT_RELATED_OBJECTS FltObjects,
  [in] PFLT_CONTEXT TransactionContext,
  [in] ULONG NotificationMask
)
{...}

パラメーター

[in] FltObjects

現在 の操作 に関連するオブジェクトの不透明なポインターを含むFLT_RELATED_OBJECTS構造体へのポインター。

[in] TransactionContext

ミニフィルター ドライバーのトランザクション コンテキストへのポインター。

[in] NotificationMask

フィルター マネージャーがミニフィルター ドライバーに送信する通知の種類を、次のいずれかの値として指定します。

意味
TRANSACTION_NOTIFY_COMMIT この通知は、トランザクションがコミットされるときに送信されます。
TRANSACTION_NOTIFY_COMMIT_FINALIZE Windows Vista SP1 以降の場合、この通知は、トランザクションが完全にコミットされた場合 (つまり、TxF などのトランザクションに関連付けられているすべてのリソース マネージャーがコミットされた場合) に送信されます。
TRANSACTION_NOTIFY_PREPARE この通知は、トランザクションがコミット準備フェーズに入ると送信されます。
TRANSACTION_NOTIFY_PREPREPARE この通知は、トランザクションがコミットの事前準備フェーズに入ると送信されます。
TRANSACTION_NOTIFY_ROLLBACK この通知は、トランザクションがロールバックまたは中止されるときに送信されます。

戻り値

PFLT_TRANSACTION_NOTIFICATION_CALLBACK ルーチンは、次のいずれかの NTSTATUS 値を返します。

リターン コード 説明
STATUS_SUCCESS
この状態値を返すは、ミニフィルター ドライバーがトランザクションで終了したことを示します。 これは成功コードです。
STATUS_PENDING
この状態値を返すは、ミニフィルター ドライバーがまだトランザクションで完了されていないことを示します。 これは成功コードです。

注釈

ミニフィルター ドライバーは、DriverEntry ルーチンから FltRegisterFilter を呼び出して自身を登録するときに、ミニフィルターの TransactionNotificationCallback ルーチンとしてPFLT_TRANSACTION_NOTIFICATION_CALLBACK型のルーチンを登録できます。

TransactionNotificationCallback ルーチンを登録するために、ミニフィルター ドライバーは、ミニフィルター ドライバーが FltRegisterFilterRegistration パラメーターとして渡すFLT_REGISTRATION構造体の TransactionNotificationCallback メンバーにPFLT_TRANSACTION_NOTIFICATION_CALLBACK型のルーチンのアドレスを格納します。

フィルター マネージャーは、ミニフィルター ドライバーが参加しているトランザクションの状態についてミニフィルター ドライバーに通知するには、このルーチンを呼び出します。

ミニフィルター ドライバーがこのコールバック ルーチンからSTATUS_PENDINGを返す場合は、通知の処理が完了したことを示すために、最終的に次のいずれかのルーチンを呼び出す必要があります。

FltCommitComplete

FltPrepareComplete

FltPrePrepareComplete

FltRollbackComplete

要件

要件
サポートされている最小のクライアント PFLT_TRANSACTION_NOTIFICATION_CALLBACK ルーチンは、Windows Vista 以降で使用できます。
対象プラットフォーム デスクトップ
Header fltkernel.h (Fltkernel.h を含む)
IRQL PASSIVE_LEVEL

こちらもご覧ください

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FltCommitComplete

FltPrePrepareComplete

FltPrepareComplete

FltRegisterFilter

FltRollbackComplete