Win32 API 日本語リファレンス
ホームSystem.Com.Urlmon › IInternetSecurityManagerEx2

IInternetSecurityManagerEx2

COM
IIDf1e50292-a795-4117-8e09-2b560a72ac60継承元IInternetSecurityManagerEx自前メソッド開始 vtbl12

メソッド 4

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 12 HRESULT MapUrlToZoneEx2(IUri* pUri, DWORD* pdwZone, DWORD dwFlags, LPWSTR* ppwszMappedUrl, DWORD* pdwOutFlags)
pUriIUri*inゾーンを判定する対象を表す IUri へのポインタである。
pdwZoneDWORD*outURI が属するセキュリティゾーンの識別子を受け取るポインタである。
dwFlagsDWORDinマッピング動作を制御するフラグを指定する。
ppwszMappedUrlLPWSTR*outoptionalマッピングに使用された URL を受け取るポインタである。不要な場合は NULL を指定できる。
pdwOutFlagsDWORD*outoptionalマッピング結果に関する追加情報を示すフラグを受け取るポインタである。
vtbl 13 HRESULT ProcessUrlActionEx2(IUri* pUri, DWORD dwAction, BYTE* pPolicy, DWORD cbPolicy, BYTE* pContext, DWORD cbContext, DWORD dwFlags, UINT_PTR dwReserved, DWORD* pdwOutFlags)
pUriIUri*inアクションを評価する対象を表す IUri へのポインタである。
dwActionDWORDin評価する URL アクション(URLACTION_)を指定する。
pPolicyBYTE*out判定されたポリシーを受け取るバッファへのポインタである。
cbPolicyDWORDinpPolicy のサイズ(バイト数)を指定する。
pContextBYTE*inポリシー評価に使用するコンテキストデータへのポインタである。
cbContextDWORDinpContext のサイズ(バイト数)を指定する。
dwFlagsDWORDin評価動作を制御する PUAF フラグを指定する。
dwReservedUINT_PTRin予約済みであり、0 を指定する。
pdwOutFlagsDWORD*out評価結果に関する追加情報を示す PUAFOUT フラグを受け取るポインタである。
vtbl 14 HRESULT GetSecurityIdEx2(IUri* pUri, BYTE* pbSecurityId, DWORD* pcbSecurityId, UINT_PTR dwReserved)
pUriIUri*inセキュリティ ID を取得する対象を表す IUri へのポインタである。
pbSecurityIdBYTE*out生成されたセキュリティ ID を受け取るバッファへのポインタである。
pcbSecurityIdDWORD*inout入力時はバッファのサイズ(バイト数)を、出力時は実際に書き込まれたバイト数を受け取るポインタである。
dwReservedUINT_PTRin予約済みであり、0 を指定する。
vtbl 15 HRESULT QueryCustomPolicyEx2(IUri* pUri, GUID* guidKey, BYTE** ppPolicy, DWORD* pcbPolicy, BYTE* pContext, DWORD cbContext, UINT_PTR dwReserved)
pUriIUri*inカスタムポリシーを問い合わせる対象を表す IUri へのポインタである。
guidKeyGUID*in問い合わせるカスタムポリシーを識別する GUID へのポインタである。
ppPolicyBYTE**out取得したポリシーデータを受け取るポインタである。呼び出し側で CoTaskMemFree により解放する必要がある。
pcbPolicyDWORD*out取得したポリシーデータのサイズ(バイト数)を受け取るポインタである。
pContextBYTE*inポリシー評価に使用するコンテキストデータへのポインタである。
cbContextDWORDinpContext のサイズ(バイト数)を指定する。
dwReservedUINT_PTRin予約済みであり、0 を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IInternetSecurityManagerEx2 "{F1E50292-A795-4117-8E09-2B560A72AC60}"
#usecom global IInternetSecurityManagerEx2 IID_IInternetSecurityManagerEx2 "{}"
#comfunc global IInternetSecurityManagerEx2_MapUrlToZoneEx2       12 sptr,var,int,var,var
#comfunc global IInternetSecurityManagerEx2_ProcessUrlActionEx2   13 sptr,int,var,int,var,int,int,sptr,var
#comfunc global IInternetSecurityManagerEx2_GetSecurityIdEx2      14 sptr,var,var,sptr
#comfunc global IInternetSecurityManagerEx2_QueryCustomPolicyEx2  15 sptr,var,var,var,var,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。