WdmlibRtlInitUnicodeStringEx 함수(wdmsec.h)
WdmlibRtlInitUnicodeStringEx 함수는 계산된 유니코드 문자 문자열을 초기화합니다.
구문
NTSTATUS WdmlibRtlInitUnicodeStringEx(
[out] PUNICODE_STRING DestinationString,
[in, optional] PCWSTR SourceString
);
매개 변수
[out] DestinationString
초기화할 UNICODE_STRING 구조체에 대한 포인터입니다.
[in, optional] SourceString
null로 끝나는 와이드 문자 문자열에 대한 포인터입니다. 이 문자열은 DestinationString에서 가리키는 계산된 문자열을 초기화하는 데 사용됩니다.
반환 값
WdmlibRtlInitUnicodeStringEx 는 성공하면 STATUS_SUCCESS 반환하고, 그렇지 않으면 메서드가 다른 NTSTATUS 값을 반환할 수 있습니다.
설명
루틴은 SourceString 포인터 값을 DestinationString이 가리키는 UNICODE_STRING 구조의 Buffer 멤버에 복사합니다. 이 구조체의 Length 멤버는 종료 null을 제외한 원본 문자열의 길이(바이트)로 설정됩니다. 구조체의 MaximumLength 멤버는 종료 null을 포함하여 원본 문자열의 길이(바이트)로 설정됩니다. SourceString이 NULL인 경우 Length 및 MaximumLength는 모두 0으로 설정됩니다.
WdmlibRtlInitUnicodeStringEx 는 SourceString이 가리키는 원본 문자열을 변경하지 않습니다.
참고
원본 문자열이 MAX_USTRING-1바이트보다 긴 경우 WdmlibRtlInitUnicodeStringEx는 DestinationString이 가리키는 UNICODE_STRING 구조체의 Length 멤버를 MAX_USTRING - 2로 설정하고 이 구조체의 MaximumLength 멤버를 MAX_USTRING 설정합니다. 이 경우 Length 및 MaximumLength 값은 null로 종료된 원본 문자열의 길이를 잘못 나타내며 이러한 값의 정확도에 의존하는 것은 잠재적으로 위험할 수 있습니다.
DestinationString 버퍼를 페이징할 수 없는 경우 WdmlibRtlInitUnicodeStringEx의 호출자는 IRQL <= DISPATCH_LEVEL 실행할 수 있습니다. 대부분의 다른 RtlXxx문자열 루틴은 IRQL PASSIVE_LEVEL 호출할 수 없으므로 일반적으로 호출자는 IRQL > = PASSIVE_LEVEL 실행됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | wdmsec.h(Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 설명 섹션을 참조하십시오. |