Partager via


Importation Kernel-Mode fonctions de chaîne sécurisée

À compter de Windows XP, la bibliothèque de chaînes sans échec en mode noyau est disponible en tant que collection de fonctions inline définies dans le fichier d’en-tête Ntstrsafe.h.

Pour utiliser les fonctions de chaîne sans échec en mode noyau

Incluez le fichier d’en-tête, comme indiqué.

#include <ntstrsafe.h>

Vous pouvez rendre disponibles uniquement les fonctions de chaîne sécurisée comptée en octets ou uniquement les caractères.

Pour autoriser uniquement les fonctions d’octets

Incluez la ligne suivante dans votre code avant d’inclure le fichier d’en-tête Ntstrsafe.h.

#define NTSTRSAFE_NO_CCH_FUNCTIONS

Pour autoriser uniquement les fonctions de nombre de caractères

Incluez la ligne suivante dans votre code avant d’inclure le fichier d’en-tête Ntstrsafe.h.

#define NTSTRSAFE_NO_CB_FUNCTIONS

Vous pouvez définir NTSTRSAFE_NO_CB_FUNCTIONS ou NTSTRSAFE_NO_CCH_FUNCTIONS, mais pas les deux.

Vous pouvez rendre les fonctions de structure UNICODE_STRING indisponibles.

Pour rendre UNICODE_STRING fonctions de structure non disponibles

Incluez la ligne suivante dans votre code avant d’inclure le fichier d’en-tête Ntstrsafe.h.

#define NTSTRSAFE_NO_UNICODE_STRING_FUNCTIONS

Le nombre maximal de caractères qu’une chaîne ANSI ou Unicode peut contenir est NTSTRSAFE_MAX_CCH. Le nombre maximal de caractères qu’une structure UNICODE_STRING peut contenir est NTSTRSAFE_UNICODE_STRING_MAX_CCH. Ces constantes sont définies dans Ntstrsafe.h.

Votre pilote peut affecter des valeurs plus petites à NTSTRSAFE_MAX_CCH et NTSTRSAFE_UNICODE_STRING_MAX_CCH en incluant les lignes suivantes dans votre code avant d’inclure Ntstrsafe.h.

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

Les directives dans Ntstrsafe.h vérifient que vos nouvelles valeurs ne sont pas supérieures aux valeurs par défaut.