COleDispatchDriver::AttachDispatch

호출의 AttachDispatch 멤버 함수를 연결 하는 IDispatch 에 대 한 포인터는 COleDispatchDriver 개체.자세한 내용은 Implementing the IDispatch Interface를 참조하십시오.

void AttachDispatch(
   LPDISPATCH lpDispatch,
   BOOL bAutoRelease = TRUE 
);

매개 변수

  • lpDispatch
    OLE에 대 한 포인터 IDispatch 개체에 연결 하는 COleDispatchDriver 개체입니다.

  • bAutoRelease
    디스패치가이 개체가 범위를 벗어날 때 해제 되는지 여부를 지정 합니다.

설명

이 함수는 해제 IDispatch 에 연결 된 포인터는 COleDispatchDriver 개체입니다.

예제

void COleContainerView::OnAttachDispatch()
{
   CLSID clsidWMP;
   LPDISPATCH pWMPDispatch = NULL;
   COleDispatchDriver oddWMP;

   try
   {
      AfxCheckError(::CLSIDFromProgID(_T("WMPlayer.OCX"), &clsidWMP));

      AfxCheckError(::CoCreateInstance(clsidWMP, NULL, CLSCTX_INPROC_SERVER, 
         IID_IDispatch, (LPVOID*)&pWMPDispatch));

      oddWMP.AttachDispatch(pWMPDispatch, TRUE);
      pWMPDispatch = NULL; // our COleDispatchDriver now owns the interface

      CString strUIMode;
      oddWMP.GetProperty(23, VT_BSTR, (void*)&strUIMode);
      TRACE(_T("WMP uiMode is %s.\n"), strUIMode);
   }
   catch (COleException* pe)
   {
      pe->ReportError();
      pe->Delete();
   }
   catch (CMemoryException* pe)
   {
      pe->ReportError();
      pe->Delete();
   }

   // cleanup
   if (NULL != pWMPDispatch)
   {
      pWMPDispatch->Release();   
   }

   // COleDispatchDriver automatically releases the dispatch interface when
   // it goes out of scope if m_bAutoRelease is TRUE.
}

요구 사항

헤더: afxdisp.h

참고 항목

참조

COleDispatchDriver 클래스

계층 구조 차트

COleDispatchDriver::DetachDispatch

COleDispatchDriver::ReleaseDispatch

COleDispatchDriver::CreateDispatch

COleDispatchDriver::m_lpDispatch

COleDispatchDriver::m_bAutoRelease