FltRegisterFilter 함수(fltkernel.h)
FltRegisterFilter 미니 필터 드라이버를 등록합니다.
통사론
NTSTATUS FLTAPI FltRegisterFilter(
[in] PDRIVER_OBJECT Driver,
[in] const FLT_REGISTRATION *Registration,
[out] PFLT_FILTER *RetFilter
);
매개 변수
[in] Driver
미니 필터 드라이버의 드라이버 개체에 대한 포인터입니다. 미니 필터 드라이버의 DriverEntry 루틴에 입력으로 전달된 것과 동일한 드라이버 개체 포인터여야 합니다.
[in] Registration
호출자가 할당한 미니 필터 드라이버 등록 구조(FLT_REGISTRATION)에 대한 포인터입니다.
[out] RetFilter
호출자에 대한 불투명 필터 포인터를 수신하는 호출자 할당 변수에 대한 포인터입니다.
반환 값
FltRegisterFilter STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 묘사 |
---|---|
|
FltRegisterFilter 풀 할당 오류가 발생했습니다. 오류 코드입니다. |
|
다음 중 하나입니다.
|
|
필터가 등록하려고 할 때 필터 관리자가 초기화되지 않았습니다. 필터 관리자가 드라이버로 로드되었는지 확인합니다. 오류 코드입니다. |
|
레지스트리에서 필터 서비스 키를 찾을 수 없습니다.
-또는- 필터 인스턴스가 등록되지 않았습니다. |
발언
모든 미니 필터 드라이버는 등록된 미니 필터 드라이버의 전역 목록에 자신을 추가하고 필터 관리자에 콜백 함수 목록 및 미니 필터 드라이버에 대한 기타 정보를 제공하기 위해 DriverEntry 루틴에서 FltRegisterFilter 호출해야 합니다.
FltRegisterFilter *RetFilter미니 필터 드라이버에 대한 불투명 필터 포인터를 반환합니다. 이 포인터 값은 미니 필터 드라이버를 고유하게 식별하고 미니 필터 드라이버가 로드되는 한 일정하게 유지됩니다. FltStartFiltering 및 fltUnregisterFilter 필수 매개 변수이므로 미니 필터 드라이버는 이 포인터를 저장해야 합니다.
FltRegisterFilter호출한 후 미니 필터 드라이버는 일반적으로 FltStartFiltering 호출하여 I/O 작업 필터링을 시작합니다.
미니 필터 드라이버는 다른 미니 필터 드라이버가 아닌 FltRegisterFilter 호출하여 등록할 수 있습니다.
자체 등록을 취소하기 위해 미니 필터 드라이버는 FltUnregisterFilter호출합니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |