Comments 4
Объясните пожалуйста подробнее, момент подсчета экземпляров библиотеки, для чего он нужен и где объявляется?
TestBackgroundTask() throw()
: m_count(1)
{
//Увеличиваем общее количество экземпляров объектов библиотеки
InterlockedIncrement(&m_objectsCount);
}
0
Внимательный но спешащий, вопрос снят.
0
Наверно, пропустили вот эту часть статьи
Подсчет объектов нужен, для того, чтобы исполняющая среда узнала может ли она выгрузить библиотеку.
А в коде определение переменной выглядит вот так
Внимательный читатель мог заметить странную деталь в конструкторах и деструкторах классов, а именно инкремент и декремент переменной m_objectsCount. Данную переменную я объявил сразу после директив using перед кодом классов. А используется она в экспортируемой библиотекой функции DllCanUnloadNow:
Подсчет объектов нужен, для того, чтобы исполняющая среда узнала может ли она выгрузить библиотеку.
А в коде определение переменной выглядит вот так
#include "pch.h"
#include "TestComponent.h"
//Импортируем пространство имён нашего компонента
using namespace ABI::NMSPC::TestComponent;
//Импортируем интерфейсы из пространства имён ABI::Windows::ApplicationModel::Background
using ABI::Windows::ApplicationModel::Background::IBackgroundTask;
using ABI::Windows::ApplicationModel::Background::IBackgroundTaskInstance;
//Переменная для хранения числа текущих экземпляров объектов библиотеки.
//Значение данной переменной будем изменять в конструкторах объектов реализации
//фоновой задачи и фабрики.
ULONG m_objectsCount = 0;
..................................................................
0
Sign up to leave a comment.
Articles
Change theme settings
Создания Windows Runtime компонента на Visual C++