다음을 통해 공유


COM 인터페이스 진입점

COM 인터페이스의 멤버 함수의 경우 매크로를 사용하여 METHOD_PROLOGUE 내보낸 인터페이스의 메서드를 호출할 때 적절한 전역 상태를 기본.

일반적으로 파생 개체에 의해 CCmdTarget구현된 인터페이스의 멤버 함수는 이미 이 매크로를 사용하여 포인터의 pThis 자동 초기화를 제공합니다. 예시:

STDMETHODIMP_(ULONG) CMySink::XSinky::AddRef()
{
   METHOD_PROLOGUE(CMySink, Sinky);
   return pThis->InternalAddRef();
}

자세한 내용은 MFC/OLE IUnknown 구현에 대한 Technical Note 38을 참조하세요.

매크로는 METHOD_PROLOGUE 다음과 같이 정의됩니다.

#define METHOD_PROLOGUE(theClass, localClass) \
    theClass* pThis = \
    ((theClass*)((BYTE*)this - offsetof(theClass, m_x##localClass))); \
    AFX_MANAGE_STATE(pThis->m_pModuleState) \

전역 상태 관리와 관련된 매크로 부분은 다음과 같습니다.

AFX_MANAGE_STATE( pThis->m_pModuleState )

이 식에서 m_pModuleState 포함하는 개체의 멤버 변수로 간주됩니다. 기본 클래스에 CCmdTarget 의해 구현되며 개체가 인스턴스화될 때 적절한 값으로 COleObjectFactory초기화됩니다.

참고 항목

MFC 모듈의 상태 데이터 관리