Win32 API 日本語リファレンス
ホームSecurity.Authorization › IAzRole

IAzRole

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID859e0d8d-62d7-41d8-a034-c0cd5d43fdfa継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

スコープ内の一連のユーザーが実行できる操作の集合を定義します。

メソッド 27

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_Name(LPWSTR* pbstrName)

ロールの名前を設定または取得します。(Get)

pbstrNameLPWSTR*outロールの名前を格納したBSTR文字列を受け取るポインタである。

解説(Remarks)

Name プロパティの最大長は 64 文字です。

vtbl 8 HRESULT put_Name(LPWSTR bstrName)

ロールの名前を設定または取得します。(Put)

bstrNameLPWSTRinロールに設定する名前をBSTR文字列で指定する。

解説(Remarks)

Name プロパティの最大長は 64 文字です。

vtbl 9 HRESULT get_Description(LPWSTR* pbstrDescription)

ロールを説明するコメントを設定または取得します。(Get)

pbstrDescriptionLPWSTR*outロールの説明文字列を格納したBSTRを受け取るポインタである。

解説(Remarks)

Description プロパティの最大長は 1,024 文字です。

vtbl 10 HRESULT put_Description(LPWSTR bstrDescription)

ロールを説明するコメントを設定または取得します。(Put)

bstrDescriptionLPWSTRinロールに設定する説明文字列をBSTRで指定する。

解説(Remarks)

Description プロパティの最大長は 1,024 文字です。

vtbl 11 HRESULT get_ApplicationData(LPWSTR* pbstrApplicationData)

IAzRole の ApplicationData プロパティは、アプリケーションが情報を格納するために使用できる不透明なフィールドを設定または取得します。(Get)

pbstrApplicationDataLPWSTR*outロールに関連付けられたアプリケーション固有データを格納したBSTRを受け取るポインタである。

解説(Remarks)

重要 ポリシー管理者はこのプロパティを読み書きできます。ポリシー管理者に公開すべきでないデータを ApplicationData プロパティに格納しないでください。
vtbl 12 HRESULT put_ApplicationData(LPWSTR bstrApplicationData)

IAzRole の ApplicationData プロパティは、アプリケーションが情報を格納するために使用できる不透明なフィールドを設定または取得します。(Put)

bstrApplicationDataLPWSTRinロールに設定するアプリケーション固有データをBSTRで指定する。

解説(Remarks)

重要 ポリシー管理者はこのプロパティを読み書きできます。ポリシー管理者に公開すべきでないデータを ApplicationData プロパティに格納しないでください。
vtbl 13 HRESULT AddAppMember(LPWSTR bstrProp, VARIANT varReserved)

指定した IAzApplicationGroup オブジェクトを、このロールに属するアプリケーショングループの一覧に追加します。

bstrPropLPWSTRinこのロールに属するアプリケーショングループの一覧に追加する IAzApplicationGroup オブジェクトの Name プロパティを格納する文字列。
varReservedVARIANTin将来の使用のために予約されています。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。

解説(Remarks)

このロールに属するアプリケーショングループの一覧を表示するには、AppMembers プロパティを使用します。

このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。

vtbl 14 HRESULT DeleteAppMember(LPWSTR bstrProp, VARIANT varReserved)

指定した IAzApplicationGroup オブジェクトを、このロールに属するアプリケーショングループの一覧から削除します。

bstrPropLPWSTRinロールに属するアプリケーショングループの一覧から削除する IAzApplicationGroup オブジェクトの Name プロパティを格納する文字列。
varReservedVARIANTin将来の使用のために予約されています。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。

解説(Remarks)

ロールに属するアプリケーショングループの一覧を表示するには、AppMembers プロパティを使用します。

vtbl 15 HRESULT AddTask(LPWSTR bstrProp, VARIANT varReserved)

指定した名前の IAzTask オブジェクトをロールに追加します。

bstrPropLPWSTRinロールに追加する IAzTask オブジェクトの名前。
varReservedVARIANTin将来の使用のために予約されています。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。

