1. 文件包含:
#include <certenroll.h>
2. 接口定义:
interface IX509NameValuePairs : public IDispatch
{
public:
virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
/* [in] */ LONG Index,
/* [retval][out] */ IX509NameValuePair **ppValue) = 0;
virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
/* [retval][out] */ LONG *pValue) = 0;
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add(
/* [in] */ BSTR Name,
/* [in] */ BSTR Value) = 0;
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Remove(
/* [in] */ LONG Index) = 0;
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
};
3. 使用示例:
// 创建对象
CComPtr<IX509NameValuePairs> pNameValuePairs;
HRESULT hr = CoCreateInstance(
__uuidof(CX509NameValuePairs),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IX509NameValuePairs),
(void**)&pNameValuePairs);
if (SUCCEEDED(hr))
{
// 添加名称值对
hr = pNameValuePairs->Add(L"Name1", L"Value1");
hr = pNameValuePairs->Add(L"Name2", L"Value2");
// 获取集合中的名称值对数量
LONG count;
hr = pNameValuePairs->get_Count(&count);
// 遍历集合中的名称值对
for (LONG i = 0; i < count; ++i)
{
CComPtr<IX509NameValuePair> pNameValuePair;
hr = pNameValuePairs->get_Item(i, &pNameValuePair);
// 在这里可以使用获取到的名称值对进行操作
}
}
请注意,上述代码中的 CX509NameValuePairs 类是 IX509NameValuePairs 接口的默认实现之一。在实际使用时,你可能需要根据你的需求添加、获取和操作不同的名称值对。确保在使用这些接口时参考相关的官方文档和示例代码。
转载请注明出处:http://www.zyzy.cn/article/detail/24240/Win32 API/Certenroll.h/IX509NameValuePairs