ClassFactory - класс
Реализует базовую функциональность интерфейса IClassFactory
.
template <
typename I0 = Details::Nil,
typename I1 = Details::Nil,
typename I2 = Details::Nil
>
class ClassFactory :
public Details::RuntimeClass<
typename Details::InterfaceListHelper<
IClassFactory,
I0,
I1,
I2,
Details::Nil
>::TypeT,
RuntimeClassFlags<ClassicCom | InhibitWeakReference>,
false
>;
I0
Интерфейс нуля.
I1
Первый интерфейс.
I2
Второй интерфейс.
Используется ClassFactory
для предоставления пользовательской реализации фабрики.
В следующем шаблоне программирования показано, как использовать структуру "Реализация" для указания более трех интерфейсов в фабрике классов.
struct MyFactory : ClassFactory<Implements<I1, I2, I3>, I4, I5>
Имя | Описание |
---|---|
ClassFactory::ClassFactory |
Имя | Описание |
---|---|
ClassFactory::AddRef | Увеличивает число ссылок для текущего ClassFactory объекта. |
ClassFactory::LockServer | Увеличивает или уменьшает количество базовых объектов, отслеживаемых текущим ClassFactory объектом. |
ClassFactory::QueryInterface | Извлекает указатель на интерфейс, указанный параметром. |
ClassFactory::Release | Уменьшает число ссылок для текущего ClassFactory объекта. |
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ClassFactory
Заголовок: module.h
Пространство имен: Microsoft::WRL
Увеличивает число ссылок для текущего ClassFactory
объекта.
STDMETHOD_(
ULONG,
AddRef
)();
Значение S_OK, если операция завершилась успешно; в противном случае — значение HRESULT, описывающее тип сбоя.
WRL_NOTHROW ClassFactory();
Увеличивает или уменьшает количество базовых объектов, отслеживаемых текущим ClassFactory
объектом.
STDMETHOD(
LockServer
)(BOOL fLock);
стадо
true
для увеличения числа отслеживаемых объектов. false
для уменьшения количества отслеживаемых объектов.
Значение S_OK, если операция завершилась успешно; в противном случае — значение E_FAIL.
ClassFactory
отслеживает объекты в базовом экземпляре класса Module .
Извлекает указатель на интерфейс, указанный параметром.
STDMETHOD(
QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);
riid
Идентификатор интерфейса.
ppvObject
После завершения этой операции указатель на интерфейс, указанный параметром riid.
Значение S_OK, если операция завершилась успешно; в противном случае — значение HRESULT, описывающее тип сбоя.
Уменьшает число ссылок для текущего ClassFactory
объекта.
STDMETHOD_(
ULONG,
Release
)();
Значение S_OK, если операция завершилась успешно; в противном случае — значение HRESULT, описывающее тип сбоя.