Importieren von Kernel-Mode sicheren Zeichenfolgenfunktionen

Ab Windows XP steht die Bibliothek für sichere Zeichenfolgen im Kernelmodus als Sammlung von Inlinefunktionen zur Verfügung, die in der Ntstrsafe.h-Headerdatei definiert sind.

So verwenden Sie die Sicheren Zeichenfolgenfunktionen im Kernelmodus

Schließen Sie die Headerdatei wie gezeigt ein.

#include <ntstrsafe.h>

Sie können nur die bytegezählten oder nur die zeichengezählten sicheren Zeichenfolgenfunktionen verfügbar machen.

So lassen Sie nur Byte zählende Funktionen zu

Fügen Sie die folgende Zeile in Ihren Code ein, bevor Sie die Ntstrsafe.h-Headerdatei einschließen.

#define NTSTRSAFE_NO_CCH_FUNCTIONS

So lassen Sie nur Zeichen zählende Funktionen zu

Fügen Sie die folgende Zeile in Ihren Code ein, bevor Sie die Ntstrsafe.h-Headerdatei einschließen.

#define NTSTRSAFE_NO_CB_FUNCTIONS

Sie können entweder NTSTRSAFE_NO_CB_FUNCTIONS oder NTSTRSAFE_NO_CCH_FUNCTIONS definieren, aber nicht beides.

Sie können die UNICODE_STRING-Strukturfunktionen nicht verfügbar machen.

So stellen Sie fest, dass UNICODE_STRING Strukturfunktionen nicht verfügbar sind

Fügen Sie die folgende Zeile in Ihren Code ein, bevor Sie die Ntstrsafe.h-Headerdatei einschließen.

#define NTSTRSAFE_NO_UNICODE_STRING_FUNCTIONS

Die maximale Anzahl von Zeichen, die eine ANSI- oder Unicode-Zeichenfolge enthalten kann, ist NTSTRSAFE_MAX_CCH. Die maximale Anzahl von Zeichen, die eine UNICODE_STRING-Struktur enthalten kann, ist NTSTRSAFE_UNICODE_STRING_MAX_CCH. Diese Konstanten werden in Ntstrsafe.h definiert.

Ihr Treiber kann NTSTRSAFE_MAX_CCH und NTSTRSAFE_UNICODE_STRING_MAX_CCH kleinere Werte zuweisen, indem er die folgenden Zeilen in Ihren Code einschließt, bevor Ntstrsafe.h eingeschlossen wird.

#define NTSTRSAFE_MAX_CCH  <new-value>
#define NTSTRSAFE_UNICODE_STRING_MAX_CCH  <new-value>

Direktiven in Ntstrsafe.h überprüfen, ob ihre neuen Werte nicht größer als die Standardwerte sind.