IAzRole
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
スコープ内の一連のユーザーが実行できる操作の集合を定義します。
メソッド 27
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
ロールの名前を設定または取得します。(Get)
| pbstrName | LPWSTR* | out | ロールの名前を格納したBSTR文字列を受け取るポインタである。 |
解説(Remarks)
Name プロパティの最大長は 64 文字です。
ロールの名前を設定または取得します。(Put)
| bstrName | LPWSTR | in | ロールに設定する名前をBSTR文字列で指定する。 |
解説(Remarks)
Name プロパティの最大長は 64 文字です。
ロールを説明するコメントを設定または取得します。(Get)
| pbstrDescription | LPWSTR* | out | ロールの説明文字列を格納したBSTRを受け取るポインタである。 |
解説(Remarks)
Description プロパティの最大長は 1,024 文字です。
ロールを説明するコメントを設定または取得します。(Put)
| bstrDescription | LPWSTR | in | ロールに設定する説明文字列をBSTRで指定する。 |
解説(Remarks)
Description プロパティの最大長は 1,024 文字です。
IAzRole の ApplicationData プロパティは、アプリケーションが情報を格納するために使用できる不透明なフィールドを設定または取得します。(Get)
| pbstrApplicationData | LPWSTR* | out | ロールに関連付けられたアプリケーション固有データを格納したBSTRを受け取るポインタである。 |
解説(Remarks)
IAzRole の ApplicationData プロパティは、アプリケーションが情報を格納するために使用できる不透明なフィールドを設定または取得します。(Put)
| bstrApplicationData | LPWSTR | in | ロールに設定するアプリケーション固有データをBSTRで指定する。 |
解説(Remarks)
指定した IAzApplicationGroup オブジェクトを、このロールに属するアプリケーショングループの一覧に追加します。
| bstrProp | LPWSTR | in | このロールに属するアプリケーショングループの一覧に追加する IAzApplicationGroup オブジェクトの Name プロパティを格納する文字列。 |
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。
解説(Remarks)
このロールに属するアプリケーショングループの一覧を表示するには、AppMembers プロパティを使用します。
このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。
指定した IAzApplicationGroup オブジェクトを、このロールに属するアプリケーショングループの一覧から削除します。
| bstrProp | LPWSTR | in | ロールに属するアプリケーショングループの一覧から削除する IAzApplicationGroup オブジェクトの Name プロパティを格納する文字列。 |
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。
解説(Remarks)
ロールに属するアプリケーショングループの一覧を表示するには、AppMembers プロパティを使用します。
指定した名前の IAzTask オブジェクトをロールに追加します。
| bstrProp | LPWSTR | in | ロールに追加する IAzTask オブジェクトの名前。 |
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。
解説(Remarks)
このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。
指定した名前の IAzTask オブジェクトをロールから削除します。
| bstrProp | LPWSTR | in | ロールから削除する IAzTask オブジェクトの名前。 |
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。
解説(Remarks)
キャッシュから削除された IAzTask オブジェクトへの IAzTask 参照が存在する場合、その IAzTask オブジェクトは使用できなくなります。C++ では、削除された IAzTask オブジェクトへの参照を IUnknown::Release メソッドを呼び出して解放する必要があります。C# および Visual Basic では、削除されたオブジェクトへの参照は自動的に解放されます。
指定した名前の IAzOperation オブジェクトをロールに追加します。
| bstrProp | LPWSTR | in | ロールに追加する IAzOperation オブジェクトの名前。 |
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。
解説(Remarks)
このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。
指定した名前の IAzOperation オブジェクトをロールから削除します。
| bstrProp | LPWSTR | in | ロールから削除する IAzOperation オブジェクトの名前。 |
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。
解説(Remarks)
キャッシュから削除された IAzOperation オブジェクトへの IAzOperation 参照が存在する場合、その IAzOperation オブジェクトは使用できなくなります。C++ では、削除された IAzOperation オブジェクトへの参照を IUnknown::Release メソッドを呼び出して解放する必要があります。C# および Visual Basic では、削除されたオブジェクトへの参照は自動的に解放されます。
指定したセキュリティ識別子 (SID) をテキスト形式で、ロールに属する Windows アカウントの一覧に追加します。
| bstrProp | LPWSTR | in | ロールに属する Windows アカウントの一覧に追加する SID のテキスト形式を格納する文字列。 |
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。
解説(Remarks)
このロールに属する Windows アカウントの SID の一覧をテキスト形式で表示するには、Members プロパティを使用します。
このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。
指定したセキュリティ識別子 (SID) をテキスト形式で、ロールに属する Windows アカウントの一覧から削除します。
| bstrProp | LPWSTR | in | ロールに属する Windows アカウントの一覧から削除する SID のテキスト形式を格納する文字列。 |
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。
解説(Remarks)
ロールに属する Windows アカウントの SID の一覧をテキスト形式で表示するには、Members プロパティを使用します。
ロールを初期化したユーザーコンテキストによってロールを変更できるかどうかを示す値を取得します。
| pfProp | BOOL* | out | このオブジェクトが書き込み可能かどうかを示すBOOL値を受け取るポインタである。 |
指定したプロパティ ID を持つ IAzRole オブジェクトのプロパティを返します。
| lPropId | INT | in | 返す IAzRole オブジェクトのプロパティのプロパティ ID。次の表に指定可能な値を示します。
| ||||||||||||||||||||||
| varReserved | VARIANT | in | 将来の使用のために予約されています。 | ||||||||||||||||||||||
| pvarProp | VARIANT* | out | 返される IAzRole オブジェクトのプロパティへのポインター。 |
戻り値
戻り値は HRESULT です。S_OK は成功を示します。それ以外の値は操作が失敗したことを示します。
指定したプロパティ ID を持つ IAzRole オブジェクトのプロパティに、指定した値を設定します。
| lPropId | INT | in | 設定する IAzRole オブジェクトのプロパティのプロパティ ID。次の表に指定可能な値を示します。
| ||||||||
| varProp | VARIANT | in | lPropId パラメーターで指定した IAzRole オブジェクトのプロパティに設定する値。次の表に、lPropId パラメーターの値に応じて使用しなければならないデータ型を示します。
| ||||||||
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
戻り値は HRESULT です。S_OK は成功を示します。それ以外の値は操作が失敗したことを示します。
解説(Remarks)
このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。
ロールに属するアプリケーショングループを取得します。
| pvarProp | VARIANT* | out | ロールのメンバとなっているアプリケーショングループの一覧を格納したVARIANTを受け取るポインタである。 |
解説(Remarks)
ロールに属する Windows アカウントのセキュリティ識別子 (SID) をテキスト形式で取得します。
| pvarProp | VARIANT* | out | ロールのメンバとなっているSIDの一覧を格納したVARIANTを受け取るポインタである。 |
解説(Remarks)
ロールに関連付けられた操作を取得します。
| pvarProp | VARIANT* | out | ロールに割り当てられている操作の一覧を格納したVARIANTを受け取るポインタである。 |
解説(Remarks)
ロールに関連付けられたタスクを取得します。
| pvarProp | VARIANT* | out | ロールに割り当てられているタスクの一覧を格納したVARIANTを受け取るポインタである。 |
解説(Remarks)
指定したエンティティを指定した一覧に追加します。(IAzRole.AddPropertyItem)
| lPropId | INT | in | varProp パラメーターで指定したエンティティを追加する一覧のプロパティ ID。次の表に指定可能な値を示します。
| ||||||||||||
| varProp | VARIANT | in | 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 プロパティです。 | ||||||||||||
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
戻り値は HRESULT です。S_OK は成功を示します。それ以外の値は操作が失敗したことを示します。
解説(Remarks)
このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。
指定したエンティティを指定した一覧から削除します。(IAzRole.DeletePropertyItem)
| lPropId | INT | in | varProp パラメーターで指定したエンティティを削除する一覧のプロパティ ID。次の表に指定可能な値を示します。
| ||||||||||||
| varProp | VARIANT | in | 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 プロパティです。 | ||||||||||||
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
戻り値は HRESULT です。S_OK は成功を示します。それ以外の値は操作が失敗したことを示します。
IAzRole オブジェクトに加えた変更を永続化します。
| lFlags | INT | in | Submit メソッドの動作を変更するフラグ。既定値は 0 です。AZ_SUBMIT_FLAG_ABORT フラグを指定すると、オブジェクトへの変更は破棄され、オブジェクトは基になるポリシーストアと一致するように更新されます。 |
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。
解説(Remarks)
IAzRole オブジェクトへの追加や変更は、Submit メソッドが呼び出されるまで永続化されません。
指定したアカウント名を、ロールに属するアカウントの一覧に追加します。
| bstrProp | LPWSTR | in | ロールに属するアカウントの一覧に追加するアカウント名を格納する文字列。アカウント名は、ユーザープリンシパル名 (UPN) 形式 (例: someone@example.com)、または ExampleDomain\UserName 形式のいずれかで指定できます。ドメインが ExampleDomain\UserName 形式で指定されていない場合、ドメインを取得するために LookupAccountName 関数が呼び出されます。 |
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。
解説(Remarks)
このロールに属するアカウントのアカウント名の一覧を表示するには、MembersName プロパティを使用します。
このメソッドによる変更を永続化するには、Submit メソッドを呼び出す必要があります。
指定したアカウント名を、ロールに属するアカウントの一覧から削除します。
| bstrProp | LPWSTR | in | ロールに属するアカウントの一覧から削除するアカウント名を格納する文字列。アカウント名は、ユーザープリンシパル名 (UPN) 形式 (例: someone@example.com)、または ExampleDomain\UserName 形式のいずれかで指定できます。ドメインが ExampleDomain\UserName 形式で指定されていない場合、ドメインを取得するために LookupAccountName 関数が呼び出されます。 |
| varReserved | VARIANT | in | 将来の使用のために予約されています。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の HRESULT 値は操作が失敗したことを示します。
解説(Remarks)
ロールに属するアカウントのアカウント名の一覧を表示するには、MembersName プロパティを使用します。
ロールに属するアカウントのアカウント名を取得します。
| pvarProp | VARIANT* | out | ロールのメンバとなっているアカウントの名前一覧を格納したVARIANTを受け取るポインタである。 |
解説(Remarks)
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 不要)。#define global IID_IAzRole "{859E0D8D-62D7-41D8-A034-C0CD5D43FDFA}" #usecom global IAzRole IID_IAzRole "{}" #comfunc global IAzRole_get_Name 7 sptr #comfunc global IAzRole_put_Name 8 wstr #comfunc global IAzRole_get_Description 9 sptr #comfunc global IAzRole_put_Description 10 wstr #comfunc global IAzRole_get_ApplicationData 11 sptr #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 sptr #comfunc global IAzRole_GetProperty 22 int,int,sptr #comfunc global IAzRole_SetProperty 23 int,int,int #comfunc global IAzRole_get_AppMembers 24 sptr #comfunc global IAzRole_get_Members 25 sptr #comfunc global IAzRole_get_Operations 26 sptr #comfunc global IAzRole_get_Tasks 27 sptr #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 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。