カーネルモード セーフ文字列関数の概要

次の表は、カーネル モード ドライバーで使用できる安全な文字列関数をまとめたものであり、置き換える C/C++ 言語ランタイム ライブラリ関数を示しています。 関数の名前に Cb が含まれている場合、関数は文字列をバイトカウントとして扱います。 関数の名前に Cch が含まれている場合、関数は文字列を文字カウントとして扱います。

関数 目的 置き換え

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

2 つの文字列を連結します。

strcat
wcscat

RtlStringCbCatN
RtlStringCbCatNEx
RtlStringCchCatN
RtlStringCchCatNEx
RtlUnicodeStringCbCatN
RtlUnicodeStringCbCatNEx
RtlUnicodeStringCchCatN
RtlUnicodeStringCchCatNEx

追加された文字列のサイズを制限しながら、2 つのバイトカウント文字列を連結します。

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

書式指定文字列と 1 つの追加関数引数に基づく書式設定されたテキスト文字列を作成します。

vsprintf
vswprintf
_vsnprintf
_vsnwprintf

RtlUnicodeStringInit
RtlUnicodeStringInitEx
RtlUnicodeStringValidate
RtlUnicodeStringValidateEx

UNICODE_STRING 構造体を初期化または検証します。

なし