解説(Remarks)

このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。

vtbl 16 HRESULT DeleteTask(LPWSTR bstrProp, VARIANT varReserved)

指定した名前の IAzTask オブジェクトをロールから削除します。

bstrPropLPWSTRinロールから削除する IAzTask オブジェクトの名前。
varReservedVARIANTin将来の使用のために予約されています。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。

解説(Remarks)

キャッシュから削除された IAzTask オブジェクトへの IAzTask 参照が存在する場合、その IAzTask オブジェクトは使用できなくなります。C++ では、削除された IAzTask オブジェクトへの参照を IUnknown::Release メソッドを呼び出して解放する必要があります。C# および Visual Basic では、削除されたオブジェクトへの参照は自動的に解放されます。

vtbl 17 HRESULT AddOperation(LPWSTR bstrProp, VARIANT varReserved)

指定した名前の IAzOperation オブジェクトをロールに追加します。

bstrPropLPWSTRinロールに追加する IAzOperation オブジェクトの名前。
varReservedVARIANTin将来の使用のために予約されています。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。

解説(Remarks)

このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。

vtbl 18 HRESULT DeleteOperation(LPWSTR bstrProp, VARIANT varReserved)

指定した名前の IAzOperation オブジェクトをロールから削除します。

bstrPropLPWSTRinロールから削除する IAzOperation オブジェクトの名前。
varReservedVARIANTin将来の使用のために予約されています。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。

解説(Remarks)

キャッシュから削除された IAzOperation オブジェクトへの IAzOperation 参照が存在する場合、その IAzOperation オブジェクトは使用できなくなります。C++ では、削除された IAzOperation オブジェクトへの参照を IUnknown::Release メソッドを呼び出して解放する必要があります。C# および Visual Basic では、削除されたオブジェクトへの参照は自動的に解放されます。

vtbl 19 HRESULT AddMember(LPWSTR bstrProp, VARIANT varReserved)

指定したセキュリティ識別子 (SID) をテキスト形式で、ロールに属する Windows アカウントの一覧に追加します。

bstrPropLPWSTRinロールに属する Windows アカウントの一覧に追加する SID のテキスト形式を格納する文字列。
varReservedVARIANTin将来の使用のために予約されています。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。

解説(Remarks)

このロールに属する Windows アカウントの SID の一覧をテキスト形式で表示するには、Members プロパティを使用します。

このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。

vtbl 20 HRESULT DeleteMember(LPWSTR bstrProp, VARIANT varReserved)

指定したセキュリティ識別子 (SID) をテキスト形式で、ロールに属する Windows アカウントの一覧から削除します。

bstrPropLPWSTRinロールに属する Windows アカウントの一覧から削除する SID のテキスト形式を格納する文字列。
varReservedVARIANTin将来の使用のために予約されています。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。

解説(Remarks)

ロールに属する Windows アカウントの SID の一覧をテキスト形式で表示するには、Members プロパティを使用します。

vtbl 21 HRESULT get_Writable(BOOL* pfProp)

ロールを初期化したユーザーコンテキストによってロールを変更できるかどうかを示す値を取得します。

pfPropBOOL*outこのオブジェクトが書き込み可能かどうかを示すBOOL値を受け取るポインタである。
vtbl 22 HRESULT GetProperty(INT lPropId, VARIANT varReserved, VARIANT* pvarProp)

指定したプロパティ ID を持つ IAzRole オブジェクトのプロパティを返します。

lPropIdINTin

返す IAzRole オブジェクトのプロパティのプロパティ ID。次の表に指定可能な値を示します。

