Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Från och med Windows XP är biblioteket för säker sträng i kernelläge tillgängligt som en samling inline-funktioner som definieras i headerfilen Ntstrsafe.h.
Så här använder du funktionerna för säker sträng i kernelläge
Ta med rubrikfilen, som du ser.
#include <ntstrsafe.h>
Du kan endast göra tillgängliga de byteberäkningsbara eller endast de teckenberäkningssäkra strängfunktionerna.
Så här tillåter du endast byteberäkningsfunktioner
Inkludera följande rad i koden innan du inkluderar huvudfilen Ntstrsafe.h.
#define NTSTRSAFE_NO_CCH_FUNCTIONS
Så här tillåter du endast teckenberäkningsfunktioner
Inkludera följande rad i koden innan du inkluderar huvudfilen Ntstrsafe.h.
#define NTSTRSAFE_NO_CB_FUNCTIONS
Du kan definiera antingen NTSTRSAFE_NO_CB_FUNCTIONS eller NTSTRSAFE_NO_CCH_FUNCTIONS, men inte båda.
Du kan göra UNICODE_STRING strukturfunktionerna otillgängliga.
Så här gör du UNICODE_STRING strukturfunktionerna otillgängliga
Inkludera följande rad i koden innan du inkluderar huvudfilen Ntstrsafe.h.
#define NTSTRSAFE_NO_UNICODE_STRING_FUNCTIONS
Det maximala antalet tecken som en ANSI- eller Unicode-sträng kan innehålla är NTSTRSAFE_MAX_CCH. Det maximala antalet tecken som en UNICODE_STRING struktur kan innehålla är NTSTRSAFE_UNICODE_STRING_MAX_CCH. Dessa konstanter definieras i Ntstrsafe.h.
Din drivrutin kan tilldela mindre värden till NTSTRSAFE_MAX_CCH och NTSTRSAFE_UNICODE_STRING_MAX_CCH genom att inkludera följande rader i koden innan man inkluderar Ntstrsafe.h.
#define NTSTRSAFE_MAX_CCH <new-value>
#define NTSTRSAFE_UNICODE_STRING_MAX_CCH <new-value>
Direktiv i Ntstrsafe.h kontrollerar att dina nya värden inte är större än standardvärdena.