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 値を返します。
リターン コード | 形容 |
---|---|
|
この状態値を返すは、ミニフィルター ドライバーがトランザクションで終了したことを示します。 これは成功コードです。 |
|
この状態値を返すは、ミニフィルター ドライバーがまだトランザクションで完了していないことを示します。 これは成功コードです。 |
備考
ミニフィルター ドライバーは、DriverEntry ルーチンから FltRegisterFilter 呼び出すことによって自身を登録するときに、ミニフィルターの TransactionNotificationCallback ルーチンとしてPFLT_TRANSACTION_NOTIFICATION_CALLBACK型のルーチンを登録できます。
TransactionNotificationCallback ルーチンを登録するために、ミニフィルター ドライバーは、fltRegisterFilter の 登録 パラメーターとして渡す FLT_REGISTRATION 構造体の TransactionNotificationCallback メンバーにPFLT_TRANSACTION_NOTIFICATION_CALLBACK型のルーチンのアドレス格納します。
フィルター マネージャーは、ミニフィルター ドライバーが参加しているトランザクションの状態についてミニフィルター ドライバーに通知するには、このルーチンを呼び出します。
ミニフィルター ドライバーがこのコールバック ルーチンからSTATUS_PENDINGを返す場合は、通知の処理が完了したことを示すために、最終的に次のいずれかのルーチンを呼び出す必要があります。
FltCommitComplete を する
FltPrepareComplete の
FltPrePrepareComplete を する
FltRollbackComplete を する
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | PFLT_TRANSACTION_NOTIFICATION_CALLBACK ルーチンは、Windows Vista 以降で使用できます。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | fltkernel.h (Fltkernel.h を含む) |
IRQL | PASSIVE_LEVEL |
関連項目
FltCommitComplete を する
FltPrePrepareComplete を する
FltPrepareComplete の
FltRegisterFilter の
FltRollbackComplete を する