FsRtlInsertPerFileObjectContext 함수(ntifs.h)

"레거시" 파일 시스템 필터 드라이버의 경우 FsRtlInsertPerFileObjectContext 함수는 컨텍스트 정보를 파일 개체와 연결합니다.

구문

NTSTATUS FsRtlInsertPerFileObjectContext(
  [in] PFILE_OBJECT                  FileObject,
  [in] PFSRTL_PER_FILEOBJECT_CONTEXT Ptr
);

매개 변수

[in] FileObject

컨텍스트 정보를 연결할 파일 개체에 대한 포인터입니다( Ptr 매개 변수에서 제공).

[in] Ptr

FileObject와 연결할 호출자가 할당하고 초기화된 FSRTL_PER_FILEOBJECT_CONTEXT 구조체에 대한 포인터입니다. 구조체를 있는 그대로 사용하거나 드라이버 정의 파일 개체별 컨텍스트 정보 구조에 포함할 수 있습니다. 구조를 초기화하려면 FsRtlInitPerFileObjectContext 매크로를 사용합니다.

반환 값

FsRtlInsertPerFileObjectContext 는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.

반환 코드 설명
STATUS_SUCCESS
컨텍스트 정보 구조가 파일 개체와 성공적으로 연결되었습니다.
STATUS_INVALID_PARAMETER
FileObject 매개 변수는 NULL입니다.
STATUS_INSUFFICIENT_RESOURCES
시스템에 작업을 완료할 수 있는 충분한 리소스가 부족합니다. 예를 들어 FileObject에 파일 개체 확장자를 할당할 수 없습니다.

설명

파일 시스템 필터 드라이버는 FsRtlInsertPerFileObjectContext 를 호출하여 파일 개체별 자체 컨텍스트 구조를 파일 개체와 연결합니다. 컨텍스트 구조에는 필터 드라이버가 파일 개체에 대해 유지 관리하는 컨텍스트 정보가 포함됩니다. FsRtlInsertPerStreamContext 함수는 FileObject의 컨텍스트 목록에 Ptr 컨텍스트 구조를 삽입합니다.

모든 파일-개체별 컨텍스트 정보 구조는 초기화된 FSRTL_PER_FILEOBJECT_CONTEXT 구조체이거나 포함되어야 합니다. FsRtlInitPerFileObjectContext 매크로를 사용하여 FSRTL_PER_FILEOBJECT_CONTEXT 구조를 초기화합니다.

FSRTL_PER_FILEOBJECT_CONTEXT 구조 또는 필터 정의 파일 개체별 컨텍스트 구조(초기화된 FSRTL_PER_FILEOBJECT_CONTEXT 구조 포함)가 파일 개체와 연결되면 FsRtlLookupPerFileObjectContext 를 호출하여 검색하거나 FsRtlRemovePerFileObjectContext를 호출하여 제거할 수 있습니다.

참고 파일 시스템 미니필터 드라이버는 FsRtlXxxPerFileObjectContext 함수를 사용하면 안 됩니다. 대신, 미니필터는 FltXxxContext 함수를 사용하여 컨텍스트 정보를 파일 개체와 연결할 수 있습니다. 전체 목록은 FSRTL_PER_FILEOBJECT_CONTEXT 항목을 참조하세요.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
대상 플랫폼 유니버설
헤더 ntifs.h(Fltkernel.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

추가 정보

FSRTL_PER_FILEOBJECT_CONTEXT

FsRtlInitPerFileObjectContext

FsRtlLookupPerFileObjectContext

FsRtlRemovePerFileObjectContext