RtlUnicodeStringValidateEx 함수(ntstrsafe.h)
RtlUnicodeStringValidateEx 함수는 UNICODE_STRING 구조체의 내용의 유효성을 검사합니다.
구문
NTSTRSAFEDDI RtlUnicodeStringValidateEx(
[in] PCUNICODE_STRING SourceString,
[in] DWORD dwFlags
);
매개 변수
[in] SourceString
선택 사항입니다. 유효성을 검사할 UNICODE_STRING 구조체에 대한 포인터입니다. 이 포인터는 NULL일 수 있지만 dwFlags에서 STRSAFE_IGNORE_NULLS 설정된 경우에만 가능합니다.
[in] dwFlags
다음 플래그가 정의됩니다.
STRSAFE_IGNORE_NULLS
이 플래그를 설정하면 원본 포인터가 NULL일 수 있습니다. RtlUnicodeStringValidateEx 는 NULL 원본 버퍼 포인터를 빈 문자열(TEXT(""))과 같이 처리합니다.
반환 값
RtlUnicodeStringValidateEx 는 다음 NTSTATUS 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
이 성공 상태 함수가 성공적으로 완료되었음을 의미합니다. |
|
이 오류 상태 함수가 잘못된 입력 매개 변수를 수신했음을 의미합니다. 자세한 내용은 다음 목록을 참조하세요. |
dwFlags에서 STRSAFE_IGNORE_NULLS 설정되지 않은 경우 RtlUnicodeStringValidateEx 는 다음 중 하나가 발생할 때 STATUS_INVALID_PARAMETER 값을 반환합니다.
- SourceString->길이 % sizeof(WCHAR)가 0과 같지 않습니다.
- SourceString->MaximumLength % sizeof(WCHAR)가 0과 같지 않습니다.
- SourceString->길이 가 SourceString->MaximumLength보다 큽니다.
- SourceString->MaximumLength 가 NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR)보다 큽니다.
- SourceString->버퍼 는 NULL 이지만 SourceString->Length 또는 SourceString->MaximumLength 는 0이 아닙니다.
- dwFlags에 잘못된 플래그가 지정되었습니다.
설명
STRSAFE_IGNORE_NULLS 플래그를 설정하지 않으면 SourceString 포인터는 NULL 일 수 없습니다.
안전한 문자열 함수에 대한 자세한 내용은 Safe String Functions 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP에서 SP1(서비스 팩 1) 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
머리글 | ntstrsafe.h(Ntstrsafe.h 포함) |
라이브러리 | Ntstrsafe.lib |
IRQL | 조작되는 문자열이 항상 메모리에 상주하는 경우 이고, 그렇지 않으면 PASSIVE_LEVEL |