IAzApplication3
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IAzRoleAssignment、IAzRoleDefinition、IAzScope2 の各オブジェクトを管理するためのメソッドを提供します。
メソッド 14
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
指定したスコープがこの IAzApplication3 オブジェクトに存在するかどうかを示します。
| bstrScopeName | LPWSTR | in | 確認するスコープの名前を格納した文字列。 |
| pbExist | VARIANT_BOOL* | out | 指定したスコープがこの IAzApplication3 オブジェクトに存在する場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラーコードを返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
指定した名前の IAzScope2 オブジェクトを開きます。
| bstrScopeName | LPWSTR | in | 開く IAzScope2 オブジェクトの名前を格納した文字列。 |
| ppScope2 | IAzScope2** | out | このメソッドが開く IAzScope2 オブジェクトへのポインターのアドレス。 IAzScope2 オブジェクトの使用が終わったら、IUnknown::Release メソッドを呼び出して解放してください。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラーコードを返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
指定した名前で新しい IAzScope2 オブジェクトを作成します。
| bstrScopeName | LPWSTR | in | 新しい IAzScope2 オブジェクトの名前を格納した文字列。 |
| ppScope2 | IAzScope2** | out | このメソッドが作成する IAzScope2 オブジェクトへのポインターのアドレス。 この IAzScope2 オブジェクトの使用が終わったら、IUnknown::Release メソッドを呼び出して解放してください。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラーコードを返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
指定した IAzScope2 オブジェクトを IAzApplication3 オブジェクトから削除します。
| bstrScopeName | LPWSTR | in | 削除する IAzScope2 オブジェクトの名前を格納した文字列。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラーコードを返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
解説(Remarks)
IAzScope2 オブジェクトへの参照がキャッシュから削除された場合、そのオブジェクトは使用できなくなります。C++ では、削除された IAzScope2 オブジェクトへの参照を IUnknown::Release メソッドを呼び出して解放する必要があります。Visual Basic では、削除されたオブジェクトへの参照は自動的に解放されます。
現在の IAzApplication3 オブジェクトに関連付けられた IAzRoleDefinition オブジェクトのコレクションを表す IAzRoleDefinitions オブジェクトを取得します。
| ppRoleDefinitions | IAzRoleDefinitions** | out | アプリケーションに含まれるロール定義のコレクション(IAzRoleDefinitions)を受け取るポインタである。 |
指定した名前で新しい IAzRoleDefinition オブジェクトを作成します。
| bstrRoleDefinitionName | LPWSTR | in | 新しい IAzRoleDefinition オブジェクトの名前を格納した文字列。 |
| ppRoleDefinitions | IAzRoleDefinition** | out | このメソッドが作成する IAzRoleDefinition オブジェクトへのポインターのアドレス。 この IAzRoleDefinition オブジェクトの使用が終わったら、IUnknown::Release メソッドを呼び出して解放してください。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラーコードを返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
指定した名前の IAzRoleDefinition オブジェクトを開きます。
| bstrRoleDefinitionName | LPWSTR | in | 開く IAzRoleDefinition オブジェクトの名前を格納した文字列。 |
| ppRoleDefinitions | IAzRoleDefinition** | out | このメソッドが開く IAzRoleDefinition オブジェクトへのポインターのアドレス。 この IAzRoleDefinition オブジェクトの使用が終わったら、IUnknown::Release メソッドを呼び出して解放してください。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラーコードを返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
指定した IAzRoleDefinition オブジェクトを IAzApplication3 オブジェクトから削除します。
| bstrRoleDefinitionName | LPWSTR | in | 削除する IAzRoleDefinition オブジェクトの名前を格納した文字列。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラーコードを返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
解説(Remarks)
IAzRoleDefinition オブジェクトへの参照がキャッシュから削除された場合、そのオブジェクトは使用できなくなります。C++ では、削除された IAzRoleDefinition オブジェクトへの参照を IUnknown::Release メソッドを呼び出して解放する必要があります。Visual Basic では、削除されたオブジェクトへの参照は自動的に解放されます。
現在の IAzApplication3 オブジェクトに関連付けられた IAzRoleAssignment オブジェクトのコレクションを表す IAzRoleAssignments オブジェクトを取得します。
| ppRoleAssignments | IAzRoleAssignments** | out | アプリケーションに含まれるロール割り当てのコレクション(IAzRoleAssignments)を受け取るポインタである。 |
指定した名前で新しい IAzRoleAssignment オブジェクトを作成します。
| bstrRoleAssignmentName | LPWSTR | in | 新しい IAzRoleAssignment オブジェクトの名前を格納した文字列。 |
| ppRoleAssignment | IAzRoleAssignment** | out | このメソッドが作成する IAzRoleAssignment オブジェクトへのポインターのアドレス。 この IAzRoleAssignment オブジェクトの使用が終わったら、IUnknown::Release メソッドを呼び出して解放してください。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラーコードを返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
指定した名前の IAzRoleAssignment オブジェクトを開きます。
| bstrRoleAssignmentName | LPWSTR | in | 開く IAzRoleAssignment オブジェクトの名前を格納した文字列。 |
| ppRoleAssignment | IAzRoleAssignment** | out | このメソッドが開く IAzRoleAssignment オブジェクトへのポインターのアドレス。 この IAzRoleAssignment オブジェクトの使用が終わったら、IUnknown::Release メソッドを呼び出して解放してください。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラーコードを返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
指定した IAzRoleAssignment オブジェクトを IAzApplication3 オブジェクトから削除します。
| bstrRoleAssignmentName | LPWSTR | in | 削除する IAzRoleAssignment オブジェクトの名前を格納した文字列。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラーコードを返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
解説(Remarks)
IAzRoleAssignment オブジェクトへの参照がキャッシュから削除された場合、そのオブジェクトは使用できなくなります。C++ では、削除された IAzRoleAssignment オブジェクトへの参照を IUnknown::Release メソッドを呼び出して解放する必要があります。Visual Basic では、削除されたオブジェクトへの参照は自動的に解放されます。
このアプリケーションでビジネスルールが有効かどうかを示す値を取得または設定します。(Get)
| pbEnabled | VARIANT_BOOL* | out | このアプリケーションでビジネスルールが有効かどうかを示すVARIANT_BOOLを受け取るポインタである。 |
このアプリケーションでビジネスルールが有効かどうかを示す値を取得または設定します。(Put)
| bEnabled | VARIANT_BOOL | in | このアプリケーションでビジネスルールを有効にするかどうかをVARIANT_BOOLで指定する。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IAzApplication3 "{181C845E-7196-4A7D-AC2E-020C0BB7A303}" #usecom global IAzApplication3 IID_IAzApplication3 "{}" #comfunc global IAzApplication3_ScopeExists 70 wstr,var #comfunc global IAzApplication3_OpenScope2 71 wstr,sptr #comfunc global IAzApplication3_CreateScope2 72 wstr,sptr #comfunc global IAzApplication3_DeleteScope2 73 wstr #comfunc global IAzApplication3_get_RoleDefinitions 74 sptr #comfunc global IAzApplication3_CreateRoleDefinition 75 wstr,sptr #comfunc global IAzApplication3_OpenRoleDefinition 76 wstr,sptr #comfunc global IAzApplication3_DeleteRoleDefinition 77 wstr #comfunc global IAzApplication3_get_RoleAssignments 78 sptr #comfunc global IAzApplication3_CreateRoleAssignment 79 wstr,sptr #comfunc global IAzApplication3_OpenRoleAssignment 80 wstr,sptr #comfunc global IAzApplication3_DeleteRoleAssignment 81 wstr #comfunc global IAzApplication3_get_BizRulesEnabled 82 var #comfunc global IAzApplication3_put_BizRulesEnabled 83 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IAzApplication3 "{181C845E-7196-4A7D-AC2E-020C0BB7A303}" #usecom global IAzApplication3 IID_IAzApplication3 "{}" #comfunc global IAzApplication3_ScopeExists 70 wstr,sptr #comfunc global IAzApplication3_OpenScope2 71 wstr,sptr #comfunc global IAzApplication3_CreateScope2 72 wstr,sptr #comfunc global IAzApplication3_DeleteScope2 73 wstr #comfunc global IAzApplication3_get_RoleDefinitions 74 sptr #comfunc global IAzApplication3_CreateRoleDefinition 75 wstr,sptr #comfunc global IAzApplication3_OpenRoleDefinition 76 wstr,sptr #comfunc global IAzApplication3_DeleteRoleDefinition 77 wstr #comfunc global IAzApplication3_get_RoleAssignments 78 sptr #comfunc global IAzApplication3_CreateRoleAssignment 79 wstr,sptr #comfunc global IAzApplication3_OpenRoleAssignment 80 wstr,sptr #comfunc global IAzApplication3_DeleteRoleAssignment 81 wstr #comfunc global IAzApplication3_get_BizRulesEnabled 82 sptr #comfunc global IAzApplication3_put_BizRulesEnabled 83 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。