ExpWnfAllocateScopeInstance
NTSTATUS __stdcall ExpWnfAllocateScopeInstance(
_WNF_SCOPE_INSTANCE **Scope,
_WNF_DATA_SCOPE DataScope,
VOID *ScopeInstanceId,
UINT64 InstanceufferSize){
size_t v4;
VOID **PoolWithTag;
VOID **v9;
NTSTATUS result;
v4 = InstanceufferSize;
PoolWithTag = ExAllocatePoolWithTag(1ui64, (unsigned int)(InstanceufferSize + 80), 543583831i64);
v9 = PoolWithTag;
if( !PoolWithTag )
return -1073741670;
memset(PoolWithTag, 0i64, 0x50u);
*(_DWORD *)v9 = 5245186;
*((_DWORD *)v9 + 4) = DataScope;
*((_DWORD *)v9 + 5) = v4;
if( v4 )
{
v9[3] = v9 + 10;
memmove(v9 + 10, ScopeInstanceId, v4);
}
v9[6] = 0i64;
v9[7] = 0i64;
result = 0;
*Scope = (_WNF_SCOPE_INSTANCE *)v9;
return result;
}Referenced by:
ExpWnfResolveScopeInstance