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


Сводка Kernel-Mode безопасных строковых функций

В следующей таблице перечислены безопасные строковые функции, доступные для драйверов в режиме ядра, и указаны функции библиотеки среды выполнения языка C/C++, которые они заменяют. Если имя функции содержит cb, функция обрабатывает строки как число байтов. Если имя функции содержит Cch, функция обрабатывает строки как подсчитываемые символы.

Функции Назначение Заменяет

RtlStringCbCat
RtlStringCbCatEx
RtlStringCchCat
RtlStringCchCatEx
RtlUnicodeStringCat
RtlUnicodeStringCatEx
RtlUnicodeStringCatString
RtlUnicodeStringCatStringEx
RtlUnicodeStringCbCatStringN
RtlUnicodeStringCbCatStringNEx
RtlUnicodeStringCchCatStringN
RtlUnicodeStringCchCatStringNEx

Сцепить две строки.

strcat
wcscat

RtlStringCbCatN
RtlStringCbCatNEx
RtlStringCchCatN
RtlStringCchCatNEx
RtlUnicodeStringCbCatN
RtlUnicodeStringCbCatNEx
RtlUnicodeStringCchCatN
RtlUnicodeStringCchCatNEx

Объединение двух строк с подсчетом байтов при ограничении размера добавленной строки.

strncat
wcsncat

RtlStringCbCopy
RtlStringCbCopyEx
RtlStringCbCopyUnicodeString
RtlStringCbCopyUnicodeStringEx
RtlStringCchCopy
RtlStringCchCopyEx
RtlStringCchCopyUnicodeString
RtlStringCchCopyUnicodeStringEx
RtlUnicodeStringCopy
RtlUnicodeStringCopyEx
RtlUnicodeStringCopyString
RtlUnicodeStringCopyStringEx

Скопируйте строку в буфер.

strcpy
wcscpy

RtlStringCbCopyN
RtlStringCbCopyNEx
RtlStringCchCopyN
RtlStringCchCopyNEx
RtlUnicodeStringCbCopyN
RtlUnicodeStringCbCopyNEx
RtlUnicodeStringCchCopyN
RtlUnicodeStringCchCopyNEx
RtlUnicodeStringCbCopyStringN
RtlUnicodeStringCbCopyStringNEx
RtlUnicodeStringCchCopyStringN
RtlUnicodeStringCchCopyStringNEx

Скопируйте строку в буфер, ограничив размер скопированной строки.

strncpy
wcsncpy

RtlStringCbLength
RtlStringCchLength
RtlUnalignedStringCbLength
RtlUnalignedStringCchLength

Определите длину предоставленной строки.

strlen
wcslen

RtlStringCbPrintf
RtlStringCbPrintfEx
RtlStringCchPrintf
RtlStringCchPrintfEx
RtlUnicodeStringPrintf
RtlUnicodeStringPrintfEx

Создайте отформатированную текстовую строку, основанную на строке формата и наборе дополнительных аргументов функции.

sprintf
swprintf
_snprintf
_snwprintf

RtlStringCbVPrintf
RtlStringCbVPrintfEx
RtlStringCchVPrintf
RtlStringCchVPrintfEx
RtlUnicodeStringVPrintf
RtlUnicodeStringVPrintfEx

Создайте отформатированную текстовую строку, основанную на строке формата и одном дополнительном аргументе функции.

vsprintf
vswprintf
_vsnprintf
_vsnwprintf

RtlUnicodeStringInit
RtlUnicodeStringInitEx
RtlUnicodeStringValidate
RtlUnicodeStringValidateEx

Инициализация или проверка структуры UNICODE_STRING .

Нет