#ifndef _NTSTRSAFE_H_INCLUDED_
#ifndef NTSTRSAFE_LIB_IMPL
#ifndef NTSTRSAFE_NO_UNICODE_STRING_FUNCTIONS
/*++
NTSTATUS
RtlUnicodeStringValidateEx(
_In_ PCUNICODE_STRING SourceString OPTIONAL,
_In_ DWORD dwFlags
);
Routine Description:
In addition to functionality provided by RtlUnicodeStringValidate, this routine
includes the flags parameter allows additional controls.
This function returns an NTSTATUS value. It returns STATUS_SUCCESS if the
counted unicode string is valid.
Arguments:
SourceString - pointer to the counted unicode string to be checked
dwFlags - controls some details of the validation:
STRSAFE_IGNORE_NULLS
allows SourceString to be NULL (will return STATUS_SUCCESS for this case).
Return Value:
STATUS_SUCCESS - SourceString is a valid counted unicode string
failure - the operation did not succeed
STATUS_INVALID_PARAMETER
- this return value is an indication that the source string
is not a valid counted unicode string given the flags passed.
It is strongly recommended to use the NT_SUCCESS() macro to test the
return value of this function.
--*/
NTSTRSAFEDDI
RtlUnicodeStringValidateEx(
_In_ PCUNICODE_STRING SourceString,
_In_ DWORD dwFlags)
{
NTSTATUS status;
if (dwFlags & (~STRSAFE_UNICODE_STRING_VALID_FLAGS))
{
status = STATUS_INVALID_PARAMETER;
}
else
{
status = RtlUnicodeStringValidateWorker(SourceString, NTSTRSAFE_UNICODE_STRING_MAX_CCH, dwFlags);
}
return status;
}
View code on GitHub
No description available.