PiDqPnPGetObjectPropertyInBestLocale

NTSTATUS __stdcall PiDqPnPGetObjectPropertyInBestLocale(
        WCHAR *ObjectName,
        PNP_OBJECT_TYPE ObjectType,
        VOID *ObjectBaseKey,
        _DEVPROPKEY *PropertyKey,
        _DEVPROPSTORE Store,
        WCHAR *PreferredLanguages,
        VOID *Property){
  __int64 v12; 
  NTSTATUS result; 

  *(_OWORD *)Property = 0i64;
  *((_OWORD *)Property + 1) = 0i64;
  *((_OWORD *)Property + 2) = 0i64;
  while( *PreferredLanguages )
  {
    result = PiDqPnPGetObjectProperty(
               ObjectName,
               ObjectType,
               ObjectBaseKey,
               PropertyKey,
               Store,
               PreferredLanguages,
               (_DEVPROPERTY *)Property);
    if( result < 0 || *((_DWORD *)Property + 8) )
      return result;
    PnpFreeDevProperty((__int64)Property, 0x58706E50u);
    v12 = -1i64;
    do
      ++v12;
    while( PreferredLanguages[v12] );
    PreferredLanguages += v12 + 1;
  }
  return PiDqPnPGetObjectProperty(
           ObjectName,
           ObjectType,
           ObjectBaseKey,
           PropertyKey,
           Store,
           0i64,
           (_DEVPROPERTY *)Property);
}

Referenced by:

PiDqActionDataGetChangedProperties
PiDqActionDataGetRequestedProperties