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.