RtlStringCchCatExW
NTSTATUS __stdcall RtlStringCchCatExW(
WCHAR *pszDest,
UINT64 cchDest,
WCHAR *pszSrc,
WCHAR **ppszDestEnd,
UINT64 *pcchRemaining,
UINT64 dwFlags){
int v7;
const wchar_t *v9;
size_t v11;
__int64 pcchLength;
v7 = 0;
pcchLength = 0i64;
if( cchDest - 1 > 0x7FFFFFFE )
v7 = -1073741811;
if( v7 >= 0 )
{
v7 = RtlStringLengthWorkerW(pszDest, cchDest, (size_t *)&pcchLength);
if( v7 >= 0 )
{
v7 = 0;
if( cchDest - pcchLength <= 1 )
{
if( !*v9 )
return v7;
v7 = pszDest != 0i64 ? -2147483643 : -1073741811;
}
else
{
v7 = RtlStringCopyWorkerW(
(_DWORD)pszDest + 2 * pcchLength,
cchDest - pcchLength,
(size_t *)&pcchLength,
v9,
v11);
if( v7 >= 0 )
return v7;
}
if( cchDest && (cchDest & 0x7FFFFFFFFFFFFFFFi64) != 0 )
*pszDest = 0;
}
}
return v7;
}Referenced by:
CmGetDeviceInterfaceRegKeyPath
PiCMGenerateDeviceInstance