#ifndef _NTSTRSAFE_H_INCLUDED_
#ifndef NTSTRSAFE_LIB_IMPL
#ifndef NTSTRSAFE_NO_CCH_FUNCTIONS
NTSTRSAFEDDI
RtlStringCchCopyNW(
_Out_writes_(cchDest) _Always_(_Post_z_) NTSTRSAFE_PWSTR pszDest,
_In_ size_t cchDest,
_In_reads_or_z_(cchToCopy) STRSAFE_PCNZWCH pszSrc,
_In_ size_t cchToCopy)
{
NTSTATUS status;
status = RtlStringValidateDestW(pszDest, cchDest, NTSTRSAFE_MAX_CCH);
if (NT_SUCCESS(status))
{
if (cchToCopy > NTSTRSAFE_MAX_LENGTH)
{
status = STATUS_INVALID_PARAMETER;
*pszDest = L'\0';
}
else
{
status = RtlStringCopyWorkerW(pszDest,
cchDest,
NULL,
pszSrc,
cchToCopy);
}
}
else if (cchDest > 0)
{
*pszDest = L'\0';
}
return status;
}
View code on GitHub
No description available.