Контрольная работа: Распределенная обработка данных

}

else

{

trace("CA QI: Interface No!");

*ppv = NULL;

return E_NOINTERFACE;

}

reinterpret_cast<IUnknown*>(*ppv)->AddRef();

return S_OK;

}

ULONG __stdcall CA::AddRef()

{

cout << "CA: AddRef = " << m_cRef+1 << endl;

return InterlockedIncrement(&m_cRef);

}

ULONG __stdcall CA::Release()

{

cout << "CA: Release = " << m_cRef-1 << endl;

if (InterlockedDecrement(&m_cRef) == 0)

{

delete this;

return 0;

}

return m_cRef;

}

//

// Функция создания

//

IUnknown* CreateInstance()

К-во Просмотров: 517
Бесплатно скачать Контрольная работа: Распределенная обработка данных