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

호출자에 대한 불투명 인스턴스 포인터입니다. 이 매개 변수는 필수이며 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