Recupero di una raccolta
Nota
Internet Authentication Service (IAS) è stato rinominato Server dei criteri di rete (NPS) a partire da Windows Server 2008. Il contenuto di questo argomento si applica sia a IAS che a NPS. In tutto il testo, NPS viene usato per fare riferimento a tutte le versioni del servizio, incluse le versioni originariamente definite IAS.
Il codice seguente recupera la raccolta client per il server dei criteri di rete.
// 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;
}
Commenti
La variabile pSdoServiceControl contiene un puntatore a un oggetto dati server per NPS. Per altre informazioni, vedere l'argomento Recupero di un SDO del servizio.
La variabile vtClientsCollection è di tipo _variant_t. Oggetto _variant_t incapsula o racchiude il tipo di dati VARIANT . La classe gestisce l'allocazione e la deallocazione delle risorse e effettua chiamate di funzione a VariantInit e VariantClear in base alle esigenze.
Dopo la chiamata a "pSdo-GetProperty>()", la variabile vtProtocolsCollection specifica un oggetto. Il membro pdispVal di vtProtocolsCollection contiene un puntatore all'interfaccia IDispatch per l'oggetto.
Il codice di esempio precedente può essere adattato per recuperare altre raccolte nps, ad esempio le raccolte dei gestori di richieste nps. Valori enumerati del tipo di enumerazione IASPROPERTIES che corrispondono alle raccolte NPS disponibili.
Argomenti correlati