PnpCtxFindNode
NTSTATUS __fastcall PnpCtxFindNode(INT64 a1, WCHAR *a2, INT64 a3, _UNICODE_STRING **a4){
__int64 v5;
const _UNICODE_STRING **v7;
const _UNICODE_STRING *i;
_UNICODE_STRING **v9;
_UNICODE_STRING *j;
_UNICODE_STRING String2;
*a4 = 0i64;
v5 = (int)a3;
String2 = 0i64;
RtlInitUnicodeString(&String2, a2);
if( (_DWORD)v5 )
{
v7 = (const _UNICODE_STRING **)(16 * v5 + a1 + 24);
for( i = *v7; i != (const _UNICODE_STRING *)v7; i = *(const _UNICODE_STRING **)&i->Length )
{
if( (unsigned __int8)RtlEqualUnicodeString(i + 1, &String2, 1u) )
{
*a4 = (_UNICODE_STRING *)&i[-1];
return *a4 == 0i64 ? 0xC0000034 : 0;
}
}
}
else
{
v9 = (_UNICODE_STRING **)(a1 + 8);
for( j = *v9; j != (_UNICODE_STRING *)v9; j = *(_UNICODE_STRING **)&j->Length )
{
if( (unsigned __int8)RtlEqualUnicodeString(j + 2, &String2, 1u) )
{
*a4 = j;
return *a4 == 0i64 ? 0xC0000034 : 0;
}
}
}
return *a4 == 0i64 ? 0xC0000034 : 0;
}Referenced by:
PnpCtxRegisterMachineNode