다음을 통해 공유


FSCTL_GET_NTFS_FILE_RECORD IOCTL(winioctl.h)

사용 중이고 서수 값이 요청된 파일 참조 번호보다 작거나 같은 첫 번째 파일 레코드를 검색합니다.

이 작업을 수행하려면 다음 매개 변수를 사용하여 DeviceIoControl 함수를 호출합니다.

BOOL DeviceIoControl(
  (HANDLE) hDevice,                 // handle to device
  FSCTL_GET_NTFS_FILE_RECORD,       // dwIoControlCode
  (LPVOID) lpInBuffer,              // input buffer
  (DWORD) nInBufferSize,            // size of input buffer
  (LPVOID) lpOutBuffer,             // output buffer
  (DWORD) nOutBufferSize,           // size of output buffer
  (LPDWORD) lpBytesReturned,        // number of bytes returned
  (LPOVERLAPPED) lpOverlapped       // OVERLAPPED structure
);

설명

이 컨트롤 코드는 파일 식별자를 하향식으로 열거하고 항상 사용 중인 파일 레코드를 반환합니다. 즉, 이 컨트롤 코드에서 반환된 파일 식별자가 입력 버퍼에 지정된 파일 식별자와 동일하지 않을 수 있습니다. 예를 들어 파일 식별자 1~9 및 15가 사용 중이면 파일 식별자 10~14가 사용되지 않고 파일 식별자 15에 해당하는 파일 레코드가 요청되면 해당 파일 레코드가 반환됩니다.

파일 식별자 10~14에 해당하는 파일 레코드가 요청되면 파일 식별자 9에 해당하는 파일 레코드가 반환됩니다. 파일 식별자 1~9에 해당하는 파일 레코드가 요청되면 해당 파일 레코드가 반환됩니다.

lpOutBuffer가 가리키는 출력 버퍼의 올바른 크기를 확인하려면 먼저 FSCTL_GET_NTFS_VOLUME_DATA 제어 코드를 호출하여 하나의 파일 레코드의 크기를 가져옵니다. 반환된 NTFS_VOLUME_DATA_BUFFER 구조체의 BytesPerFileRecordSegment 멤버 값입니다. 그런 다음 출력 버퍼의 크기를 다음 식으로 설정합니다.

sizeof (NTFS_FILE_RECORD_OUTPUT_BUFFER) + sizeof (one file record) - 1

파일이 여러 파일 레코드로 구성된 경우 개별적으로 검색해야 합니다.

Windows 8 및 Windows Server 2012 이 코드는 다음 기술에서 지원됩니다.

기술 지원됨
SMB(서버 메시지 블록) 3.0 프로토콜 No
SMB 3.0 TFO(투명 장애 조치(failover)) No
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0 No
CsvFS(클러스터 공유 볼륨 파일 시스템) Yes
ReFS(Resilient File System) No

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 winioctl.h(Windows.h 포함)

추가 정보