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

IAzScope

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

メソッド 38

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

vtbl 7 HRESULT get_Name(LPWSTR* pbstrName)
pbstrNameLPWSTR*outスコープの名前を受け取る文字列へのポインタである。
vtbl 8 HRESULT put_Name(LPWSTR bstrName)
bstrNameLPWSTRinスコープに設定する名前を指定する。
vtbl 9 HRESULT get_Description(LPWSTR* pbstrDescription)
pbstrDescriptionLPWSTR*outスコープの説明文を受け取る文字列へのポインタである。
vtbl 10 HRESULT put_Description(LPWSTR bstrDescription)
bstrDescriptionLPWSTRinスコープに設定する説明文を指定する。
vtbl 11 HRESULT get_ApplicationData(LPWSTR* pbstrApplicationData)
pbstrApplicationDataLPWSTR*outアプリケーション固有のデータ文字列を受け取る文字列へのポインタである。
vtbl 12 HRESULT put_ApplicationData(LPWSTR bstrApplicationData)
bstrApplicationDataLPWSTRinアプリケーション固有のデータ文字列を指定する。
vtbl 13 HRESULT get_Writable(BOOL* pfProp)
pfPropBOOL*outスコープが書き込み可能かどうかを示す BOOL 値を受け取るポインタである。
vtbl 14 HRESULT GetProperty(INT lPropId, VARIANT varReserved, VARIANT* pvarProp)
lPropIdINTin取得するプロパティを識別するプロパティ ID を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
pvarPropVARIANT*out取得したプロパティ値を格納する VARIANT を受け取るポインタである。
vtbl 15 HRESULT SetProperty(INT lPropId, VARIANT varProp, VARIANT varReserved)
lPropIdINTin設定するプロパティを識別するプロパティ ID を指定する。
varPropVARIANTin設定するプロパティ値を格納した VARIANT を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 16 HRESULT AddPropertyItem(INT lPropId, VARIANT varProp, VARIANT varReserved)
lPropIdINTin項目を追加するコレクション型プロパティを識別するプロパティ ID を指定する。
varPropVARIANTinコレクションに追加する項目の値を格納した VARIANT を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 17 HRESULT DeletePropertyItem(INT lPropId, VARIANT varProp, VARIANT varReserved)
lPropIdINTin項目を削除するコレクション型プロパティを識別するプロパティ ID を指定する。
varPropVARIANTinコレクションから削除する項目の値を格納した VARIANT を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 18 HRESULT get_PolicyAdministrators(VARIANT* pvarAdmins)
pvarAdminsVARIANT*outポリシー管理者の SID の配列を格納した VARIANT を受け取るポインタである。
vtbl 19 HRESULT get_PolicyReaders(VARIANT* pvarReaders)
pvarReadersVARIANT*outポリシー読み取り者の SID の配列を格納した VARIANT を受け取るポインタである。
vtbl 20 HRESULT AddPolicyAdministrator(LPWSTR bstrAdmin, VARIANT varReserved)
bstrAdminLPWSTRin追加するポリシー管理者の SID 文字列を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 21 HRESULT DeletePolicyAdministrator(LPWSTR bstrAdmin, VARIANT varReserved)
bstrAdminLPWSTRin削除するポリシー管理者の SID 文字列を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 22 HRESULT AddPolicyReader(LPWSTR bstrReader, VARIANT varReserved)
bstrReaderLPWSTRin追加するポリシー読み取り者の SID 文字列を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 23 HRESULT DeletePolicyReader(LPWSTR bstrReader, VARIANT varReserved)
bstrReaderLPWSTRin削除するポリシー読み取り者の SID 文字列を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 24 HRESULT get_ApplicationGroups(IAzApplicationGroups** ppGroupCollection)
ppGroupCollectionIAzApplicationGroups**outスコープ内のアプリケーショングループのコレクションを表す IAzApplicationGroups インターフェイスを受け取るポインタである。
vtbl 25 HRESULT OpenApplicationGroup(LPWSTR bstrGroupName, VARIANT varReserved, IAzApplicationGroup** ppGroup)
bstrGroupNameLPWSTRin開くアプリケーショングループの名前を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
ppGroupIAzApplicationGroup**out開いたアプリケーショングループを表す IAzApplicationGroup インターフェイスを受け取るポインタである。
vtbl 26 HRESULT CreateApplicationGroup(LPWSTR bstrGroupName, VARIANT varReserved, IAzApplicationGroup** ppGroup)
bstrGroupNameLPWSTRin作成するアプリケーショングループの名前を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
ppGroupIAzApplicationGroup**out作成したアプリケーショングループを表す IAzApplicationGroup インターフェイスを受け取るポインタである。
vtbl 27 HRESULT DeleteApplicationGroup(LPWSTR bstrGroupName, VARIANT varReserved)
bstrGroupNameLPWSTRin削除するアプリケーショングループの名前を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 28 HRESULT get_Roles(IAzRoles** ppRoleCollection)
ppRoleCollectionIAzRoles**outスコープ内のロールのコレクションを表す IAzRoles インターフェイスを受け取るポインタである。
vtbl 29 HRESULT OpenRole(LPWSTR bstrRoleName, VARIANT varReserved, IAzRole** ppRole)
bstrRoleNameLPWSTRin開くロールの名前を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
ppRoleIAzRole**out開いたロールを表す IAzRole インターフェイスを受け取るポインタである。
vtbl 30 HRESULT CreateRole(LPWSTR bstrRoleName, VARIANT varReserved, IAzRole** ppRole)
bstrRoleNameLPWSTRin作成するロールの名前を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
ppRoleIAzRole**out作成したロールを表す IAzRole インターフェイスを受け取るポインタである。
vtbl 31 HRESULT DeleteRole(LPWSTR bstrRoleName, VARIANT varReserved)
bstrRoleNameLPWSTRin削除するロールの名前を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 32 HRESULT get_Tasks(IAzTasks** ppTaskCollection)
ppTaskCollectionIAzTasks**outスコープ内のタスクのコレクションを表す IAzTasks インターフェイスを受け取るポインタである。
vtbl 33 HRESULT OpenTask(LPWSTR bstrTaskName, VARIANT varReserved, IAzTask** ppTask)
bstrTaskNameLPWSTRin開くタスクの名前を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
ppTaskIAzTask**out開いたタスクを表す IAzTask インターフェイスを受け取るポインタである。
vtbl 34 HRESULT CreateTask(LPWSTR bstrTaskName, VARIANT varReserved, IAzTask** ppTask)
bstrTaskNameLPWSTRin作成するタスクの名前を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
ppTaskIAzTask**out作成したタスクを表す IAzTask インターフェイスを受け取るポインタである。
vtbl 35 HRESULT DeleteTask(LPWSTR bstrTaskName, VARIANT varReserved)
bstrTaskNameLPWSTRin削除するタスクの名前を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 36 HRESULT Submit(INT lFlags, VARIANT varReserved)
lFlagsINTin送信時の動作を制御するフラグを指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 37 HRESULT get_CanBeDelegated(BOOL* pfProp)
pfPropBOOL*outこのスコープを委任できるかどうかを示す BOOL 値を受け取るポインタである。
vtbl 38 HRESULT get_BizrulesWritable(BOOL* pfProp)
pfPropBOOL*outこのスコープのビジネスルールが書き込み可能かどうかを示す BOOL 値を受け取るポインタである。
vtbl 39 HRESULT get_PolicyAdministratorsName(VARIANT* pvarAdmins)
pvarAdminsVARIANT*outポリシー管理者のアカウント名の配列を格納した VARIANT を受け取るポインタである。
vtbl 40 HRESULT get_PolicyReadersName(VARIANT* pvarReaders)
pvarReadersVARIANT*outポリシー読み取り者のアカウント名の配列を格納した VARIANT を受け取るポインタである。
vtbl 41 HRESULT AddPolicyAdministratorName(LPWSTR bstrAdmin, VARIANT varReserved)
bstrAdminLPWSTRin追加するポリシー管理者のアカウント名を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 42 HRESULT DeletePolicyAdministratorName(LPWSTR bstrAdmin, VARIANT varReserved)
bstrAdminLPWSTRin削除するポリシー管理者のアカウント名を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 43 HRESULT AddPolicyReaderName(LPWSTR bstrReader, VARIANT varReserved)
bstrReaderLPWSTRin追加するポリシー読み取り者のアカウント名を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 44 HRESULT DeletePolicyReaderName(LPWSTR bstrReader, VARIANT varReserved)
bstrReaderLPWSTRin削除するポリシー読み取り者のアカウント名を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IAzScope "{00E52487-E08D-4514-B62E-877D5645F5AB}"
#usecom global IAzScope IID_IAzScope "{}"
#comfunc global IAzScope_get_Name                       7 var
#comfunc global IAzScope_put_Name                       8 wstr
#comfunc global IAzScope_get_Description                9 var
#comfunc global IAzScope_put_Description                10 wstr
#comfunc global IAzScope_get_ApplicationData            11 var
#comfunc global IAzScope_put_ApplicationData            12 wstr
#comfunc global IAzScope_get_Writable                   13 var
#comfunc global IAzScope_GetProperty                    14 int,int,var
#comfunc global IAzScope_SetProperty                    15 int,int,int
#comfunc global IAzScope_AddPropertyItem                16 int,int,int
#comfunc global IAzScope_DeletePropertyItem             17 int,int,int
#comfunc global IAzScope_get_PolicyAdministrators       18 var
#comfunc global IAzScope_get_PolicyReaders              19 var
#comfunc global IAzScope_AddPolicyAdministrator         20 wstr,int
#comfunc global IAzScope_DeletePolicyAdministrator      21 wstr,int
#comfunc global IAzScope_AddPolicyReader                22 wstr,int
#comfunc global IAzScope_DeletePolicyReader             23 wstr,int
#comfunc global IAzScope_get_ApplicationGroups          24 sptr
#comfunc global IAzScope_OpenApplicationGroup           25 wstr,int,sptr
#comfunc global IAzScope_CreateApplicationGroup         26 wstr,int,sptr
#comfunc global IAzScope_DeleteApplicationGroup         27 wstr,int
#comfunc global IAzScope_get_Roles                      28 sptr
#comfunc global IAzScope_OpenRole                       29 wstr,int,sptr
#comfunc global IAzScope_CreateRole                     30 wstr,int,sptr
#comfunc global IAzScope_DeleteRole                     31 wstr,int
#comfunc global IAzScope_get_Tasks                      32 sptr
#comfunc global IAzScope_OpenTask                       33 wstr,int,sptr
#comfunc global IAzScope_CreateTask                     34 wstr,int,sptr
#comfunc global IAzScope_DeleteTask                     35 wstr,int
#comfunc global IAzScope_Submit                         36 int,int
#comfunc global IAzScope_get_CanBeDelegated             37 var
#comfunc global IAzScope_get_BizrulesWritable           38 var
#comfunc global IAzScope_get_PolicyAdministratorsName   39 var
#comfunc global IAzScope_get_PolicyReadersName          40 var
#comfunc global IAzScope_AddPolicyAdministratorName     41 wstr,int
#comfunc global IAzScope_DeletePolicyAdministratorName  42 wstr,int
#comfunc global IAzScope_AddPolicyReaderName            43 wstr,int
#comfunc global IAzScope_DeletePolicyReaderName         44 wstr,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。