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.
Het subsysteem voor netwerkconfiguratie kan een meldingsobject informeren wanneer het subsysteem netwerkonderdelen toevoegt. Nadat een meldingsobject is geïnitialiseerd, roept het subsysteem de INetCfgComponentNotifyGlobal::GetSupportedNotifications-methode aan om de typen meldingen op te halen die vereist zijn voor het object. Als het meldingsobject heeft opgegeven dat de melding is vereist wanneer netwerkonderdelen worden toegevoegd, roept het subsysteem de INetCfgComponentNotifyGlobal::SysNotifyComponent-methode aan en geeft NCN_ADD door om het meldingsobject te informeren dat het subsysteem een netwerkonderdeel heeft geïnstalleerd. Als het onderdeel dat eigenaar is van het meldingsobject verbinding moet maken met het opgegeven onderdeel, moet het meldingsobject bewerkingen uitvoeren om de binding te vergemakkelijken. De volgende code laat bijvoorbeeld zien hoe het meldingsobject het onderdeel kan binden aan het opgegeven onderdeel als het opgegeven onderdeel een vereiste fysieke netwerkkaart is.
HRESULT CSample::SysNotifyComponent(DWORD dwChangeFlag,
INetCfgComponent* pnccItem)
{
HRESULT hr = S_OK;
INetCfgComponentBindings *pncfgcompbind;
// Retrieve bindings for the notify object's component (m_pncc)
hr = m_pncc->QueryInterface(IID_INetCfgComponentBindings,
(LPVOID*)&pncfgcompbind);
// Determine if notification is about adding a component
if (SUCCEEDED(hr) && (NCN_ADD & dwChangeFlag)) {
// Retrieve the characteristics of the added component
DWORD dwcc;
hr = pnccItem->GetCharacteristics(&dwcc);
// Determine if the added component is a physical adapter
if (SUCCEEDED(hr) && (dwcc & NCF_PHYSICAL)) {
// Determine the component's ID
LPWSTR pszwInfId;
hr = pnccItem->GetId(&pszwInfId);
if (SUCCEEDED(hr)) {
// Compare the component's ID to the required ID
// and if they are the same perform the binding.
static const TCHAR c_szCompId[] = TEXT("BINDTO_NIC");
if (!_tcsicmp(pszwInfId, c_szCompId)) {
hr = pncfgcompbind->BindTo(pnccItem);
}
}
}
}
return hr;
}