다음을 통해 공유


RtlUnicodeStringValidateEx 함수(ntstrsafe.h)

RtlUnicodeStringValidateEx 함수는 UNICODE_STRING 구조체의 내용의 유효성을 검사합니다.

통사론

NTSTRSAFEDDI RtlUnicodeStringValidateEx(
  [in] PCUNICODE_STRING SourceString,
  [in] DWORD            dwFlags
);

매개 변수

[in] SourceString

선택적. 유효성을 검사할 UNICODE_STRING 구조체에 대한 포인터입니다. 이 포인터는 NULL 수 있지만 dwFlagsSTRSAFE_IGNORE_NULLS 설정된 경우에만 가능합니다.

[in] dwFlags

다음 플래그가 정의됩니다.

STRSAFE_IGNORE_NULLS

이 플래그가 설정되면 원본 포인터는 NULL 수 있습니다. RtlUnicodeStringValidateExNULL 소스 버퍼 포인터를 빈 문자열(TEXT("")과 같이 처리합니다.

반환 값

RtlUnicodeStringValidateEx 다음 NTSTATUS 값 중 하나를 반환합니다.

반환 코드 묘사
STATUS_SUCCESS
성공 상태는 함수가 성공적으로 완료되었음을 의미합니다.
STATUS_INVALID_PARAMETER
오류 상태는 함수가 잘못된 입력 매개 변수를 수신했음을 의미합니다. 자세한 내용은 다음 목록을 참조하세요.
 

STRSAFE_IGNORE_NULLS dwFlags에서 설정되지 않은 경우 RtlUnicodeStringValidateEx 다음 중 하나가 발생하면 STATUS_INVALID_PARAMETER 값을 반환합니다.

  • SourceString->Length % sizeof(WCHAR)는 0이 아닙니다.
  • SourceString->MaximumLength % sizeof(WCHAR)는 0이 아닙니다.
  • SourceString->LengthSourceString->MaximumLength.
  • SourceString->MaximumLength NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR)보다 큽니다.
  • SourceString->BufferNULL 같지만 SourceString->Length 또는 SourceString->MaximumLength 0이 아닙니다.
  • dwFlags잘못된 플래그가 지정되었습니다.
NTSTATUS 값을 테스트하는 방법에 대한 자세한 내용은 NTSTATUS 값 사용참조하세요.

발언

STRSAFE_IGNORE_NULLS 플래그를 설정하지 않으면 SourceString 포인터는 NULL 수 없습니다.

안전한 문자열 함수에 대한 자세한 내용은 안전한 문자열 함수 사용하는참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows XP에서 SP1(서비스 팩 1) 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 바탕 화면
헤더 ntstrsafe.h(Ntstrsafe.h 포함)
라이브러리 Ntstrsafe.lib
IRQL 조작되는 문자열이 항상 메모리에 상주하는 경우, 그렇지 않으면 PASSIVE_LEVEL

참고 항목

RtlUnicodeStringValidate

UNICODE_STRING