意味
AZ_PROP_APPLICATION_DATA
ApplicationData プロパティ経由でもアクセスできます
AZ_PROP_CHILD_CREATE
現在のユーザーが子オブジェクトを作成する権限を持つかどうかを判定します。このオブジェクトは子オブジェクトを持てないため、この値は常に FALSE になります。
AZ_PROP_DESCRIPTION
Description プロパティ経由でもアクセスできます
AZ_PROP_NAME
Name プロパティ経由でもアクセスできます
AZ_PROP_ROLE_APP_MEMBERS
AppMembers プロパティ経由でもアクセスできます
AZ_PROP_ROLE_MEMBERS
Members プロパティ経由でもアクセスできます
AZ_PROP_ROLE_MEMBERS_NAME
MembersName プロパティ経由でもアクセスできます
AZ_PROP_ROLE_OPERATIONS
Operations プロパティ経由でもアクセスできます
AZ_PROP_ROLE_TASKS
Tasks プロパティ経由でもアクセスできます
AZ_PROP_WRITABLE
Writable プロパティ経由でもアクセスできます
varReservedVARIANTin将来の使用のために予約されています。
pvarPropVARIANT*out返される IAzRole オブジェクトのプロパティへのポインター。

戻り値

戻り値は HRESULT です。S_OK は成功を示します。それ以外の値は操作が失敗したことを示します。

vtbl 23 HRESULT SetProperty(INT lPropId, VARIANT varProp, VARIANT varReserved)

指定したプロパティ ID を持つ IAzRole オブジェクトのプロパティに、指定した値を設定します。

lPropIdINTin

設定する IAzRole オブジェクトのプロパティのプロパティ ID。次の表に指定可能な値を示します。

意味
AZ_PROP_APPLICATION_DATA
ApplicationData プロパティ経由でもアクセスできます
AZ_PROP_DESCRIPTION
Description プロパティ経由でもアクセスできます
AZ_PROP_NAME
Name プロパティ経由でもアクセスできます
varPropVARIANTin

lPropId パラメーターで指定した IAzRole オブジェクトのプロパティに設定する値。次の表に、lPropId パラメーターの値に応じて使用しなければならないデータ型を示します。

lPropId の値 データ型 (C++/Visual Basic)
AZ_PROP_APPLICATION_DATA
BSTR/String
AZ_PROP_DESCRIPTION
BSTR/String
AZ_PROP_NAME
BSTR/String
varReservedVARIANTin将来の使用のために予約されています。

戻り値

戻り値は HRESULT です。S_OK は成功を示します。それ以外の値は操作が失敗したことを示します。

解説(Remarks)

このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。

vtbl 24 HRESULT get_AppMembers(VARIANT* pvarProp)

ロールに属するアプリケーショングループを取得します。

pvarPropVARIANT*outロールのメンバとなっているアプリケーショングループの一覧を格納したVARIANTを受け取るポインタである。

解説(Remarks)

JScript では、返された SAFEARRAY を JScript の Array オブジェクトに変換する必要があります。

vtbl 25 HRESULT get_Members(VARIANT* pvarProp)

ロールに属する Windows アカウントのセキュリティ識別子 (SID) をテキスト形式で取得します。

pvarPropVARIANT*outロールのメンバとなっているSIDの一覧を格納したVARIANTを受け取るポインタである。

解説(Remarks)

JScript では、返された SAFEARRAY を JScript の Array オブジェクトに変換する必要があります。

vtbl 26 HRESULT get_Operations(VARIANT* pvarProp)

ロールに関連付けられた操作を取得します。

pvarPropVARIANT*outロールに割り当てられている操作の一覧を格納したVARIANTを受け取るポインタである。

解説(Remarks)

JScript では、返された SAFEARRAY を JScript の Array オブジェクトに変換する必要があります。

vtbl 27 HRESULT get_Tasks(VARIANT* pvarProp)

ロールに関連付けられたタスクを取得します。

pvarPropVARIANT*outロールに割り当てられているタスクの一覧を格納したVARIANTを受け取るポインタである。

解説(Remarks)

JScript では、返された SAFEARRAY を JScript の Array オブジェクトに変換する必要があります。

vtbl 28 HRESULT AddPropertyItem(INT lPropId, VARIANT varProp, VARIANT varReserved)

指定したエンティティを指定した一覧に追加します。(IAzRole.AddPropertyItem)

lPropIdINTin

