PiPnpRtlRegisterDriverMachineNodeCallback
BOOL __stdcall PiPnpRtlRegisterDriverMachineNodeCallback(WCHAR *SubKey, INT32 *a2){
BOOL result;
INT32 v5;
__int64 v6;
__int64 v7;
__int64 v8;
HANDLE Handle;
Handle = 0i64;
result = wcsicmp(SubKey, L"SYSTEM");
if( !result )
goto LABEL_2;
v6 = 0i64;
if( PiPnpRtlCtx )
v6 = *(_QWORD *)(PiPnpRtlCtx + 224);
result = SysCtxRegOpenKey(v6, (char *)0x80000002i64, SubKey, 0, 0x2000000u, &Handle);
v5 = result;
if( result == -1073741772 )
{
LABEL_2:
v5 = 0;
}
else if( result >= 0 )
{
result = PnpCtxRegisterMachineNode(v7, SubKey, 3, v8, (__int64)Handle);
v5 = result;
if( result == 0x40000000 )
v5 = 0;
}
if( Handle )
result = ZwClose(Handle);
*a2 = v5;
LOBYTE(result) = v5 >= 0;
return result;
}Referenced by:
No references.