FltCommitComplete 함수(fltkernel.h)
FltCommitComplete 루틴은 TRANSACTION_NOTIFY_COMMIT 알림을 승인합니다.
구문
NTSTATUS FLTAPI FltCommitComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
매개 변수
[in] Instance
호출자에 대한 불투명 instance 포인터입니다.
[in] Transaction
트랜잭션에 대한 불투명 트랜잭션 포인터입니다.
[in, optional] TransactionContext
트랜잭션에 대한 미니필터 드라이버의 컨텍스트에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
반환 값
FltCommitComplete 는 STATUS_SUCCESS 또는 다음과 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
미니필터 드라이버가 트랜잭션에 대한 컨텍스트를 설정하지 않았습니다. 오류 코드입니다. |
설명
이 루틴은 Windows Vista 이상에서 사용할 수 있습니다.
트랜잭션에 참여하는 미니필터 드라이버는 트랜잭션이 커밋되는 중일 때 TRANSACTION_NOTIFY_COMMIT 알림을 받을 수 있습니다. 미니필터 드라이버에 알림을 보내기 위해 필터 관리자는 미니필터 드라이버의 TransactionNotificationCallback 루틴을 호출합니다. 미니필터 드라이버는 다음 두 가지 방법 중 하나로 이 알림을 승인합니다.
- 미니필터 드라이버의 TransactionNotificationCallback 루틴은 필요한 처리를 수행하고 STATUS_SUCCESS 반환합니다. 이 경우 미니필터 드라이버는 FltCommitComplete를 호출하지 않습니다.
- 미니필터 드라이버의 TransactionNotificationCallback 루틴은 필요한 모든 처리를 작업자 스레드에 게시하고 STATUS_PENDING 반환합니다. 처리를 비동기적으로 수행한 후 미니필터 드라이버의 작업 루틴은 FltCommitComplete 를 호출하여 이 처리를 완료했음을 나타내야 합니다. 미니필터 드라이버의 작업 루틴이 FltCommitComplete를 호출하지 않으면 커널 트랜잭션 관리자가 트랜잭션 커밋 작업을 완료할 수 없습니다.
트랜잭션에 참여하려면 FltEnlistInTransaction을 호출합니다.
새 트랜잭션 컨텍스트를 할당하려면 FltAllocateContext를 호출합니다.
트랜잭션 컨텍스트를 검색하려면 FltGetTransactionContext를 호출합니다.
트랜잭션 컨텍스트를 삭제하려면 FltDeleteTransactionContext 또는 FltDeleteContext를 호출합니다.
트랜잭션 컨텍스트를 설정하려면 FltSetTransactionContext를 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | Fltmgr.lib |
IRQL | PASSIVE_LEVEL |