FltCommitFinalizeComplete 함수(fltkernel.h)
FltCommitFinalizeComplete 루틴은 TRANSACTION_NOTIFY_COMMIT_FINALIZE 알림을 승인합니다.
통사론
NTSTATUS FLTAPI FltCommitFinalizeComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
매개 변수
[in] Instance
미니 필터 드라이버의 인스턴스에 대한 불투명 포인터입니다. 이 매개 변수는 필수이며 NULL 수 없습니다.
[in] Transaction
미니 필터 드라이버가 현재 등록되어 있는 트랜잭션에 대한 불투명 포인터입니다. 이 매개 변수는 필수이며 NULL 수 없습니다.
[in, optional] TransactionContext
트랜잭션에 대한 미니 필터 드라이버의 컨텍스트에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL 수 있습니다.
반환 값
FltCommitFinalizeComplete STATUS_SUCCESS 또는 다음과 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 묘사 |
---|---|
|
미니 필터 드라이버가 트랜잭션에 대한 컨텍스트를 설정하지 않았습니다. 오류 코드입니다. |
발언
트랜잭션에 참여하는 미니 필터 드라이버는 트랜잭션이 완전히 커밋될 때(즉, TxF같이 트랜잭션과 연결된 모든 리소스 관리자가 커밋된 경우) TRANSACTION_NOTIFY_COMMIT_FINALIZE 알림을 받을 수 있습니다. 트랜잭션 외부에서 검사를 수행하는 바이러스 백신 미니 필터 드라이버의 경우 이 알림 값을 사용하여 드라이버가 파일 검색을 시작해야 하는 시기를 결정할 수 있습니다.
필터 관리자는 미니 필터 드라이버에 TRANSACTION_NOTIFY_COMMIT_FINALIZE 알림을 보내기 위해 미니 필터 드라이버의 TransactionNotificationCallback 루틴을 호출합니다. 미니 필터 드라이버는 다음 두 가지 방법 중 하나로 이 알림을 승인합니다.
- 미니 필터 드라이버의 TransactionNotificationCallback 루틴은 필요한 처리를 수행하고 STATUS_SUCCESS 반환합니다. (이 경우 미니 필터 드라이버는 FltCommitFinalizeComplete를 호출하지 않습니다.)
- 미니 필터 드라이버의 TransactionNotificationCallback 루틴은 필요한 처리를 작업자 스레드에 게시하고 STATUS_PENDING 반환합니다. 처리를 비동기적으로 수행한 후 미니 필터 드라이버의 작업자 스레드 루틴은 FltCommitFinalizeComplete 호출하여 이 처리가 완료되었음을 나타내야 합니다. 미니 필터 드라이버의 작업자 스레드 루틴이 fltCommitFinalizeComplete 호출하지 않으면 특정 시스템 리소스가 유출됩니다.
트랜잭션에 참여하려면 FltEnlistInTransaction호출합니다.
새 트랜잭션 컨텍스트를 할당하려면 FltAllocateContext호출합니다.
트랜잭션 컨텍스트를 검색하려면 FltGetTransactionContext호출합니다.
트랜잭션 컨텍스트를 삭제하려면 FltDeleteTransactionContext 또는 fltDeleteContext 호출합니다.
트랜잭션 컨텍스트를 설정하려면 FltSetTransactionContext호출합니다.
자세한 내용은 트랜잭션 알림참조하세요.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista SP1(서비스 팩 1) 이상에서 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | Fltmgr.lib |
IRQL | <= APC_LEVEL |