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

A partir do Windows XP, a biblioteca de cadeias de caracteres seguras no 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 no modo kernel

Inclua o arquivo de cabeçalho, conforme mostrado.

#include <ntstrsafe.h>

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

Para permitir apenas funções contadas por bytes

Inclua a linha a seguir 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 linha a seguir 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 as funções de estrutura UNICODE_STRING indisponíveis

Inclua a linha a seguir 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 linhas a seguir 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 que os valores padrão.