本文整理汇总了C++中CBuffer::AddRef方法的典型用法代码示例。如果您正苦于以下问题:C++ CBuffer::AddRef方法的具体用法?C++ CBuffer::AddRef怎么用?C++ CBuffer::AddRef使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBuffer
的用法示例。
在下文中一共展示了CBuffer::AddRef方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: lock
CBuffer *CBuffer::Allocator::Allocate()
{
CCriticalSection::Owner lock( m_criticalSection );
CBuffer *pBuffer = 0;
if ( !m_freeList.Empty() )
{
pBuffer = m_freeList.PopNode();
pBuffer->AddRef();
}
else
{
pBuffer = new( m_bufferSize )CBuffer( *this, m_bufferSize );
if ( !pBuffer )
{
throw CException( _T("CBuffer::Allocator::Allocate()"), _T("Out of memory") );
}
OnBufferCreated();
}
m_activeList.PushNode( pBuffer );
OnBufferAllocated();
return pBuffer;
}
示例2: lock
CBuffer *CClientNode::CDataQueue::Get()
{
{
CCriticalSection::Owner lock( m_csQueue );
if ( !m_theData.empty() )
{
CBuffer *pBuffer = m_theData.front();
pBuffer->AddRef();
m_theData.pop_front();
pBuffer->Release();
return pBuffer;
}
}
return NULL;
}