PiSwFindSwDevice
INT64 __fastcall PiSwFindSwDevice(WCHAR *pszSrc){
INT64 v2;
WCHAR *v4;
INT64 *v5;
INT64 *Buffer;
INT64 result[26];
wchar_t pszDest[5];
__int16 Str[195];
memset((INT64)result, 0i64);
Buffer = result;
v2 = 0i64;
if( !wcsnicmp(pszSrc, L"SWD\\", 4ui64) && RtlStringCbCopyW(pszDest, 0x190ui64, pszSrc) >= 0 )
{
result[1] = (INT64)pszDest;
v4 = wcschr((WCHAR *)Str, 0x5Cu);
if( v4 )
{
*v4 = 0;
result[2] = (INT64)(v4 + 1);
LODWORD(v5) = RtlLookupElementGenericTableAvl(&PiSwDeviceInstanceTable, &Buffer);
if( v5 )
return *v5;
}
}
return v2;
}Referenced by:
PiSwIrpCleanup
PiSwProcessParentRemoveIrp