PnpGetObjectPropertyLocalesWorker
NTSTATUS __stdcall PnpGetObjectPropertyLocalesWorker(
HPNPCTX *hPnpCtx,
WCHAR *ObjectName,
PNP_OBJECT_TYPE ObjectType,
VOID *ObjectBaseKey,
_DEVPROPKEY *PropertyKey,
WCHAR *Buffer,
UINT64 BufferLength,
UINT64 *RequiredLength,
UINT64 Flags){
CHAR *v9;
NTSTATUS MappedPropertyLocalesDispatch;
WCHAR *v14;
int v15;
INT64 v17;
INT64 v18;
INT64 v19;
VOID *Handle;
Handle = 0i64;
v9 = (CHAR *)ObjectBaseKey;
if( (_WORD)Flags )
return -1073741811;
v14 = Buffer;
if( Buffer )
{
v15 = BufferLength;
v14 = (WCHAR *)(-(__int64)((_DWORD)BufferLength != 0) & (unsigned __int64)Buffer);
}
else
{
v15 = 0;
}
LODWORD(v19) = Flags;
*(_DWORD *)RequiredLength = 0;
LODWORD(v18) = v15;
MappedPropertyLocalesDispatch = PnpGetMappedPropertyLocalesDispatch(
hPnpCtx,
ObjectName,
ObjectType,
ObjectBaseKey,
PropertyKey,
v14,
v18,
RequiredLength,
v19);
if( MappedPropertyLocalesDispatch == -1073741802 )
{
if( !v9 )
{
MappedPropertyLocalesDispatch = PnpOpenObjectRegKey(
(__int64)hPnpCtx,
(__int64)ObjectName,
ObjectType,
33554433,
0,
(__int64)&Handle);
if( MappedPropertyLocalesDispatch < 0 )
goto LABEL_11;
v9 = (CHAR *)Handle;
}
LODWORD(v17) = v15;
MappedPropertyLocalesDispatch = PnpGetGenericStorePropertyLocales(
(INT64)hPnpCtx,
v9,
(INT64)PropertyKey,
v14,
v17,
RequiredLength);
}
LABEL_11:
if( Handle )
ZwClose((_HANDLE)Handle);
return MappedPropertyLocalesDispatch;
}Referenced by:
PnpGetObjectPropertyLocales