다음을 통해 공유


파일 핸들 사용

다음 표에서는 드라이버가 파일 핸들에서 수행할 수 있는 작업과 해당 작업을 수행하는 해당 루틴을 나열합니다.

작업 호출할 루틴

파일에서 데이터를 읽습니다.

ZwReadFile

파일에 데이터를 씁니다.

ZwWriteFile

파일 또는 파일 핸들에 대한 메타데이터를 읽습니다.

ZwQueryInformationFile

파일 또는 파일 핸들에 대한 메타데이터를 작성합니다.

ZwSetInformationFile

파일에서 데이터 읽기 또는 쓰기를 시작할 위치를 나타내기 위해 ByteOffset 매개 변수를 ZwReadFile 또는 ZwWriteFile에 각각 전달합니다.

FILE_APPEND_DATA 액세스를 사용하여 핸들을 연 경우 모든 데이터가 파일의 끝에 기록되고 ByteOffset 매개 변수는 무시됩니다.

특정 조건에서 I/O 관리자는 파일에 대한 현재 파일 위치 포인터를 유지 관리합니다. ByteOffset대해 NULL을 지정하여 해당 위치에서 읽기 또는 쓰기 작업을 시작할 수 있습니다. 현재 파일 위치 포인터가 있는 경우에 대한 자세한 내용은 이 섹션의 뒷부 분에 있는 현재 파일 위치 사용을 참조하세요.

파일에 대한 정보를 검사하거나 변경하려면 ZwQueryInformationFile 또는 ZwSetInformationFile을 각각 호출합니다. 특정 유형의 정보를 각 루틴에 대한 FileInformationClass 매개 변수로 지정합니다. 예를 들어 FileInformationClassFileBasicInformation 으로 설정하면 파일 생성 시간 및 마지막 액세스 시간에 대한 멤버를 포함하는 FILE_BASIC_INFORMATION 구조를 검사하거나 변경할 수 있습니다. FileInformationClass에 대해 가능한 모든 값에 대한 자세한 내용은 FILE_INFORMATION_CLASS 참조하세요.