CComObjectGlobal 클래스
이 클래스는 개체를 포함하는 Base
모듈의 참조 횟수를 관리합니다.
구문
template<class Base>
class CComObjectGlobal : public Base
매개 변수
Base
CComObjectRoot 또는 CComObjectRootEx에서 파생된 클래스와 개체에서 지원하려는 다른 인터페이스에서 파생됩니다.
멤버
공용 생성자
속성 | 설명 |
---|---|
CComObjectGlobal::CComObjectGlobal | 생성자입니다. |
CComObjectGlobal::~CComObjectGlobal | 소멸자입니다. |
공용 메서드
이름 | 설명 |
---|---|
CComObjectGlobal::AddRef | 전역 AddRef 을 구현합니다. |
CComObjectGlobal::QueryInterface | 전역 QueryInterface 을 구현합니다. |
CComObjectGlobal::Release | 전역 Release 을 구현합니다. |
공용 데이터 멤버
속성 | 설명 |
---|---|
CComObjectGlobal::m_hResFinalConstruct | 개체를 생성할 때 반환되는 HRESULT를 CComObjectGlobal 포함합니다. |
설명
CComObjectGlobal
는 개체를 포함하는 Base
모듈의 참조 수를 관리합니다. CComObjectGlobal
는 모듈이 해제되지 않는 한 개체가 삭제되지 않도록 합니다. 개체는 전체 모듈의 참조 수가 0으로 이동한 경우에만 제거됩니다.
예를 들어 클래스 팩터리를 사용하면 CComObjectGlobal
모든 클라이언트에서 공유하는 공통 전역 개체를 보유할 수 있습니다.
상속 계층 구조
Base
CComObjectGlobal
요구 사항
헤더: atlcom.h
CComObjectGlobal::AddRef
개체의 참조 수를 1씩 증분합니다.
STDMETHOD_(ULONG, AddRef)();
Return Value
진단 및 테스트에 유용할 수 있는 값입니다.
설명
기본적으로 AddRef
CComModule의 전역 인스턴스 또는 CComModule에서 파생된 클래스를 호출 _Module::Lock
_Module
합니다.
CComObjectGlobal::CComObjectGlobal
생성자입니다. 를 호출 FinalConstruct
한 다음 m_hResFinalConstruct 반환된 HRESULT
FinalConstruct
로 설정합니다.
CComObjectGlobal(void* = NULL));
설명
CComObjectRoot에서 기본 클래스를 파생하지 않은 경우 고유한 FinalConstruct
메서드를 제공해야 합니다. 이 소멸자는 FinalRelease
을 호출합니다.
CComObjectGlobal::~CComObjectGlobal
소멸자입니다.
CComObjectGlobal();
설명
할당된 모든 리소스를 해제하고 FinalRelease를 호출 합니다.
CComObjectGlobal::m_hResFinalConstruct
개체를 생성할 때 호출 FinalConstruct
되는 HRESULT를 CComObjectGlobal
포함합니다.
HRESULT m_hResFinalConstruct;
CComObjectGlobal::QueryInterface
요청된 인터페이스 포인터에 대한 포인터를 검색합니다.
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
매개 변수
iid
[in] 요청되는 인터페이스의 GUID입니다.
ppvObject
[out] iid로 식별되는 인터페이스 포인터에 대한 포인터이거나, 인터페이스를 찾을 수 없는 경우 NULL입니다.
Return Value
표준 HRESULT 값입니다.
설명
QueryInterface
에서는 COM 맵 테이블의 인터페이스만 처리됩니다.
CComObjectGlobal::Release
개체의 참조 수를 1로 줄입니다.
STDMETHOD_(ULONG, Release)();
Return Value
디버그 빌드 Release
에서 진단 및 테스트에 유용할 수 있는 값을 반환합니다. 디버그가 아닌 빌드에서는 항상 0을 반환합니다 Release
.
설명
기본적으로 Release
CComModule의 전역 인스턴스 또는 CComModule에서 파생된 클래스를 호출 _Module::Unlock
_Module
합니다.