PiDqActionDataGetAllPropertiesInBestLanguage
NTSTATUS __stdcall PiDqActionDataGetAllPropertiesInBestLanguage(
_SECURITY_SUBJECT_CONTEXT *SecurityContext,
_DEVPROPSTORE Store,
PNP_OBJECT_TYPE ObjectType,
WCHAR *ObjectName,
WCHAR *PreferredLanguages,
const VOID **Properties,
UINT64 *PropertyCount,
UINT64 *MaxPropertyCount){
void *v9;
PNP_OBJECT_TYPE v10;
int v11;
_DEVPROPKEY **v12;
UINT64 v13;
UINT64 *v15;
UINT64 v16;
VOID *ObjectBaseKey;
UINT64 v18;
ObjectBaseKey = 0i64;
v9 = 0i64;
v10 = 0;
v18 = 0i64;
if( Store != DEVPROP_STORE_USER )
v10 = ObjectType;
v11 = PiDqOpenObjectRegKey(Store, ObjectName, ObjectType, 1ui64, 0, SecurityContext, &ObjectBaseKey, v15, v16);
if( v11 >= 0 )
{
v11 = PiDqPnPGetObjectPropertyKeys(ObjectName, v10, ObjectBaseKey, v12, &v18);
if( v11 >= 0 )
{
v13 = *(unsigned int *)PropertyCount;
if( *(_DWORD *)MaxPropertyCount < (unsigned int)v13 )
{
*(_DWORD *)MaxPropertyCount = v13;
v11 = PiDqGrowPropertyArray(Properties, v13, (unsigned int)v13);
}
}
v9 = (void *)v18;
}
if( ObjectBaseKey )
ZwClose((_HANDLE)ObjectBaseKey);
if( v9 )
ExFreePoolWithTag(v9, 0x58706E50u);
return v11;
}Referenced by:
PiDqActionDataCreate