Win32 API 日本語リファレンス
ホームSystem.ClrHosting › ICLRHostBindingPolicyManager

ICLRHostBindingPolicyManager

COM
IID4b3545e7-1856-48c9-a8ba-24b21a753c09継承元IUnknown自前メソッド開始 vtbl3

メソッド 2

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

vtbl 3 HRESULT ModifyApplicationPolicy(LPWSTR pwzSourceAssemblyIdentity, LPWSTR pwzTargetAssemblyIdentity, BYTE* pbApplicationPolicy, DWORD cbAppPolicySize, DWORD dwPolicyModifyFlags, BYTE* pbNewApplicationPolicy, DWORD* pcbNewAppPolicySize)
pwzSourceAssemblyIdentityLPWSTRinポリシー変更前(リダイレクト元)のアセンブリ識別子を表す、NULL 終端のワイド文字列へのポインタである。
pwzTargetAssemblyIdentityLPWSTRinポリシー変更後(リダイレクト先)のアセンブリ識別子を表す、NULL 終端のワイド文字列へのポインタである。
pbApplicationPolicyBYTE*in既存のアプリケーションバインディングポリシーを格納したバイト配列へのポインタである。
cbAppPolicySizeDWORDinpbApplicationPolicy が指すポリシーデータのバイト数を指定する。
dwPolicyModifyFlagsDWORDinポリシーの変更方法を制御するフラグを指定する。
pbNewApplicationPolicyBYTE*out変更後の新しいアプリケーションポリシーを受け取るバイト配列バッファへのポインタである。NULL を指定すると必要なサイズのみを取得できる。
pcbNewAppPolicySizeDWORD*inout入力時は出力バッファのバイト数を、出力時は必要な、または書き込まれたバイト数を受け取る DWORD へのポインタである。
vtbl 4 HRESULT EvaluatePolicy(LPWSTR pwzReferenceIdentity, BYTE* pbApplicationPolicy, DWORD cbAppPolicySize, LPWSTR pwzPostPolicyReferenceIdentity, DWORD* pcchPostPolicyReferenceIdentity, DWORD* pdwPoliciesApplied)
pwzReferenceIdentityLPWSTRin評価対象となるアセンブリ参照識別子を表す、NULL 終端のワイド文字列へのポインタである。
pbApplicationPolicyBYTE*in適用するアプリケーションバインディングポリシーを格納したバイト配列へのポインタである。
cbAppPolicySizeDWORDinpbApplicationPolicy が指すポリシーデータのバイト数を指定する。
pwzPostPolicyReferenceIdentityLPWSTRoutポリシー適用後の参照識別子を受け取るワイド文字列バッファへのポインタである。NULL を指定すると必要なサイズのみを取得できる。
pcchPostPolicyReferenceIdentityDWORD*inout入力時は出力バッファの文字数を、出力時は必要な、または書き込まれた文字数を受け取る DWORD へのポインタである。
pdwPoliciesAppliedDWORD*out実際に適用されたポリシーの種類を示すフラグを受け取る DWORD へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_ICLRHostBindingPolicyManager "{4B3545E7-1856-48C9-A8BA-24B21A753C09}"
#usecom global ICLRHostBindingPolicyManager IID_ICLRHostBindingPolicyManager "{}"
#comfunc global ICLRHostBindingPolicyManager_ModifyApplicationPolicy  3 wstr,wstr,var,int,int,var,var
#comfunc global ICLRHostBindingPolicyManager_EvaluatePolicy           4 wstr,var,int,var,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。