Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Заметка
Служба проверки подлинности Интернета (IAS) была переименована в сервер политики сети (NPS) начиная с Windows Server 2008. Содержимое этого раздела относится как к IAS, так и к NPS. В тексте NPS используется для ссылки на все версии службы, включая версии, которые первоначально называются IAS.
Следующий код извлекает коллекцию клиентов для сервера политики сети.
// 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;
}
Замечания
Переменная pSdoServiceControl содержит указатель на объект данных сервера для NPS. Более подробную информацию см. в разделе «Извлечение службы SDO».
Переменная vtClientsCollection имеет тип _variant_t. Объект _variant_t инкапсулирует или заключает в себя тип данных VARIANT. Класс управляет выделением и освобождением ресурсов и вызывает функции VariantInit и VariantClear, когда это необходимо.
После вызова pSdo->GetProperty(), переменная vtProtocolsCollection указывает объект. Элемент pdispVal элемента vtProtocolsCollection содержит указатель на интерфейс IDispatch для объекта.
Приведенный выше пример кода можно адаптировать для получения других коллекций NPS, например коллекций обработчиков запросов NPS. Перечисление типа IASPROPERTIES включает значения, которые соответствуют доступным коллекциям NPS.
Связанные разделы