NtQueryInformationByName 함수(ntifs.h)
NtQueryInformationByName 은 파일 이름으로 지정된 파일에 대해 요청된 정보를 반환합니다.
구문
__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryInformationByName(
[in] POBJECT_ATTRIBUTES ObjectAttributes,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[out] PVOID FileInformation,
[in] ULONG Length,
[in] FILE_INFORMATION_CLASS FileInformationClass
);
매개 변수
[in] ObjectAttributes
파일 이름을 포함하여 파일의 특성을 포함하는 OBJECT_ATTRIBUTES 구조체에 대한 포인터입니다.
[out] IoStatusBlock
호출자의 I/O 상태 포함하는 IO_STATUS_BLOCK 구조체를 가리키는 포인터입니다.
[out] FileInformation
파일에 대한 요청된 정보를 반환할 호출자가 제공한 버퍼에 대한 포인터입니다. 버퍼의 구조는 FileInformationClass 매개 변수에 의해 결정됩니다.
[in] Length
FileInformation이 가리키는 버퍼의 길이(바이트)입니다.
[in] FileInformationClass
FileInformation이 가리키는 버퍼에서 반환할 파일 정보의 형식을 식별하는 FILE_INFORMATION_CLASS 값입니다. FileInformationClass 는 다음 값 중 하나일 수 있습니다.
FILE_INFORMATION_CLASS 값 | 반환할 정보 유형 |
---|---|
FileStatInformation (68) | FILE_STAT_INFORMATION. Windows 10 버전 1709부터 사용할 수 있습니다. |
FileStatLxInformation (70) | FILE_STAT_LX_INFORMATION. Windows 10 2018년 4월 업데이트부터 사용할 수 있습니다. |
FileCaseSensitiveInformation (71) | FILE_CASE_SENSITIVE_INFORMATION. Windows 10 2018년 4월 업데이트부터 사용할 수 있습니다. |
FileStatBasicInformation (77) | FILE_STAT_BASIC_INFORMATION. Windows 11 빌드 26048부터 사용할 수 있습니다. |
반환 값
NtQueryInformationByName은 성공적으로 완료되면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 다음 중 하나와 같은 오류 코드를 반환합니다.
오류 코드 | 의미 |
---|---|
STATUS_INVALID_PARAMETER | FileInformationClass 매개 변수에 잘못된 값이 포함되어 있습니다. |
STATUS_INFO_LENGTH_MISMATCH | Length로 지정된 버퍼 크기가 요청된 정보를 포함할 만큼 크지 않습니다. |
설명
NtQueryInformationByName 은 파일에 대해 요청된 정보를 쿼리하고 반환합니다. 이렇게 하면 실제 파일을 열지 않고 파일을 열어야 하는 NtQueryInformationFile보다 효율적입니다(이후 파일 닫기).
NtQueryInformationByName의 호출자는 IRQL = PASSIVE_LEVEL 및 특수 커널 APC를 사용하도록 설정된 상태에서 실행되어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10, 버전 1703 |
머리글 | ntifs.h |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL(설명 섹션 참조) |