다음을 통해 공유


CComObjectStack 클래스

이 클래스는 임시 COM 개체를 만들고 skeletal 구현 IUnknown을 제공합니다.

구문

template <class  Base>
class CComObjectStack : public Base

매개 변수

Base
CComObjectRoot 또는 CComObjectRootEx에서 파생된 클래스와 개체에서 지원하려는 다른 인터페이스에서 파생됩니다.

멤버

공용 생성자

속성 설명
CComObjectStack::CComObjectStack 생성자입니다.
CComObjectStack::~CComObjectStack 소멸자입니다.

공용 메서드

이름 설명
CComObjectStack::AddRef 0을 반환합니다. 디버그 모드에서 .를 호출합니다 _ASSERTE.
CComObjectStack::QueryInterface E_NOINTERFACE 반환합니다. 디버그 모드에서 .를 호출합니다 _ASSERTE.
CComObjectStack::Release 0을 반환합니다. 디버그 모드에서 .를 호출합니다 _ASSERTE. ~

공용 데이터 멤버

속성 설명
CComObjectStack::m_hResFinalConstruct 개체를 생성할 때 반환되는 HRESULT를 CComObjectStack 포함합니다.

설명

CComObjectStack 는 임시 COM 개체를 만들고 개체에 스켈레탈 구현 IUnknown을 제공하는 데 사용됩니다. 일반적으로 개체는 하나의 함수 내에서 로컬 변수로 사용됩니다(즉, 스택에 푸시됨). 함수가 완료되면 개체가 제거되므로 효율성을 높이기 위해 참조 계산이 수행되지 않습니다.

다음 예제에서는 함수 내에서 사용되는 COM 개체를 만드는 방법을 보여줍니다.

void MyFunc()
{
   CComObjectStack<CMyClass2> Tempobj;
   //...
}

임시 개체 Tempobj 는 스택에 푸시되고 함수가 완료되면 자동으로 사라집니다.

상속 계층 구조

Base

CComObjectStack

요구 사항

헤더: atlcom.h

CComObjectStack::AddRef

0을 반환합니다.

STDMETHOD_(ULONG, AddRef)();

Return Value

0을 반환합니다.

설명

디버그 모드에서 .를 호출합니다 _ASSERTE.

CComObjectStack::CComObjectStack

생성자입니다.

CComObjectStack(void* = NULL);

설명

를 호출 FinalConstruct 한 후 m_hResFinalConstruct 반환된 HRESULT로 FinalConstruct설정합니다. CComObjectRoot에서 기본 클래스를 파생하지 않은 경우 고유한 FinalConstruct 메서드를 제공해야 합니다. 이 소멸자는 FinalRelease을 호출합니다.

CComObjectStack::~CComObjectStack

소멸자입니다.

CComObjectStack();

설명

할당된 모든 리소스를 해제하고 FinalRelease를 호출 합니다.

CComObjectStack::m_hResFinalConstruct

개체를 생성할 때 호출 FinalConstruct 에서 반환된 HRESULT를 CComObjectStack 포함합니다.

HRESULT    m_hResFinalConstruct;

CComObjectStack::QueryInterface

E_NOINTERFACE 반환합니다.

HRESULT    QueryInterface(REFIID, void**);

Return Value

E_NOINTERFACE 반환합니다.

설명

디버그 모드에서 .를 호출합니다 _ASSERTE.

CComObjectStack::Release

0을 반환합니다.

STDMETHOD_(ULONG, Release)();

Return Value

0을 반환합니다.

설명

디버그 모드에서 .를 호출합니다 _ASSERTE.

참고 항목

CComAggObject 클래스
CComObject 클래스
CComObjectGlobal 클래스
클래스 개요