PFLT_TRANSACTION_NOTIFICATION_CALLBACK 콜백 함수(fltkernel.h)

미니필터 드라이버는 PFLT_TRANSACTION_NOTIFICATION_CALLBACK 형식의 루틴을 TransactionNotificationCallback 루틴으로 등록할 수 있습니다.

구문

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를 호출하여 자신을 등록하는 경우 PFLT_TRANSACTION_NOTIFICATION_CALLBACK 형식의 루틴을 미니필터의 TransactionNotificationCallback 루틴으로 등록할 수 있습니다.

TransactionNotificationCallback 루틴을 등록하기 위해 미니필터 드라이버는 미니필터 드라이버가 FltRegisterFilterRegistration 매개 변수로 전달하는 FLT_REGISTRATION 구조체의 TransactionNotificationCallback 멤버에 PFLT_TRANSACTION_NOTIFICATION_CALLBACK 형식의 루틴 주소를 저장합니다.

필터 관리자는 이 루틴을 호출하여 미니필터 드라이버가 참여하는 트랜잭션의 상태 대해 미니필터 드라이버에 알립니다.

미니필터 드라이버가 이 콜백 루틴에서 STATUS_PENDING 반환하는 경우 결국 다음 루틴 중 하나를 호출하여 알림 처리를 완료했음을 나타내야 합니다.

FltCommitComplete

FltPrepareComplete

FltPrepareComplete

FltRollbackComplete

요구 사항

요구 사항
지원되는 최소 클라이언트 PFLT_TRANSACTION_NOTIFICATION_CALLBACK 루틴은 Windows Vista 이상에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 fltkernel.h(Fltkernel.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FltCommitComplete

FltPrepareComplete

FltPrepareComplete

FltRegisterFilter

FltRollbackComplete