以下是一些关于 IAzRoleDefinition 接口的基本信息:
接口定义
interface IAzRoleDefinition : public IDispatch
头文件
#include <azroles.h>
继承
- IAzRoleDefinition 接口继承自 IDispatch 接口。
接口描述
IAzRoleDefinition 接口提供了一组用于管理角色定义的方法。它允许您设置和获取角色的各种属性,如角色的名称、描述、成员等。
方法列表
1. get_Name: 获取角色的名称。
HRESULT get_Name(
BSTR *pbstrName
);
2. put_Name: 设置角色的名称。
HRESULT put_Name(
BSTR bstrName
);
3. get_Description: 获取角色的描述。
HRESULT get_Description(
BSTR *pbstrDescription
);
4. put_Description: 设置角色的描述。
HRESULT put_Description(
BSTR bstrDescription
);
5. AddMemberName: 向角色添加成员。
HRESULT AddMemberName(
BSTR bstrPropName
);
6. DeleteMemberName: 从角色中删除成员。
HRESULT DeleteMemberName(
BSTR bstrPropName
);
7. AddMemberSid: 向角色添加成员的安全标识符 (SID)。
HRESULT AddMemberSid(
BSTR bstrPropName
);
8. DeleteMemberSid: 从角色中删除成员的安全标识符 (SID)。
HRESULT DeleteMemberSid(
BSTR bstrPropName
);
使用示例
// 创建 AzMan 对象
IAzAuthorizationStore *pAzManStore = NULL;
CoCreateInstance(CLSID_AzAuthorizationStore, NULL, CLSCTX_INPROC_SERVER, IID_IAzAuthorizationStore, (void**)&pAzManStore);
// 打开存储
pAzManStore->Initialize(0, L"C:\\Path\\To\\Your\\AzMan\\Store", NULL);
// 获取角色定义
IAzRoleDefinition *pRoleDefinition = NULL;
pAzManStore->OpenRoleDefinition(L"MyRole", &pRoleDefinition);
// 获取角色名称
BSTR roleName;
pRoleDefinition->get_Name(&roleName);
// 设置角色描述
pRoleDefinition->put_Description(L"This is a sample role.");
// 添加成员
pRoleDefinition->AddMemberName(L"User1");
pRoleDefinition->AddMemberName(L"User2");
// 删除成员
pRoleDefinition->DeleteMemberName(L"User1");
// 释放资源
SysFreeString(roleName);
pRoleDefinition->Release();
pAzManStore->Release();
请注意,以上代码只是一个简单的示例,并且需要根据您的具体需求进行适当的修改。在实际应用中,您可能需要处理错误、检查返回的 HRESULT 值等。
转载请注明出处:http://www.zyzy.cn/article/detail/23973/Win32 API/Azroles.h/IAzRoleDefinition