varProp パラメーターで指定したエンティティを追加する一覧のプロパティ ID。次の表に指定可能な値を示します。

意味
AZ_PROP_ROLE_APP_MEMBERS
AddAppMember メソッドでも追加できます
AZ_PROP_ROLE_MEMBERS
AddMember メソッドでも追加できます
AZ_PROP_ROLE_MEMBERS_NAME
AddMemberName メソッドでも追加できます
AZ_PROP_ROLE_OPERATIONS
AddOperation メソッドでも追加できます
AZ_PROP_ROLE_TASKS
AddTask メソッドでも追加できます
varPropVARIANTin

lPropId パラメーターで指定した一覧に追加するエンティティ。

バリアントは BSTR バリアントでなければなりません。

lPropId パラメーターに AZ_PROP_ROLE_MEMBERS を指定した場合、文字列は一覧に追加する Windows アカウントの セキュリティ識別子 (SID) のテキスト形式です。lPropId パラメーターに AZ_PROP_ROLE_MEMBERS_NAME を指定した場合、文字列は一覧に追加するアカウントのアカウント名です。アカウント名は、ユーザープリンシパル名 (UPN) 形式 (例: "someone@example.com")、または "ExampleDomain\UserName" 形式のいずれかで指定できます。lPropId パラメーターに AZ_PROP_ROLE_APP_MEMBERS を指定した場合、文字列は一覧に追加する IAzApplicationGroup オブジェクトの Name プロパティです。

varReservedVARIANTin将来の使用のために予約されています。

戻り値

戻り値は HRESULT です。S_OK は成功を示します。それ以外の値は操作が失敗したことを示します。

解説(Remarks)

このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。

vtbl 29 HRESULT DeletePropertyItem(INT lPropId, VARIANT varProp, VARIANT varReserved)

指定したエンティティを指定した一覧から削除します。(IAzRole.DeletePropertyItem)

lPropIdINTin

varProp パラメーターで指定したエンティティを削除する一覧のプロパティ ID。次の表に指定可能な値を示します。

意味
AZ_PROP_ROLE_APP_MEMBERS
DeleteAppMember メソッドでも削除できます
AZ_PROP_ROLE_MEMBERS
DeleteMember メソッドでも削除できます
AZ_PROP_ROLE_MEMBERS_NAME
DeleteMemberName メソッドでも削除できます
AZ_PROP_ROLE_OPERATIONS
DeleteOperation メソッドでも削除できます
AZ_PROP_ROLE_TASKS
DeleteTask メソッドでも削除できます
varPropVARIANTin

lPropId パラメーターで指定した一覧から削除するエンティティ。

バリアントは BSTR バリアントでなければなりません。

lPropId パラメーターに AZ_PROP_ROLE_MEMBERS を指定した場合、文字列は一覧から削除する Windows アカウントの セキュリティ識別子 (SID) です。lPropId パラメーターに AZ_PROP_ROLE_MEMBERS_NAME を指定した場合、文字列は一覧から削除するアカウントのアカウント名です。アカウント名は、ユーザープリンシパル名 (UPN) 形式 (例: "someone@example.com")、または "ExampleDomain\UserName" 形式のいずれかで指定できます。lPropId パラメーターに AZ_PROP_ROLE_APP_MEMBERS を指定した場合、文字列は一覧から削除する IAzApplicationGroup オブジェクトの Name プロパティです。

varReservedVARIANTin将来の使用のために予約されています。

戻り値

戻り値は HRESULT です。S_OK は成功を示します。それ以外の値は操作が失敗したことを示します。

vtbl 30 HRESULT Submit(INT lFlags, VARIANT varReserved)

IAzRole オブジェクトに加えた変更を永続化します。

lFlagsINTinSubmit メソッドの動作を変更するフラグ。既定値は 0 です。AZ_SUBMIT_FLAG_ABORT フラグを指定すると、オブジェクトへの変更は破棄され、オブジェクトは基になるポリシーストアと一致するように更新されます。
varReservedVARIANTin将来の使用のために予約されています。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。

解説(Remarks)

IAzRole オブジェクトへの追加や変更は、Submit メソッドが呼び出されるまで永続化されません。

vtbl 31 HRESULT AddMemberName(LPWSTR bstrProp, VARIANT varReserved)

指定したアカウント名を、ロールに属するアカウントの一覧に追加します。

bstrPropLPWSTRinロールに属するアカウントの一覧に追加するアカウント名を格納する文字列。アカウント名は、ユーザープリンシパル名 (UPN) 形式 (例: someone@example.com)、または ExampleDomain\UserName 形式のいずれかで指定できます。ドメインが ExampleDomain\UserName 形式で指定されていない場合、ドメインを取得するために LookupAccountName 関数が呼び出されます。
varReservedVARIANTin将来の使用のために予約されています。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。

解説(Remarks)

このロールに属するアカウントのアカウント名の一覧を表示するには、MembersName プロパティを使用します。

このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。

vtbl 32 HRESULT DeleteMemberName(LPWSTR bstrProp, VARIANT varReserved)

指定したアカウント名を、ロールに属するアカウントの一覧から削除します。

bstrPropLPWSTRinロールに属するアカウントの一覧から削除するアカウント名を格納する文字列。アカウント名は、ユーザープリンシパル名 (UPN) 形式 (例: someone@example.com)、または ExampleDomain\UserName 形式のいずれかで指定できます。ドメインが ExampleDomain\UserName 形式で指定されていない場合、ドメインを取得するために LookupAccountName 関数が呼び出されます。
varReservedVARIANTin将来の使用のために予約されています。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。

解説(Remarks)

ロールに属するアカウントのアカウント名の一覧を表示するには、MembersName プロパティを使用します。

vtbl 33 HRESULT get_MembersName(VARIANT* pvarProp)

ロールに属するアカウントのアカウント名を取得します。

pvarPropVARIANT*outロールのメンバとなっているアカウントの名前一覧を格納したVARIANTを受け取るポインタである。

解説(Remarks)

JScript では、返された SAFEARRAY を JScript の Array オブジェクトに変換する必要があります。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IAzRole "{859E0D8D-62D7-41D8-A034-C0CD5D43FDFA}"
#usecom global IAzRole IID_IAzRole "{}"
#comfunc global IAzRole_get_Name             7 var
#comfunc global IAzRole_put_Name             8 wstr
#comfunc global IAzRole_get_Description      9 var
#comfunc global IAzRole_put_Description      10 wstr
#comfunc global IAzRole_get_ApplicationData  11 var
#comfunc global IAzRole_put_ApplicationData  12 wstr
#comfunc global IAzRole_AddAppMember         13 wstr,int
#comfunc global IAzRole_DeleteAppMember      14 wstr,int
#comfunc global IAzRole_AddTask              15 wstr,int
#comfunc global IAzRole_DeleteTask           16 wstr,int
#comfunc global IAzRole_AddOperation         17 wstr,int
#comfunc global IAzRole_DeleteOperation      18 wstr,int
#comfunc global IAzRole_AddMember            19 wstr,int
#comfunc global IAzRole_DeleteMember         20 wstr,int
#comfunc global IAzRole_get_Writable         21 var
#comfunc global IAzRole_GetProperty          22 int,int,var
#comfunc global IAzRole_SetProperty          23 int,int,int
#comfunc global IAzRole_get_AppMembers       24 var
#comfunc global IAzRole_get_Members          25 var
#comfunc global IAzRole_get_Operations       26 var
#comfunc global IAzRole_get_Tasks            27 var
#comfunc global IAzRole_AddPropertyItem      28 int,int,int
#comfunc global IAzRole_DeletePropertyItem   29 int,int,int
#comfunc global IAzRole_Submit               30 int,int
#comfunc global IAzRole_AddMemberName        31 wstr,int
#comfunc global IAzRole_DeleteMemberName     32 wstr,int
#comfunc global IAzRole_get_MembersName      33 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。