COleDispatchDriver::AttachDispatch
Wywołanie AttachDispatch Członkowskich funkcji dołączyć IDispatch wskaźnik do COleDispatchDriver obiektu.Aby uzyskać więcej informacji, zobacz Implementing the IDispatch Interface.
void AttachDispatch(
LPDISPATCH lpDispatch,
BOOL bAutoRelease = TRUE
);
Parametry
lpDispatch
Wskaźnik OLE IDispatch obiektu do COleDispatchDriver obiektu.bAutoRelease
Określa, czy wysyłkę zwolnione, gdy ten obiekt wykracza poza zakres.
Uwagi
Funkcja ta zwalnia żadnego IDispatch wskaźnik, który jest już dołączony do COleDispatchDriver obiektu.
Przykład
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.
}
Wymagania
Nagłówek: afxdisp.h
Zobacz też
Informacje
COleDispatchDriver::DetachDispatch
COleDispatchDriver::ReleaseDispatch
COleDispatchDriver::CreateDispatch