RtlGenerate8dot3Name 함수(ntifs.h)
RtlGenerate8dot3Name 루틴은 지정된 긴 파일 이름에 대한 짧은(8.3) 이름을 생성합니다.
통사론
NTSYSAPI NTSTATUS RtlGenerate8dot3Name(
[in] PCUNICODE_STRING Name,
[in] BOOLEAN AllowExtendedCharacters,
[in, out] PGENERATE_NAME_CONTEXT Context,
[in, out] PUNICODE_STRING Name8dot3
);
매개 변수
[in] Name
파일의 긴 이름을 포함하는 유니코드 문자열에 대한 포인터입니다. 이 파일 이름의 선행 기간은 해당 짧은 이름을 생성하는 동안 건너뜁니다.
[in] AllowExtendedCharacters
생성된 짧은 파일 이름에 확장 문자를 포함할 수 있는 경우 TRUE로 설정합니다. 생성된 짧은 파일 이름에 현재 코드 페이지의 ANSI 또는 OEM 범위에서 0x20(공간)부터 del(0x7f)에 이르는 문자만 포함되어야 하는 경우 FALSE로 설정합니다.
[in, out] Context
RtlGenerate8dot3Name사용할 호출자 할당 버퍼에 대한 포인터입니다. RtlGenerate8dot3Name 처음으로 호출하여 지정된 긴 파일 이름을 변환하기 전에 호출자는 버퍼를 0으로 채울 책임이 있습니다.
[in, out] Name8dot3
생성된 짧은 파일 이름을 수신하기 위해 호출자가 할당한 버퍼에 대한 포인터입니다. 이 버퍼의 크기는 24바이트 이상이어야 합니다(유니코드 문자 12자).
반환 값
이 루틴은 짧은 이름이 성공적으로 생성되면 STATUS_SUCCESS 반환합니다. 시스템에서 지정된 파일에 대한 고유한 짧은 이름을 생성할 수 없는 경우 STATUS_FILE_SYSTEM_LIMITATION 반환합니다. 지정된 단일 긴 이름에 대해 1백만 번의 재시도 시도 후 이 오류를 반환합니다.
발언
RtlGenerate8dot3Name 최대 8자로 생성된 짧은 이름을 반환하고 마침표 바로 뒤에 최대 3자를 더 반환합니다.
RtlGenerate8dot3Name 반복적으로 호출할 수 있습니다. 예를 들어 처음에 생성된 짧은 이름이 기존 파일 이름의 중복인 경우 호출자는 동일한 매개 변수를 RtlGenerate8dot3Name 다시 전달할 수 있습니다. 이 경우 컨텍스트 버퍼를 0으로 다시 초기화해서는 안 됩니다. 이 버퍼는 지정된 긴 이름을 변환하기 위한 초기 호출에 대해서만 0이어야 합니다. 동일한 긴 이름에 대한 반복 호출에서 RtlGenerate8dot3Name 이름 충돌을 방지하기 위해 이 버퍼에 개인 컨텍스트 정보를 저장합니다.
동일한 Name 및 Context 사용하여 RtlGenerate8dot3Name 두 번의 호출은 동일한 결과를 반환하도록 보장되지 않습니다. 호출자는 긴 이름을 짧은 이름으로 매핑하는 것이 비결정적이라고 가정해야 합니다.
RtlGenerate8dot3Name 현재 시스템 코드 페이지를 사용하여 지정된 긴 이름을 변환하여 입력 긴 이름의 유효하지 않거나 불필요한 문자를 삭제합니다. AllowExtendedCharacters TRUE로 설정된 경우 대문자 OEM 문자에 매핑되는 ANSI 또는 DBCS(더블 바이트 문자 집합) 문자는 반환된 짧은 이름의 일부가 될 수 있습니다.
RtlGenerate8dot3Name 대문자로 된 짧은 파일 이름을 반환합니다. 지정된 긴 이름에서 발생하는 다음 문자에 대해 생성된 짧은 이름의 밑줄을 반환합니다.
- 콜론 및 세미콜론
- 쉼표
- 더하기 및 같음 기호
- 대괄호
다른 문자열 처리 루틴에 대한 자세한 내용은 RTL(Run-Time 라이브러리) 루틴참조하세요.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |