#ifndef _NTSTRSAFE_H_INCLUDED_
#ifndef NTSTRSAFE_LIB_IMPL
#ifndef NTSTRSAFE_NO_UNICODE_STRING_FUNCTIONS
_At_(DestinationString->Buffer, _Post_equal_to_(pszSrc))
_At_(DestinationString->Length, _Post_equal_to_(_String_length_(pszSrc) * sizeof(WCHAR)))
_At_(DestinationString->MaximumLength, _Post_equal_to_((_String_length_(pszSrc)+1) * sizeof(WCHAR)))
NTSTRSAFEDDI
RtlUnicodeStringInitEx(
_Out_ PUNICODE_STRING DestinationString,
_In_opt_ NTSTRSAFE_PCWSTR pszSrc,
_In_ DWORD dwFlags)
{
NTSTATUS status;
if (dwFlags & (~STRSAFE_UNICODE_STRING_VALID_FLAGS))
{
status = STATUS_INVALID_PARAMETER;
}
else
{
status = RtlUnicodeStringInitWorker(DestinationString,
pszSrc,
NTSTRSAFE_UNICODE_STRING_MAX_CCH,
dwFlags);
}
if (!NT_SUCCESS(status) && DestinationString)
{
DestinationString->Length = 0;
DestinationString->MaximumLength = 0;
DestinationString->Buffer = NULL;
}
return status;
}
View code on GitHub
No description available.