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 구조체에 대한 포인터를 받습니다.

FltGetContextsContexts 매개 변수가 가리키는 FLT_RELATED_CONTEXTS 구조에서 반환된 각 컨텍스트에 대한 참조 수를 증가합니다. 따라서 FltGetContexts에 대한 모든 성공적인 호출에 대해 호출자는 다음 중 하나를 수행해야 합니다.

  • Contexts 매개 변수가 가리키는 전체 구조체에 대해 FltReleaseContexts를 호출합니다.
  • 구조체에서 반환된 각 컨텍스트에 대해 FltReleaseContext 를 호출하고 구조체에서 반환된 각 컨텍스트 필드를 0으로 설정합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

추가 정보

FLT_RELATED_CONTEXTS

FLT_RELATED_OBJECTS

FltGetContextsEx

FltRegisterFilter

FltReleaseContext

FltReleaseContexts

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK