FltPrepareComplete 함수(fltkernel.h)
FltPrepareComplete 루틴은 TRANSACTION_NOTIFY_PREPARE 알림을 승인합니다.
통사론
NTSTATUS FLTAPI FltPrepareComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
매개 변수
[in] Instance
호출자에 대한 불투명 인스턴스 포인터입니다.
[in] Transaction
트랜잭션에 대한 불투명 트랜잭션 포인터입니다.
[in, optional] TransactionContext
미니 필터 드라이버의 트랜잭션 컨텍스트에 대한 포인터입니다.
반환 값
FltPrepareComplete STATUS_SUCCESS 또는 다음과 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 묘사 |
---|---|
|
미니 필터 드라이버가 트랜잭션에 대한 컨텍스트를 설정하지 않았습니다. 오류 코드입니다. |
발언
트랜잭션에 참여하는 미니 필터 드라이버는 트랜잭션이 커밋 준비 단계에 들어갈 때 TRANSACTION_NOTIFY_PREPARE 알림을 받을 수 있습니다. 미니 필터 드라이버에 알림을 보내기 위해 필터 관리자는 미니 필터 드라이버의 TransactionNotificationCallback 루틴을 호출합니다. 미니 필터 드라이버는 다음 두 가지 방법 중 하나로 이 알림을 승인합니다.
- 미니 필터 드라이버의 TransactionNotificationCallback 루틴은 필요한 처리를 수행하고 STATUS_SUCCESS 반환합니다. 이 경우 미니 필터 드라이버는 fltPrepareComplete 호출하지 않습니다.
- 미니 필터 드라이버의 TransactionNotificationCallback 루틴은 필요한 처리를 작업자 스레드에 게시하고 STATUS_PENDING 반환합니다. 처리를 비동기적으로 수행한 후 미니 필터 드라이버의 작업 루틴은 FltPrepareComplete 호출하여 이 처리가 완료되었음을 나타내야 합니다. 미니 필터 드라이버의 작업 루틴이 FltPrepareComplete호출하지 않으면 커널 트랜잭션 관리자가 트랜잭션 준비 작업을 완료할 수 없습니다.
트랜잭션에 참여하려면 FltEnlistInTransaction호출합니다.
새 트랜잭션 컨텍스트를 할당하려면 FltAllocateContext호출합니다.
트랜잭션 컨텍스트를 검색하려면 FltGetTransactionContext호출합니다.
트랜잭션 컨텍스트를 삭제하려면 FltDeleteTransactionContext 또는 fltDeleteContext 호출합니다.
트랜잭션 컨텍스트를 설정하려면 FltSetTransactionContext호출합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | FltPrepareComplete 루틴은 Windows Vista 이상에서 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |