다음을 통해 공유


Kernel-Mode 안전 문자열 함수 가져오기

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 또는 유니코드 문자열에 포함될 수 있는 최대 문자 수는 NTSTRSAFE_MAX_CCH. UNICODE_STRING 구조체에 포함될 수 있는 최대 문자 수는 NTSTRSAFE_UNICODE_STRING_MAX_CCH. 이러한 상수는 Ntstrsafe.h에 정의되어 있습니다.

드라이버는 Ntstrsafe.h를 포함하기 전에 코드에 다음 줄을 포함하여 NTSTRSAFE_MAX_CCH 및 NTSTRSAFE_UNICODE_STRING_MAX_CCH 더 작은 값을 할당할 수 있습니다.

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

Ntstrsafe.h의 지시문은 새 값이 기본값보다 크지 않은지 확인합니다.