Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Internet Authentication Service (IAS), Windows Server 2008'den itibaren Ağ İlkesi Sunucusu (NPS) olarak yeniden adlandırıldı. Bu konunun içeriği hem IAS hem de NPS için geçerlidir. Metin boyunca, NPS başlangıçta IAS olarak adlandırılan sürümler de dahil olmak üzere hizmetin tüm sürümlerine başvurmak için kullanılır.
Aşağıdaki kod, Ağ İlkesi Sunucusu için istemciler koleksiyonunu alır.
// 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;
}
Açıklamalar
pSdoServiceControl değişkeni, NPS için Sunucu Veri Nesnesine yönelik bir işaretçi içerir. Daha fazla bilgi için hizmet SDO'sunu alma konusuna bakın.
vtClientsCollection değişkeni _variant_ttüründedir. _variant_t nesnesi, VARIANT veri türünü kapsüller veya kapsar. Sınıf, kaynak ayırmayı ve serbest bırakmayı yönetir ve VariantInit ve VariantClear için uygun şekilde işlev çağrıları gerçekleştirir.
"pSdo->GetProperty()" çağrısından sonra vtProtocolsCollection değişkeni bir nesne belirtir. vtProtocolsCollection'ın pdispVal üyesi, nesnenin IDispatch arabirimine yönelik bir işaretçi içerir.
Yukarıdaki örnek kod, örneğin NPS İstek İşleyicileri koleksiyonları gibi diğer NPS koleksiyonlarını almak için uyarlanabilir. IASPROPERTIES , mevcut NPS koleksiyonlarına karşılık gelen numaralandırma türünün numaralandırılmış değerleri olarak içerir.
İlgili konular