다음을 통해 공유


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 반환된 HRESULTFinalConstruct로 설정합니다.

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 합니다.

참고 항목

CComObjectStack 클래스
CComAggObject 클래스
CComObject 클래스
클래스 개요