Hämtar en samling
Anteckning
Internet Authentication Service (IAS) bytte namn till Network Policy Server (NPS) från och med Windows Server 2008. Innehållet i det här avsnittet gäller för både IAS och NPS. I hela texten används NPS för att referera till alla versioner av tjänsten, inklusive de versioner som ursprungligen kallades IAS.
Följande kod hämtar klientsamlingen för nätverksprincipservern.
// Retrieve the clients collection
HRESULT hr;
CComPtr<ISdo> pSdo;
hr = pSdoServiceControl->QueryInterface(
__uuidof(ISdo),
(void**) &pSdo
);
if (FAILED(hr))
{
return hr;
}
//
// First Retrieve the protocols collection
//
_variant_t vtProtocolsCollection;
hr = pSdo->GetProperty(
PROPERTY_IAS_PROTOCOLS_COLLECTION,
&vtProtocolsCollection
);
if (FAILED(hr))
{
return hr;
}
//
// Get the ISdoCollection interface
// for the object.
//
CComPtr<ISdoCollection> pProtocolsCollection;
hr = vtProtocolsCollection.pdispVal->QueryInterface(
__uuidof(ISdoCollection),
(void **) &pProtocolsCollection
);
if (FAILED(hr))
{
return hr;
}
//
// Then retrieve the RADIUS protocol
//
CComPtr<IDispatch> pRadiusDispatch;
_variant_t vtProtocolName = L"Microsoft Radius Protocol";
hr = pProtocolsCollection->Item(&vtProtocolName, &pRadiusDispatch);
if (FAILED(hr))
{
return hr;
}
CComPtr<ISdo> pRadiusSdo;
hr = pRadiusDispatch->QueryInterface(
__uuidof(ISdo),
(void **) &pRadiusSdo
);
if (FAILED(hr))
{
return hr;
}
//
// Then retrieve the clients collection
//
_variant_t vtClientsCollection;
hr = pRadiusSdo->GetProperty(PROPERTY_RADIUS_CLIENTS_COLLECTION, &vtClientsCollection);
if (FAILED(hr))
{
return hr;
}
CComPtr<ISdoCollection> pClientsCollection;
hr = vtClientsCollection.pdispVal->QueryInterface(
__uuidof(ISdoCollection),
(void **) &pClientsCollection
);
if (FAILED(hr))
{
return hr;
}
Anmärkningar
Variabeln pSdoServiceControl innehåller en pekare till ett serverdataobjekt för NPS. Mer information finns i avsnittet Hämta en tjänst SDO.
Variabeln vtClientsCollection är av typen _variant_t. Ett _variant_t-objekt kapslar in eller omsluter datatypen VARIANT. Klassen hanterar resursallokering och frigöring, och gör funktionsanrop till VariantInit och VariantClear när det är lämpligt.
Efter anropet till "pSdo->GetProperty()" anger variabeln vtProtocolsCollection ett objekt. pdispVal medlem i vtProtocolsCollection innehåller en pekare till IDispatch-gränssnittet för objektet.
Ovanstående exempelkod kan anpassas för att hämta andra NPS-samlingar, till exempel NPS-begärandehanterarens samlingar. IASPROPERTIES uppräkning med värden som motsvarar de tillgängliga NPS-samlingarna.
Relaterade ämnen