Partilhar via


Importando Kernel-Mode as funções de cadeia seguras

A partir do Windows XP, a biblioteca de cadeias de caracteres seguras do modo kernel está disponível como uma coleção de funções embutidas definidas no arquivo de cabeçalho Ntstrsafe.h.

Para usar as funções de cadeia de caracteres seguras do modo kernel

Inclua o arquivo de cabeçalho, conforme mostrado.

#include <ntstrsafe.h>

Você pode disponibilizar apenas as funções de string seguras contadas por bytes ou apenas por caracteres.

Para permitir apenas funções com contagem de bytes

Inclua a seguinte linha em seu código antes de incluir o arquivo de cabeçalho Ntstrsafe.h.

#define NTSTRSAFE_NO_CCH_FUNCTIONS

Para permitir apenas funções contadas por caracteres

Inclua a seguinte linha em seu código antes de incluir o arquivo de cabeçalho Ntstrsafe.h.

#define NTSTRSAFE_NO_CB_FUNCTIONS

Você pode definir NTSTRSAFE_NO_CB_FUNCTIONS ou NTSTRSAFE_NO_CCH_FUNCTIONS, mas não ambos.

Você pode tornar as funções de estrutura UNICODE_STRING indisponíveis.

Para tornar UNICODE_STRING funções de estrutura indisponíveis

Inclua a seguinte linha em seu código antes de incluir o arquivo de cabeçalho Ntstrsafe.h.

#define NTSTRSAFE_NO_UNICODE_STRING_FUNCTIONS

O número máximo de caracteres que qualquer cadeia de caracteres ANSI ou Unicode pode conter é NTSTRSAFE_MAX_CCH. O número máximo de caracteres que uma estrutura UNICODE_STRING pode conter é NTSTRSAFE_UNICODE_STRING_MAX_CCH. Essas constantes são definidas em Ntstrsafe.h.

Seu driver pode atribuir valores menores a NTSTRSAFE_MAX_CCH e NTSTRSAFE_UNICODE_STRING_MAX_CCH incluindo as seguintes linhas em seu código antes de incluir Ntstrsafe.h.

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

As diretivas em Ntstrsafe.h verificam se os novos valores não são maiores do que os valores padrão.