Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начиная с Windows XP библиотека безопасных строк в режиме ядра доступна в виде коллекции встроенных функций, определенных в файле заголовка Ntstrsafe.h.
Использование безопасных строковых функций в режиме ядра
Включите файл заголовка, как показано ниже.
#include <ntstrsafe.h>
Вы можете предоставить доступ только к безопасным строковым функциям, работающим с количеством байтов или только к тем, которые оперируют количеством символов.
Разрешить только функции с подсчётом байтов
Добавьте следующую строку в код перед включением файла заголовка Ntstrsafe.h.
#define NTSTRSAFE_NO_CCH_FUNCTIONS
Разрешить только функции подсчета символов
Добавьте следующую строку в код перед включением файла заголовка Ntstrsafe.h.
#define NTSTRSAFE_NO_CB_FUNCTIONS
Можно определить NTSTRSAFE_NO_CB_FUNCTIONS или NTSTRSAFE_NO_CCH_FUNCTIONS, но не оба.
Вы можете сделать функции структуры UNICODE_STRING недоступными.
Чтобы сделать функции структуры UNICODE_STRING недоступными
Добавьте следующую строку в код перед включением файла заголовка Ntstrsafe.h.
#define NTSTRSAFE_NO_UNICODE_STRING_FUNCTIONS
Максимальное количество символов, которые может содержать любая строка ANSI или Unicode, является NTSTRSAFE_MAX_CCH. Максимальное количество символов, которые может содержать структура UNICODE_STRING, — NTSTRSAFE_UNICODE_STRING_MAX_CCH. Эти константы определены в Ntstrsafe.h.
Драйвер может назначать меньшие значения NTSTRSAFE_MAX_CCH и NTSTRSAFE_UNICODE_STRING_MAX_CCH, включив следующие строки в код, прежде чем включить Ntstrsafe.h.
#define NTSTRSAFE_MAX_CCH <new-value>
#define NTSTRSAFE_UNICODE_STRING_MAX_CCH <new-value>
Директивы в Ntstrsafe.h проверяют, что новые значения не превышают значения по умолчанию.