PnpGetObjectPropertyLocales
NTSTATUS __stdcall PnpGetObjectPropertyLocales(
WCHAR *ObjectName,
PNP_OBJECT_TYPE ObjectType,
VOID *ObjectBaseKey,
_DEVPROPKEY *PropertyKey,
WCHAR *Buffer,
UINT64 BufferLength,
UINT64 *RequiredLength){
HPNPCTX *v7;
WCHAR *v8;
unsigned int v9;
__int64(__fastcall *v11)(HPNPCTX *, WCHAR *, _QWORD, __int64, int, INT64 *);
int v12;
NTSTATUS ObjectPropertyLocalesWorker;
NTSTATUS v14;
int v15;
int v16;
NTSTATUS v17;
UINT64 v19;
INT64 v20;
INT64 v21[10];
INT64 v22;
v7 = (HPNPCTX *)*(&stru_140CF2E80 + 607);
v8 = *(WCHAR **)&ObjectType;
v9 = (unsigned int)ObjectBaseKey;
memset(v21, 0i64, sizeof(v21));
v11 = *(__int64(__fastcall **)(HPNPCTX *, WCHAR *, _QWORD, __int64, int, INT64 *))(*(&stru_140CF2E80 + 607) + 488i64);
LODWORD(v21[7]) = 0;
v21[3] = (INT64)Buffer;
v21[4] = BufferLength;
LODWORD(v21[5]) = (_DWORD)RequiredLength;
v21[6] = v22;
v21[2] = (INT64)PropertyKey;
if( v11 )
{
v12 = v11((HPNPCTX *)*(&stru_140CF2E80 + 607), v8, v9, 7i64, 1, v21);
if( v12 == -1073741822 )
{
v11 = 0i64;
}
else
{
if( v12 == -1073741536 )
return v21[0];
if( v12 )
return -1073741595;
}
}
LODWORD(v20) = v21[7];
LODWORD(v19) = v21[5];
ObjectPropertyLocalesWorker = PnpGetObjectPropertyLocalesWorker(
v7,
v8,
v9,
(VOID *)v21[2],
(_DEVPROPKEY *)v21[3],
(WCHAR *)v21[4],
v19,
(UINT64 *)v21[6],
v20);
v14 = ObjectPropertyLocalesWorker;
if( !v11 )
return v14;
LODWORD(v21[0]) = ObjectPropertyLocalesWorker;
v15 = v11(v7, v8, v9, 7i64, 2, v21);
v16 = v15;
if( v15 == -1073741822 )
return v14;
if( v15 == -1073741536 )
return v21[0];
v17 = v14;
if( v16 )
return -1073741595;
return v17;
}Referenced by:
PiDqPnPGetObjectPropertyLocales