Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Deze functies bieden ondersteuning voor verbindingspunten en sink-kaarten.
Belangrijk
De functies in de volgende tabel kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
| Functie | Description |
|---|---|
| AtlAdvise | Hiermee maakt u een verbinding tussen het verbindingspunt van een object en de sink van een client. |
| AtlUnadvise | Hiermee wordt de verbinding beëindigd die tot stand is gebracht via AtlAdvise. |
| AtlAdviseSinkMap | Adviseert of niet-aaneengeslagen vermeldingen in een gebeurtenissinkkaart. |
Requirements
Header: atlbase.h
AtlAdvise
Hiermee maakt u een verbinding tussen het verbindingspunt van een object en de sink van een client.
Belangrijk
Deze functie kan niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
HRESULT AtlAdvise(
IUnknown* pUnkCP,
IUnknown* pUnk,
const IID& iid,
LPDWORD pdw);
Parameterwaarden
pUnkCP
[in] Een aanwijzer naar het IUnknown object waarmee de client verbinding wil maken.
Punk
[in] Een aanwijzer naar de client IUnknown.
iid
[in] De GUID van het verbindingspunt. Dit is doorgaans hetzelfde als de uitgaande interface die wordt beheerd door het verbindingspunt.
Pdw
[uit] Een aanwijzer naar de cookie die de verbinding uniek identificeert.
Retourwaarde
Een standaard HRESULT-waarde.
Opmerkingen
De sink implementeert de uitgaande interface die wordt ondersteund door het verbindingspunt. De client gebruikt de pdw-cookie om de verbinding te verwijderen door deze door te geven aan AtlUnadvise.
Example
LPUNKNOWN m_pSourceUnk;
LPUNKNOWN m_pSinkUnk;
DWORD m_dwCustCookie;
// create source object
HRESULT hr = CoCreateInstance (CLSID_MyComponent, NULL, CLSCTX_ALL,
IID_IUnknown, (LPVOID*)&m_pSourceUnk);
ATLASSERT(SUCCEEDED(hr));
// Create sink object. CMySink is a CComObjectRootEx-derived class
// that implements the event interface methods.
CComObject<CMySink>* pSinkClass;
CComObject<CMySink>::CreateInstance(&pSinkClass);
hr = pSinkClass->QueryInterface (IID_IUnknown, (LPVOID*)&m_pSinkUnk);
ATLASSERT(SUCCEEDED(hr));
hr = AtlAdvise (m_pSourceUnk, m_pSinkUnk, __uuidof(_IMyComponentEvents), &m_dwCustCookie);
ATLASSERT(SUCCEEDED(hr));
AtlUnadvise
Hiermee wordt de verbinding beëindigd die tot stand is gebracht via AtlAdvise.
Belangrijk
Deze functie kan niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
HRESULT AtlUnadvise(
IUnknown* pUnkCP,
const IID& iid,
DWORD dw);
Parameterwaarden
pUnkCP
[in] Een aanwijzer naar het IUnknown object waarmee de client is verbonden.
iid
[in] De GUID van het verbindingspunt. Dit is doorgaans hetzelfde als de uitgaande interface die wordt beheerd door het verbindingspunt.
Dw
[in] De cookie waarmee de verbinding uniek wordt geïdentificeerd.
Retourwaarde
Een standaard HRESULT-waarde.
Example
LPUNKNOWN m_pSourceUnk;
LPUNKNOWN m_pSinkUnk;
DWORD m_dwCustCookie;
// create source object
HRESULT hr = CoCreateInstance (CLSID_MyComponent, NULL, CLSCTX_ALL,
IID_IUnknown, (LPVOID*)&m_pSourceUnk);
ATLASSERT(SUCCEEDED(hr));
// Create sink object. CMySink is a CComObjectRootEx-derived class
// that implements the event interface methods.
CComObject<CMySink>* pSinkClass;
CComObject<CMySink>::CreateInstance(&pSinkClass);
hr = pSinkClass->QueryInterface (IID_IUnknown, (LPVOID*)&m_pSinkUnk);
ATLASSERT(SUCCEEDED(hr));
hr = AtlAdvise (m_pSourceUnk, m_pSinkUnk, __uuidof(_IMyComponentEvents), &m_dwCustCookie);
ATLASSERT(SUCCEEDED(hr));
// do something
CComBSTR bstrMsg(L"Hi there!");
((CMyComponent*)m_pSourceUnk)->Fire_ShowMyMsg(bstrMsg);
hr = AtlUnadvise (m_pSourceUnk, __uuidof(_IMyComponentEvents), m_dwCustCookie);
ATLASSERT(SUCCEEDED(hr));
AtlAdviseSinkMap
Roep deze functie aan om alle vermeldingen in de sink-gebeurtenistoewijzing van het object te adviseren of ongedaan te maken.
Belangrijk
Deze functie kan niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
HRESULT AtlAdviseSinkMap(T* pT, bool bAdvise);
Parameterwaarden
Pt
[in] Een aanwijzer naar het object met de sinktoewijzing.
bAdvise
[in] WAAR als alle sinkvermeldingen moeten worden geadviseerd; ONWAAR als alle sinkvermeldingen onaangetekend moeten zijn.
Retourwaarde
Een standaard HRESULT-waarde.
Example
class CMyDlg :
public CAxDialogImpl<CMyDlg>
{
public:
BEGIN_MSG_MAP(CMyDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_HANDLER(IDOK, BN_CLICKED, OnClickedOK)
COMMAND_HANDLER(IDCANCEL, BN_CLICKED, OnClickedCancel)
CHAIN_MSG_MAP(CAxDialogImpl<CMyDlg>)
END_MSG_MAP()
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
CAxDialogImpl<CMyDlg>::OnInitDialog(uMsg, wParam, lParam, bHandled);
AtlAdviseSinkMap(this, TRUE);
bHandled = TRUE;
return 1; // Let the system set the focus
}
// Remainder of class declaration omitted.