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을 포함하여 원본 문자열의 길이(바이트)로 설정됩니다. SourceStringNULL이면 LengthMaximumLength가 모두 0으로 설정됩니다.

WdmlibRtlInitUnicodeStringExSourceString에서 가리키는 원본 문자열을 변경하지 않습니다.

참고

원본 문자열이 MAX_USTRING -1바이트보다 긴 경우 WdmlibRtlInitUnicodeStringExDestinationString이 가리키는 UNICODE_STRING 구조체의 Length 멤버를 MAX_USTRING - 2로 설정하고 이 구조체의 MaximumLength 멤버를 MAX_USTRING 설정합니다. 이 경우 LengthMaximumLength 값은 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 주의 섹션을 참조하세요.

참고 항목