DrvDbRegisterDatabase

INT64 __stdcall DrvDbRegisterDatabase(
        WCHAR *DriverDatabaseId,
        WCHAR *SubKeyPath,
        UINT8 Extended,
        PVOID CallbackContext){
  INT64 v4; 
  bool v7; 
  INT64 v9; 
  CHAR *v10; 
  char v11; 
  INT64 v12; 
  v4 = PiDrvDbCtx;
  v10 = 0i64;
  if( (int)DrvDbFindDatabaseNode(PiDrvDbCtx, SubKeyPath, (const UNICODE_STRING **)&v10) >= 0 )
    return 0x40000000i64;
  v7 = v11 != 0;
  v11 = -v11;
  LODWORD(v9) = v7 ? 0x10 : 0;
  return DrvDbCreateDatabaseNode(
           v4,
           SubKeyPath,
           0i64,
           (CHAR *)CallbackContext,
           v9,
           (INT64)PiDrvDbNodeActionCallback,
           v12,
           &v10);
}

Referenced by:

PiDrvDbRegisterNode