FltGetContexts 함수(fltkernel.h)
FltGetContexts 루틴은 현재 작업과 관련된 개체에 대한 미니필터 드라이버의 컨텍스트를 검색합니다.
구문
VOID FLTAPI FltGetContexts(
PCFLT_RELATED_OBJECTS FltObjects,
FLT_CONTEXT_TYPE DesiredContexts,
PFLT_RELATED_CONTEXTS Contexts
);
매개 변수
FltObjects
[in] 현재 작업과 관련된 개체에 대한 불투명 포인터를 포함하는 FLT_RELATED_OBJECTS 구조체에 대한 포인터입니다. 이 매개 변수에 대한 자세한 내용은 설명 섹션을 참조하세요.
DesiredContexts
[in] 검색할 컨텍스트 유형을 식별합니다. 이 매개 변수는 다음 값의 비트 OR일 수 있습니다.
상수 | 값 |
---|---|
FLT_VOLUME_CONTEXT | 0x0001 |
FLT_INSTANCE_CONTEXT | 0x0002 |
FLT_FILE_CONTEXT | 0x0004 |
FLT_STREAM_CONTEXT | 0x0008 |
FLT_STREAMHANDLE_CONTEXT | 0x0010 |
FLT_TRANSACTION_CONTEXT | 0x0020 |
FLT_SECTION_CONTEXT(Windows 8 시작) | 020040 |
FLT_ALL_CONTEXTS | 모든 컨텍스트 값의 비트 OR |
Contexts
[out] 요청된 컨텍스트를 수신하는 호출자가 할당한 FLT_RELATED_CONTEXTS 구조체에 대한 포인터입니다. 이 매개 변수는 필수이며 NULL로 설정할 수 없습니다. FltMgr은 다음을 위해 구조체 멤버를 0으로 설정합니다.
- 호출자가 요청하지 않은 컨텍스트입니다.
- 호출자가 요청했지만 FltMgr을 찾을 수 없는 컨텍스트입니다.
반환 값
없음
설명
컨텍스트에 대한 자세한 내용은 미니필터 컨텍스트 정보를 참조하세요.
미니필터 드라이버는 FltGetContexts 를 호출하여 FLT_RELATED_OBJECTS 구조체의 개체에 대한 미니필터 드라이버의 컨텍스트에 대한 포인터를 검색합니다.
다음 미니필터 드라이버 콜백 루틴 형식은 fltObjects 입력 매개 변수로 FLT_RELATED_OBJECTS 구조체에 대한 포인터를 받습니다.
- PFLT_PRE_OPERATION_CALLBACK
- PFLT_POST_OPERATION_CALLBACK
- PFLT_INSTANCE_SETUP_CALLBACK
- PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
- PFLT_INSTANCE_TEARDOWN_CALLBACK
FltGetContexts는 Contexts 매개 변수가 가리키는 FLT_RELATED_CONTEXTS 구조에서 반환된 각 컨텍스트에 대한 참조 수를 증가합니다. 따라서 FltGetContexts에 대한 모든 성공적인 호출에 대해 호출자는 다음 중 하나를 수행해야 합니다.
- Contexts 매개 변수가 가리키는 전체 구조체에 대해 FltReleaseContexts를 호출합니다.
- 구조체에서 반환된 각 컨텍스트에 대해 FltReleaseContext 를 호출하고 구조체에서 반환된 각 컨텍스트 필드를 0으로 설정합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
추가 정보
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK