Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция RtlUnicodeStringCchCopyStringN копирует строку в структуру UNICODE_STRING при ограничении размера скопированной строки.
Синтаксис
NTSTRSAFEDDI RtlUnicodeStringCchCopyStringN(
[out] PUNICODE_STRING DestinationString,
[in] NTSTRSAFE_PCWSTR pszSrc,
[in] size_t cchToCopy
);
Параметры
[out] DestinationString
Указатель на структуру UNICODE_STRING, которая получает скопированную строку. Строка, на которую указывает параметр pszSrc (за исключением конца NULL) копируется в буфер, на который указывает структура UNICODE_STRING параметра DestinationStr ing. Максимальное число символов в строке равно NTSTRSAFE_UNICODE_STRING_MAX_CCH.
[in] pszSrc
Указатель на строку для копирования.
[in] cchToCopy
Количество символов, скопированных из источника в место назначения.
Возвращаемое значение
RtlUnicodeStringCchCopyStringN возвращает один из следующих NTSTATUS.
| Возвращаемый код | Описание |
|---|---|
|
Это успешном состоянии означает, что исходные данные были представлены, строка была скопирована без усечения, а результирующий целевой буфер завершается значением NULL. |
|
Это предупреждение о состоянии означает, что операция копирования не завершена из-за нехватки буферного пространства. Целевой буфер содержит усеченную, завершаемую null версию предполагаемого результата. |
|
Это состояние означает, что функция получила недопустимый входной параметр. Дополнительные сведения см. в следующем списке. |
RtlUnicodeStringCchCopyStringN возвращает значение STATUS_INVALID_PARAMETER при возникновении одной из следующих ситуаций:
- Содержимое структуры UNICODE_STRING недопустимо.
- Буфер назначения уже заполнен.
- Указатель буфера NULL.
- Длина целевого буфера равна нулю, но в исходной строке ненулевой длины присутствует.
- Значение параметра cchToCopy больше NTSTRSAFE_UNICODE_STRING_MAX_CCH.
Замечания
Функция RtlUnicodeStringCchCopyN использует размер буфера назначения, чтобы убедиться, что операция копирования не записывает в конец буфера. Функция не завершает результирующая строка с символом NULL.
Если исходные и конечные строки перекрываются, поведение функции не определено.
Указатели pszS rc и DestinationString нельзя NULL. Если необходимо обработать значения указателя NULL NULL, используйте функцию RtlUnicodeStringCchCopyNEx.
Дополнительные сведения о функциях безопасной строки см. в разделе Использование безопасных строковых функций.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Доступно в Windows XP с пакетом обновления 1 (SP1) и более поздними версиями Windows. |
| целевая платформа | Настольный |
| заголовка | ntstrsafe.h (include Ntstrsafe.h) |
| библиотеки | Ntstrsafe.lib |
| IRQL | Любой, если управляемые строки всегда находятся в памяти, в противном случае PASSIVE_LEVEL |