Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podsystem konfiguracji sieci może poinformować obiekt powiadamiania, gdy podsystem dodaje składniki sieciowe. Po zainicjowaniu obiektu powiadomień, podsystem wywołuje metodę INetCfgComponentNotifyGlobal::GetSupportedNotifications obiektu , aby pobrać rodzaje powiadomień wymaganych przez ten obiekt. "Jeśli obiekt powiadamiania określił, że wymagane jest powiadomienie podczas dodawania składników sieciowych, podsystem wywołuje metodę obiektu powiadamiania INetCfgComponentNotifyGlobal::SysNotifyComponent i przekazuje NCN_ADD, aby poinformować obiekt powiadamiania, że podsystem zainstalował składnik sieciowy." Jeśli składnik, który jest właścicielem obiektu powiadamiania, powinien wiązać się z określonym składnikiem, obiekt powiadamiania powinien wykonywać operacje ułatwiające powiązanie. Na przykład poniższy kod pokazuje, jak obiekt powiadamiania może powiązać jego składnik z określonym składnikiem, jeśli określony składnik jest wymaganą fizyczną kartą sieciową.
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;
}