DrvDbGetObjectDatabaseNodeName

INT64 __fastcall DrvDbGetObjectDatabaseNodeName(INT64 *a1, INT64 a2, INT64 a3, VOID *a4, UINT64 arg20, UINT64 *a6){
  int v7; 
  __int64 v8; 
  unsigned int v9; 
  INT64 a5; 
  __int64 v12; 
  void *Handle[2]; 
  Handle[0] = 0i64;
  v12 = 0i64;
  *(_DWORD *)a6 = 0;
  LODWORD(a5) = 1;
  v7 = DrvDbOpenObjectRegKey(a1, 0i64, (unsigned int)a2, (WCHAR *)a3, a5, 0, (INT64)Handle, 0i64, (INT64)&v12);
  if( v7 >= 0 )
  {
    v8 = v12;
    v9 = *(unsigned __int16 *)(v12 + 16) + 2;
    *(_DWORD *)a6 = v9;
    if( a4 && (unsigned int)arg20 >= v9 )
      memmove((UINT8 *)a4, *(UINT8 **)(v8 + 24), v9);
    else
      v7 = -1073741789;
  }
  if( Handle[0] )
    ZwClose(Handle[0]);
  return(unsigned int)v7;
}

Referenced by:

DrvDbGetDeviceIdMappedProperty
DrvDbGetDriverFileMappedProperty
DrvDbGetDriverInfFileMappedProperty
DrvDbGetDriverPackageMappedProperty