IoWMIQueryAllDataMultiple
NTSTATUS __stdcall IoWMIQueryAllDataMultiple(
VOID **DataBlockObjectList,
UINT64 ObjectCount,
UINT64 *InOutBufferSize,
VOID *OutBuffer){
unsigned int v4;
unsigned int v8;
NTSTATUS AllDataMultiple;
UINT64 v11;
__int64 v12;
char v13[80];
v4 = ObjectCount;
memset(v13, 0i64, 0x48u);
LODWORD(v12) = 0;
if( !DataBlockObjectList || !v4 || !InOutBufferSize )
return -1073741811;
v8 = *(_DWORD *)InOutBufferSize;
if( !OutBuffer || v8 < 0x48 )
{
OutBuffer = v13;
v8 = 72;
}
LODWORD(v11) = v8;
AllDataMultiple = WmipQueryAllDataMultiple(
v4,
(__int64)DataBlockObjectList,
0i64,
0,
(tagWNODE_ALL_DATA *)OutBuffer,
v11,
0i64,
(__int64)&v12);
if( AllDataMultiple >= 0 )
{
if( (*((_DWORD *)OutBuffer + 11) & 0x20) != 0 )
{
*(_DWORD *)InOutBufferSize = *((_DWORD *)OutBuffer + 12);
}
else
{
*(_DWORD *)InOutBufferSize = v12;
if( OutBuffer != v13 )
return AllDataMultiple;
}
return -1073741789;
}
return AllDataMultiple;
}Referenced by:
No references.