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
초기화됩니다.