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::DetachDispatch
COleDispatchDriver::ReleaseDispatch
COleDispatchDriver::CreateDispatch