Поделиться через


Функция RtlCopyUnicodeString (wdm.h)

Подпрограмма RtlCopyUnicodeString копирует исходную строку в целевую строку.

Синтаксис

NTSYSAPI VOID RtlCopyUnicodeString(
  [in, out]      PUNICODE_STRING  DestinationString,
  [in, optional] PCUNICODE_STRING SourceString
);

Параметры

[in, out] DestinationString

Указатель на буфер строки назначения. Этот параметр указывает на структуру UNICODE_STRING .

[in, optional] SourceString

Указатель на буфер исходной строки. Этот параметр указывает на структуру UNICODE_STRING .

Возвращаемое значение

None

Remarks

Если sourceString имеет значение NULL, эта подпрограмма задает для поля Length структуры, на которую указывает DestinationString , значение 0.

Эта подпрограмма не изменяет поля MaximumLength и Buffer структуры, на которую указывает DestinationString.

Число байтов, скопированных из исходной строки, является либо длиной исходной строки (указанной элементом Length структуры, на которую указывает SourceString), либо максимальной длиной строки назначения (указанной элементом MaximumLength структуры, на которую указывает DestinationString), в зависимости от того, что меньше.

Прежде чем вызывать RtlCopyUnicodeString, вызывающий объект должен правильно инициализировать все члены структуры, на которые указывает DestinationString. Сбой инициализации элемента Length или MaximumLength перед вызовом этой подпрограммы может привести к переполнению буфера.

Буферы DestinationString и SourceString должны быть резидентными, если вызывающий объект выполняется в irQL >= DISPATCH_LEVEL.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe (режим ядра); Ntdll.dll (пользовательский режим)
IRQL Любой уровень (см. раздел "Примечания")

См. также раздел

RtlCopyString

UNICODE_STRING