KsepDbQueryRegistryDeviceData

VOID __fastcall KsepDbQueryRegistryDeviceData(
        const WCHAR *DeviceId,
        const WCHAR *DataName,
        UINT64 *DataType,
        UINT64 *DataBufferLength){
  int v7; 
  PVOID Handle; 
  __int64 v9; 
  _UNICODE_STRING TargetString; 

  *(_QWORD *)&TargetString.Length = 0i64;
  TargetString.Buffer = 0i64;
  Handle = 0i64;
  if( KsepStringTransform(&TargetString, (PWCHAR)DeviceId) >= 0 )
  {
    if( KsepRegistryOpenKey(
           (PWCHAR)L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Compatibility\\Device",
           TargetString.Buffer,
           &Handle) >= 0 )
    {
      v9 = *(unsigned int *)DataBufferLength;
      KsepRegistryQueryValue(Handle, (WCHAR *)DataName);
      *(_DWORD *)DataBufferLength = v9;
      if( v7 != -1073741772 && v7 >= 0 )
        *(_DWORD *)DataType |= 0x10000000u;
    }
    if( Handle )
    {
      ZwClose((_HANDLE)Handle);
      _InterlockedIncrement(dword_140C2A7FC);
    }
  }
  KsepStringFree(&TargetString);
}

Referenced by:

KseQueryDeviceData