您的位置:首页 > 其它

Windows::WCP::Implementation::CAllocationPool

2016-09-18 21:57 204 查看

Windows::WCP::Implementation::CAllocationPool

//----- (100A247E) --------------------------------------------------------
int __thiscall Windows::WCP::Implementation::CAllocationPool::
Allocate<Windows::Auto<Windows::Rtl::IRtlFile *>>(
Windows::WCP::Implementation::CAllocationPool *this, int a2)
{
*(_DWORD *)a2 = 0;
v2 = Windows::WCP::Implementation::CAllocationPool::Allocate(
this,
4u,
Windows::Auto<Windows::Rtl::IRtlSystemIsolationLayer *>::~Auto<Windows::Rtl::IRtlSystemIsolationLayer *>);
if ( v2 )
{
*v2 = 0;
*(_DWORD *)a2 = v2;
}
return *(_DWORD *)a2;
}

//----- (1023B8A7) --------------------------------------------------------
void *__thiscall Windows::WCP::Implementation::CAllocationPool::
Allocate(
Windows::WCP::Implementation::CAllocationPool *this,
unsigned __int32 a2, void (__fastcall *a3)(void *))
{

v3 = this;
if ( a2 < 0xFFFFFFEF )
{
v5 = RtlAllocateHeap(*(HANDLE *)(__readfsdword(48) + 24), 0, a2 + 16);
v7 = v5;
if ( v5 )
{
v5[2] = 0;
*v5 = 0;
v5[1] = 0;
}
else
{
v7 = 0;
}
if ( v7 )
{
v7[3] = a3;
BUCL::CDequeBase::InsertBefore(v3, v3, (struct BUCL::CDequeLinkage *)v7, v6);
result = v7 + 4;
}
else
{
result = 0;
}
}
else
{
result = 0;
}
return result;
}

//----- (100A2810) --------------------------------------------------------
void __fastcall Windows::WCP::Implementation::CAllocationPool::
DefaultDestructor<
Windows::Auto<Windows::COM::CComDualPathLock *>>(void *a1)
{
v1 = *(Windows::COM::CComDualPathLock **)a1;
if ( *(_DWORD *)a1 )
{
*(_DWORD *)a1 = 0;
if ( v1 )
{
Windows::COM::CComDualPathLock::~CComDualPathLock(v1);
RtlFreeHeap(*(HANDLE *)(__readfsdword(48) + 24), 0, (PVOID)v1);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows WCP 构造函数
相关文章推荐