RtlOemToUnicodeN 함수(ntifs.h)
RtlOemToUnicodeN 루틴은 현재 시스템 OEM 코드 페이지를 사용하여 지정된 소스 문자열을 유니코드 문자열로 변환합니다.
구문
NTSYSAPI NTSTATUS RtlOemToUnicodeN(
[out] PWCH UnicodeString,
[in] ULONG MaxBytesInUnicodeString,
[out, optional] PULONG BytesInUnicodeString,
[in] PCCH OemString,
[in] ULONG BytesInOemString
);
매개 변수
[out] UnicodeString
번역된 문자열을 수신하는 호출자가 할당한 버퍼에 대한 포인터입니다.
[in] MaxBytesInUnicodeString
UnicodeString에서 쓸 최대 바이트 수입니다. 이 값으로 인해 번역된 문자열이 잘리는 경우 RtlOemToUnicodeN은 오류 상태 반환하지 않습니다.
[out, optional] BytesInUnicodeString
변환된 문자열의 길이(바이트)를 수신하는 호출자 할당 변수에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.
[in] OemString
유니코드로 변환할 OEM 원본 문자열에 대한 포인터입니다. 현재 코드 페이지에서 단일 바이트 문자 집합을 설명하는 경우 이 포인터는 UnicodeString과 동일한 주소일 수 있습니다.
[in] BytesInOemString
OemString의 문자열 길이(바이트)입니다.
반환 값
OemString의 전체 문자열이 성공적으로 번역되고 UnicodeString에서 반환되면 RtlOemToUnicodeN은 STATUS_SUCCESS 반환합니다. 그렇지 않으면 지정된 MaxBytesInUnicodeString에 맞게 대상 문자열을 잘라내야 하는 경우 STATUS_BUFFER_OVERFLOW 반환할 수 있습니다. STATUS_BUFFER_OVERFLOW 경고 NTSTATUS 값입니다.
설명
RtlOemToUnicodeN 은 시스템 부팅 시 설치된 현재 시스템 OEM 코드 페이지에 매핑되는 미리 컴파일된 유니코드 문자만 지원합니다.
현재 시스템 코드 페이지에서 단일 바이트 문자 집합을 정의하는 경우 0x7f 0x00 범위의 모든 싱글 바이트 문자는 변환 작업의 속도를 높이기 위해 해당 유니코드 문자열에서 0으로 확장됩니다. 이러한 코드 페이지에서 0x5c 문자 값은 현재 코드 페이지에서 이 문자를 Yen 기호로 정의하더라도 백슬래시 문자로 변환됩니다.
반환 값 STATUS_SUCCESS BytesInUnicodeString 값(있는 경우)은 지정된 MaxBytesInUnicodeString이 아닌 반환된 유니코드 문자열의 길이를 나타냅니다.
UnicodeString 및 OemString 포인터가 동일하지 않는 한 이 루틴은 원본 문자열을 수정하지 않습니다. 반환된 유니코드 문자열은 잘리지 않으면 null로 종료됩니다.
다른 문자열 처리 루틴에 대한 자세한 내용은 RTL(런타임 라이브러리) 루틴을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기