다음을 통해 공유


FltGetContextsEx 함수(fltkernel.h)

FltGetContextsEx 루틴은 현재 작업과 관련된 개체에 대한 미니필터 드라이버의 컨텍스트를 검색합니다.

구문

NTSTATUS FLTAPI FltGetContextsEx(
  [in]  PCFLT_RELATED_OBJECTS    FltObjects,
  [in]  FLT_CONTEXT_TYPE         DesiredContexts,
  [in]  SIZE_T                   ContextsSize,
  [out] PFLT_RELATED_CONTEXTS_EX Contexts
);

매개 변수

[in] FltObjects

현재 작업과 관련된 개체에 대한 불투명 포인터를 포함하는 FLT_RELATED_OBJECTS 구조체에 대한 포인터입니다. 자세한 내용은 설명 부분을 참조하십시오.

[in] DesiredContexts

검색할 컨텍스트의 형식을 식별합니다. 이 매개 변수는 다음 값의 비트 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 020040
FLT_ALL_CONTEXTS 모든 컨텍스트 값의 비트 OR

[in] ContextsSize

컨텍스트가 가리키는 FLT_RELATED_CONTEXTS_EX 구조체의 크기(바이트) 입니다. sizeof(FLT_RELATED_CONTEXTS_EX)로 설정합니다.

[out] Contexts

요청된 컨텍스트를 수신하는 호출자가 할당한 FLT_RELATED_CONTEXTS 구조체에 대한 포인터입니다. 이 매개 변수는 필수이며 NULL로 설정할 수 없습니다. FltMgr은 다음을 위해 구조체 멤버를 0으로 설정합니다.

  • 호출자가 요청하지 않은 컨텍스트입니다.
  • 호출자가 요청했지만 FltMgr을 찾을 수 없는 컨텍스트입니다.

반환 값

FltGetContextsEx는 성공적으로 완료되면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 다음 중 하나와 같은 상태 코드를 반환합니다.

코드 의미
STATUS_INVALID_PARAMETER 잘못된 컨텍스트 값이 입력되었습니다.

설명

컨텍스트에 대한 자세한 내용은 미니필터 컨텍스트 정보를 참조하세요.

미니필터 드라이버는 FltGetContextsEx 를 호출하여 FLT_RELATED_OBJECTS 구조체의 개체에 대한 컨텍스트에 대한 포인터를 검색합니다. STATUS_SUCCESS 미니필터는 컨텍스트를 사용하기 전에 컨텍스트가 0이 아니라는 것을 검사 합니다.

다음 미니필터 드라이버 콜백 루틴 형식은 FltObjects 입력 매개 변수로 FLT_RELATED_OBJECTS 구조체에 대한 포인터를 받습니다.

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

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
대상 플랫폼 유니버설
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

추가 정보

FLT_RELATED_CONTEXTS_EX

FLT_RELATED_OBJECTS

FltRegisterFilter

FltReleaseContext

FltReleaseContextsEx

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK