1. 文件包含:
#include <certenroll.h>
2. 接口定义:
interface IX509PolicyServerListManager : public IDispatch
{
public:
virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ServerUrls(
/* [retval][out] */ IObjectCollection **ppValue) = 0;
virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ServerUrls(
/* [in] */ IObjectCollection *pValue) = 0;
virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedUrl(
/* [retval][out] */ BSTR *pValue) = 0;
virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SelectedUrl(
/* [in] */ BSTR pValue) = 0;
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddServerUrl(
/* [in] */ BSTR Url) = 0;
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveServerUrl(
/* [in] */ BSTR Url) = 0;
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
};
3. 使用示例:
// 创建对象
CComPtr<IX509PolicyServerListManager> pServerListManager;
HRESULT hr = CoCreateInstance(
__uuidof(CX509PolicyServerListManager),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IX509PolicyServerListManager),
(void**)&pServerListManager);
if (SUCCEEDED(hr))
{
// 添加策略服务器 URL
hr = pServerListManager->AddServerUrl(L"http://example.com/policyserver");
// 获取策略服务器列表
CComPtr<IObjectCollection> pServerUrls;
hr = pServerListManager->get_ServerUrls(&pServerUrls);
// 在这里可以使用获取到的策略服务器列表进行操作
// 设置选择的策略服务器 URL
hr = pServerListManager->put_SelectedUrl(L"http://example.com/policyserver");
// 获取选择的策略服务器 URL
BSTR selectedUrl;
hr = pServerListManager->get_SelectedUrl(&selectedUrl);
// 在这里可以使用获取到的选择的策略服务器 URL 进行操作
}
请注意,上述代码中的 CX509PolicyServerListManager 类是 IX509PolicyServerListManager 接口的默认实现之一。在实际使用时,你可能需要根据你的需求添加、获取和操作不同的策略服务器。确保在使用这些接口时参考相关的官方文档和示例代码。
转载请注明出处:http://www.pingtaimeng.com/article/detail/24241/Win32 API/Certenroll.h/IX509PolicyServerListManager