다음을 통해 공유


FltFsControlFile 함수(fltkernel.h)

FltFsControlFile 루틴은 컨트롤 코드를 지정된 파일 시스템 또는 파일 시스템 필터 드라이버로 직접 보내 해당 드라이버가 지정된 작업을 수행하도록 합니다.

구문

NTSTATUS FLTAPI FltFsControlFile(
  [in]            PFLT_INSTANCE Instance,
  [in]            PFILE_OBJECT  FileObject,
  [in]            ULONG         FsControlCode,
  [in, optional]  PVOID         InputBuffer,
  [in]            ULONG         InputBufferLength,
  [out, optional] PVOID         OutputBuffer,
  [in]            ULONG         OutputBufferLength,
  [out, optional] PULONG        LengthReturned
);

매개 변수

[in] Instance

호출자에 대한 불투명 instance 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[in] FileObject

이 요청의 대상인 파일 또는 디렉터리에 대한 파일 개체 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[in] FsControlCode

FSCTL_ 수행할 파일 시스템 작업을 나타내는 XXX 코드입니다. 이 매개 변수의 값은 InputBuffer 및 OutputBuffer의 형식과 필수 길이를 결정하고 다음 매개 변수 쌍(InputBuffer 및 InputBufferLength, OutputBuffer 및 OutputBufferLength)이 필요한 매개 변수 쌍을 결정합니다.

[in, optional] InputBuffer

대상 드라이버에 부여할 디바이스별 정보를 포함하는 호출자가 할당한 입력 버퍼에 대한 포인터입니다. FsControlCode 매개 변수가 입력 데이터가 필요하지 않은 작업을 지정하는 경우 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

[in] InputBufferLength

InputBuffer의 버퍼 크기(바이트)입니다. InputBufferNULL인 경우 이 값은 무시됩니다.

[out, optional] OutputBuffer

대상 드라이버에서 정보를 반환하는 호출자가 할당한 출력 버퍼에 대한 포인터입니다. FsControlCode 매개 변수가 출력 데이터가 필요하지 않은 작업을 지정하는 경우 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

[in] OutputBufferLength

OutputBuffer의 버퍼 크기(바이트)입니다. OutputBufferNULL인 경우 이 값은 무시됩니다.

[out, optional] LengthReturned

OutputBuffer에서 버퍼에 반환된 정보의 크기(바이트)를 수신하는 호출자 할당 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

반환 값

FltFsControlFile 은 STATUS_SUCCESS 또는 적절한 NTSTATUS 값을 반환합니다.

설명

미니필터 드라이버는 ZwFsControlFile 대신 이 루틴을 호출해야 합니다.

커널 모드 드라이버에 대해 현재 문서화된 FSCTL 코드는 다음과 같습니다.

FSCTL_DELETE_REPARSE_POINT

FSCTL_GET_REPARSE_POINT

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FSCTL_SET_REPARSE_POINT

시스템 정의 FSCTL_XXX 코드에 대한 자세한 내용은 Microsoft Windows SDK 설명서에서 DeviceIoControl에 대한 참조 항목의 설명 섹션을 참조하세요.

요구 사항

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

추가 정보

FltDeviceIoControlFile

ZwFsControlFile