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

ICLRStrongName

COM
IID9fd93ccf-3280-4391-b3a9-96e1cde77c8d継承元IUnknown自前メソッド開始 vtbl3

メソッド 25

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

vtbl 3 HRESULT GetHashFromAssemblyFile(LPSTR pszFilePath, DWORD* piHashAlg, BYTE* pbHash, DWORD cchHash, DWORD* pchHash)
pszFilePathLPSTRinハッシュを計算する対象アセンブリファイルのパスを表す、NULL 終端の ANSI 文字列へのポインタである。
piHashAlgDWORD*inout使用するハッシュアルゴリズムの識別子を指定する。0 を指定すると既定のアルゴリズムが使われ、実際に使用されたアルゴリズムを受け取る DWORD へのポインタである。
pbHashBYTE*out計算されたハッシュ値を受け取るバイト配列バッファへのポインタである。
cchHashDWORDinpbHash バッファのサイズをバイト単位で指定する。
pchHashDWORD*out実際に書き込まれたハッシュのバイト数を受け取る DWORD へのポインタである。
vtbl 4 HRESULT GetHashFromAssemblyFileW(LPWSTR pwzFilePath, DWORD* piHashAlg, BYTE* pbHash, DWORD cchHash, DWORD* pchHash)
pwzFilePathLPWSTRinハッシュを計算する対象アセンブリファイルのパスを表す、NULL 終端のワイド文字列へのポインタである。
piHashAlgDWORD*inout使用するハッシュアルゴリズムの識別子を指定する。0 を指定すると既定のアルゴリズムが使われ、実際に使用されたアルゴリズムを受け取る DWORD へのポインタである。
pbHashBYTE*out計算されたハッシュ値を受け取るバイト配列バッファへのポインタである。
cchHashDWORDinpbHash バッファのサイズをバイト単位で指定する。
pchHashDWORD*out実際に書き込まれたハッシュのバイト数を受け取る DWORD へのポインタである。
vtbl 5 HRESULT GetHashFromBlob(BYTE* pbBlob, DWORD cchBlob, DWORD* piHashAlg, BYTE* pbHash, DWORD cchHash, DWORD* pchHash)
pbBlobBYTE*inハッシュを計算する対象データ(ブロブ)を格納したバイト配列へのポインタである。
cchBlobDWORDinpbBlob が指すデータのバイト数を指定する。
piHashAlgDWORD*inout使用するハッシュアルゴリズムの識別子を指定する。0 を指定すると既定のアルゴリズムが使われ、実際に使用されたアルゴリズムを受け取る DWORD へのポインタである。
pbHashBYTE*out計算されたハッシュ値を受け取るバイト配列バッファへのポインタである。
cchHashDWORDinpbHash バッファのサイズをバイト単位で指定する。
pchHashDWORD*out実際に書き込まれたハッシュのバイト数を受け取る DWORD へのポインタである。
vtbl 6 HRESULT GetHashFromFile(LPSTR pszFilePath, DWORD* piHashAlg, BYTE* pbHash, DWORD cchHash, DWORD* pchHash)
pszFilePathLPSTRinハッシュを計算する対象ファイルのパスを表す、NULL 終端の ANSI 文字列へのポインタである。
piHashAlgDWORD*inout使用するハッシュアルゴリズムの識別子を指定する。0 を指定すると既定のアルゴリズムが使われ、実際に使用されたアルゴリズムを受け取る DWORD へのポインタである。
pbHashBYTE*out計算されたハッシュ値を受け取るバイト配列バッファへのポインタである。
cchHashDWORDinpbHash バッファのサイズをバイト単位で指定する。
pchHashDWORD*out実際に書き込まれたハッシュのバイト数を受け取る DWORD へのポインタである。
vtbl 7 HRESULT GetHashFromFileW(LPWSTR pwzFilePath, DWORD* piHashAlg, BYTE* pbHash, DWORD cchHash, DWORD* pchHash)
pwzFilePathLPWSTRinハッシュを計算する対象ファイルのパスを表す、NULL 終端のワイド文字列へのポインタである。
piHashAlgDWORD*inout使用するハッシュアルゴリズムの識別子を指定する。0 を指定すると既定のアルゴリズムが使われ、実際に使用されたアルゴリズムを受け取る DWORD へのポインタである。
pbHashBYTE*out計算されたハッシュ値を受け取るバイト配列バッファへのポインタである。
cchHashDWORDinpbHash バッファのサイズをバイト単位で指定する。
pchHashDWORD*out実際に書き込まれたハッシュのバイト数を受け取る DWORD へのポインタである。
vtbl 8 HRESULT GetHashFromHandle(HANDLE hFile, DWORD* piHashAlg, BYTE* pbHash, DWORD cchHash, DWORD* pchHash)
hFileHANDLEinハッシュを計算する対象ファイルのハンドルである。
piHashAlgDWORD*inout使用するハッシュアルゴリズムの識別子を指定する。0 を指定すると既定のアルゴリズムが使われ、実際に使用されたアルゴリズムを受け取る DWORD へのポインタである。
pbHashBYTE*out計算されたハッシュ値を受け取るバイト配列バッファへのポインタである。
cchHashDWORDinpbHash バッファのサイズをバイト単位で指定する。
pchHashDWORD*out実際に書き込まれたハッシュのバイト数を受け取る DWORD へのポインタである。
vtbl 9 HRESULT StrongNameCompareAssemblies(LPWSTR pwzAssembly1, LPWSTR pwzAssembly2, DWORD* pdwResult)
pwzAssembly1LPWSTRin比較する 1 つ目のアセンブリのパスを表す、NULL 終端のワイド文字列へのポインタである。
pwzAssembly2LPWSTRin比較する 2 つ目のアセンブリのパスを表す、NULL 終端のワイド文字列へのポインタである。
pdwResultDWORD*out2 つのアセンブリが厳密名のみ異なるか等価かなどの比較結果を受け取る DWORD へのポインタである。
vtbl 10 HRESULT StrongNameFreeBuffer(BYTE* pbMemory)
pbMemoryBYTE*in厳密名 API が割り当てたメモリへのポインタである。このメソッドで解放する。
vtbl 11 HRESULT StrongNameGetBlob(LPWSTR pwzFilePath, BYTE* pbBlob, DWORD* pcbBlob)
pwzFilePathLPWSTRinブロブを取得する対象アセンブリファイルのパスを表す、NULL 終端のワイド文字列へのポインタである。
pbBlobBYTE*inout取得したアセンブリのバイナリ表現(ブロブ)を受け取るバイト配列バッファへのポインタである。
pcbBlobDWORD*inout入力時はバッファのバイト数を、出力時は必要な、または書き込まれたバイト数を受け取る DWORD へのポインタである。
vtbl 12 HRESULT StrongNameGetBlobFromImage(BYTE* pbBase, DWORD dwLength, BYTE* pbBlob, DWORD* pcbBlob)
pbBaseBYTE*inメモリ上にマップされたアセンブリイメージの先頭アドレスへのポインタである。
dwLengthDWORDinpbBase が指すイメージのバイト数を指定する。
pbBlobBYTE*out取得したアセンブリのバイナリ表現(ブロブ)を受け取るバイト配列バッファへのポインタである。
pcbBlobDWORD*inout入力時はバッファのバイト数を、出力時は必要な、または書き込まれたバイト数を受け取る DWORD へのポインタである。
vtbl 13 HRESULT StrongNameGetPublicKey(LPWSTR pwzKeyContainer, BYTE* pbKeyBlob, DWORD cbKeyBlob, BYTE** ppbPublicKeyBlob, DWORD* pcbPublicKeyBlob)
pwzKeyContainerLPWSTRin鍵を取得するキーコンテナの名前を表す、NULL 終端のワイド文字列へのポインタである。pbKeyBlob を使う場合は NULL を指定できる。
pbKeyBlobBYTE*in公開鍵を抽出する元となる鍵ペアのブロブへのポインタである。キーコンテナを使う場合は NULL を指定できる。
cbKeyBlobDWORDinpbKeyBlob が指す鍵ブロブのバイト数を指定する。
ppbPublicKeyBlobBYTE**out抽出された公開鍵ブロブを受け取るバッファへのポインタである。使用後は StrongNameFreeBuffer で解放する。
pcbPublicKeyBlobDWORD*out返された公開鍵ブロブのバイト数を受け取る DWORD へのポインタである。
vtbl 14 HRESULT StrongNameHashSize(DWORD ulHashAlg, DWORD* pcbSize)
ulHashAlgDWORDinサイズを問い合わせるハッシュアルゴリズムの識別子を指定する。
pcbSizeDWORD*out指定したアルゴリズムが生成するハッシュのバイト数を受け取る DWORD へのポインタである。
vtbl 15 HRESULT StrongNameKeyDelete(LPWSTR pwzKeyContainer)
pwzKeyContainerLPWSTRin削除するキーコンテナの名前を表す、NULL 終端のワイド文字列へのポインタである。
vtbl 16 HRESULT StrongNameKeyGen(LPWSTR pwzKeyContainer, DWORD dwFlags, BYTE** ppbKeyBlob, DWORD* pcbKeyBlob)
pwzKeyContainerLPWSTRin生成した鍵を格納するキーコンテナの名前を表す、NULL 終端のワイド文字列へのポインタである。コンテナに保存しない場合は NULL を指定できる。
dwFlagsDWORDin鍵生成の動作を制御するフラグを指定する。
ppbKeyBlobBYTE**out生成された鍵ペアのブロブを受け取るバッファへのポインタである。使用後は StrongNameFreeBuffer で解放する。
pcbKeyBlobDWORD*out返された鍵ブロブのバイト数を受け取る DWORD へのポインタである。
vtbl 17 HRESULT StrongNameKeyGenEx(LPWSTR pwzKeyContainer, DWORD dwFlags, DWORD dwKeySize, BYTE** ppbKeyBlob, DWORD* pcbKeyBlob)
pwzKeyContainerLPWSTRin生成した鍵を格納するキーコンテナの名前を表す、NULL 終端のワイド文字列へのポインタである。コンテナに保存しない場合は NULL を指定できる。
dwFlagsDWORDin鍵生成の動作を制御するフラグを指定する。
dwKeySizeDWORDin生成する鍵のサイズ(ビット数)を指定する。
ppbKeyBlobBYTE**out生成された鍵ペアのブロブを受け取るバッファへのポインタである。使用後は StrongNameFreeBuffer で解放する。
pcbKeyBlobDWORD*out返された鍵ブロブのバイト数を受け取る DWORD へのポインタである。
vtbl 18 HRESULT StrongNameKeyInstall(LPWSTR pwzKeyContainer, BYTE* pbKeyBlob, DWORD cbKeyBlob)
pwzKeyContainerLPWSTRin鍵をインストールする先のキーコンテナの名前を表す、NULL 終端のワイド文字列へのポインタである。
pbKeyBlobBYTE*inコンテナにインストールする鍵ペアのブロブへのポインタである。
cbKeyBlobDWORDinpbKeyBlob が指す鍵ブロブのバイト数を指定する。
vtbl 19 HRESULT StrongNameSignatureGeneration(LPWSTR pwzFilePath, LPWSTR pwzKeyContainer, BYTE* pbKeyBlob, DWORD cbKeyBlob, BYTE** ppbSignatureBlob, DWORD* pcbSignatureBlob)
pwzFilePathLPWSTRin署名する対象アセンブリファイルのパスを表す、NULL 終端のワイド文字列へのポインタである。
pwzKeyContainerLPWSTRin署名に使用する鍵を格納したキーコンテナの名前を表す、NULL 終端のワイド文字列へのポインタである。pbKeyBlob を使う場合は NULL を指定できる。
pbKeyBlobBYTE*in署名に使用する鍵ペアのブロブへのポインタである。キーコンテナを使う場合は NULL を指定できる。
cbKeyBlobDWORDinpbKeyBlob が指す鍵ブロブのバイト数を指定する。
ppbSignatureBlobBYTE**out生成された署名ブロブを受け取るバッファへのポインタである。不要なら NULL を指定できる。
pcbSignatureBlobDWORD*out返された署名ブロブのバイト数を受け取る DWORD へのポインタである。
vtbl 20 HRESULT StrongNameSignatureGenerationEx(LPWSTR wszFilePath, LPWSTR wszKeyContainer, BYTE* pbKeyBlob, DWORD cbKeyBlob, BYTE** ppbSignatureBlob, DWORD* pcbSignatureBlob, DWORD dwFlags)
wszFilePathLPWSTRin署名する対象アセンブリファイルのパスを表す、NULL 終端のワイド文字列へのポインタである。
wszKeyContainerLPWSTRin署名に使用する鍵を格納したキーコンテナの名前を表す、NULL 終端のワイド文字列へのポインタである。pbKeyBlob を使う場合は NULL を指定できる。
pbKeyBlobBYTE*in署名に使用する鍵ペアのブロブへのポインタである。キーコンテナを使う場合は NULL を指定できる。
cbKeyBlobDWORDinpbKeyBlob が指す鍵ブロブのバイト数を指定する。
ppbSignatureBlobBYTE**out生成された署名ブロブを受け取るバッファへのポインタである。不要なら NULL を指定できる。
pcbSignatureBlobDWORD*out返された署名ブロブのバイト数を受け取る DWORD へのポインタである。
dwFlagsDWORDin署名生成の動作を制御するフラグを指定する。
vtbl 21 HRESULT StrongNameSignatureSize(BYTE* pbPublicKeyBlob, DWORD cbPublicKeyBlob, DWORD* pcbSize)
pbPublicKeyBlobBYTE*in署名サイズを算出する元となる公開鍵ブロブへのポインタである。
cbPublicKeyBlobDWORDinpbPublicKeyBlob が指す公開鍵ブロブのバイト数を指定する。
pcbSizeDWORD*in対応する署名のサイズ(バイト数)を受け取る DWORD へのポインタである。
vtbl 22 HRESULT StrongNameSignatureVerification(LPWSTR pwzFilePath, DWORD dwInFlags, DWORD* pdwOutFlags)
pwzFilePathLPWSTRin署名を検証する対象アセンブリファイルのパスを表す、NULL 終端のワイド文字列へのポインタである。
dwInFlagsDWORDin検証の動作を制御する入力フラグを指定する。
pdwOutFlagsDWORD*out検証結果に関する出力フラグを受け取る DWORD へのポインタである。
vtbl 23 HRESULT StrongNameSignatureVerificationEx(LPWSTR pwzFilePath, BOOLEAN fForceVerification, BYTE* pfWasVerified)
pwzFilePathLPWSTRin署名を検証する対象アセンブリファイルのパスを表す、NULL 終端のワイド文字列へのポインタである。
fForceVerificationBOOLEANin登録された検証スキップ設定を無視して強制的に検証するかどうかを指定する。
pfWasVerifiedBYTE*out署名が実際に検証されたかどうかを受け取るポインタである。
vtbl 24 HRESULT StrongNameSignatureVerificationFromImage(BYTE* pbBase, DWORD dwLength, DWORD dwInFlags, DWORD* pdwOutFlags)
pbBaseBYTE*inメモリ上にマップされたアセンブリイメージの先頭アドレスへのポインタである。
dwLengthDWORDinpbBase が指すイメージのバイト数を指定する。
dwInFlagsDWORDin検証の動作を制御する入力フラグを指定する。
pdwOutFlagsDWORD*out検証結果に関する出力フラグを受け取る DWORD へのポインタである。
vtbl 25 HRESULT StrongNameTokenFromAssembly(LPWSTR pwzFilePath, BYTE** ppbStrongNameToken, DWORD* pcbStrongNameToken)
pwzFilePathLPWSTRin厳密名トークンを取得する対象アセンブリファイルのパスを表す、NULL 終端のワイド文字列へのポインタである。
ppbStrongNameTokenBYTE**out取得された厳密名トークンを受け取るバッファへのポインタである。使用後は StrongNameFreeBuffer で解放する。
pcbStrongNameTokenDWORD*out返された厳密名トークンのバイト数を受け取る DWORD へのポインタである。
vtbl 26 HRESULT StrongNameTokenFromAssemblyEx(LPWSTR pwzFilePath, BYTE** ppbStrongNameToken, DWORD* pcbStrongNameToken, BYTE** ppbPublicKeyBlob, DWORD* pcbPublicKeyBlob)
pwzFilePathLPWSTRin厳密名トークンと公開鍵を取得する対象アセンブリファイルのパスを表す、NULL 終端のワイド文字列へのポインタである。
ppbStrongNameTokenBYTE**out取得された厳密名トークンを受け取るバッファへのポインタである。使用後は StrongNameFreeBuffer で解放する。
pcbStrongNameTokenDWORD*out返された厳密名トークンのバイト数を受け取る DWORD へのポインタである。
ppbPublicKeyBlobBYTE**out取得された公開鍵ブロブを受け取るバッファへのポインタである。使用後は StrongNameFreeBuffer で解放する。
pcbPublicKeyBlobDWORD*out返された公開鍵ブロブのバイト数を受け取る DWORD へのポインタである。
vtbl 27 HRESULT StrongNameTokenFromPublicKey(BYTE* pbPublicKeyBlob, DWORD cbPublicKeyBlob, BYTE** ppbStrongNameToken, DWORD* pcbStrongNameToken)
pbPublicKeyBlobBYTE*in厳密名トークンを生成する元となる公開鍵ブロブへのポインタである。
cbPublicKeyBlobDWORDinpbPublicKeyBlob が指す公開鍵ブロブのバイト数を指定する。
ppbStrongNameTokenBYTE**out生成された厳密名トークンを受け取るバッファへのポインタである。使用後は StrongNameFreeBuffer で解放する。
pcbStrongNameTokenDWORD*out返された厳密名トークンのバイト数を受け取る DWORD へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_ICLRStrongName "{9FD93CCF-3280-4391-B3A9-96E1CDE77C8D}"
#usecom global ICLRStrongName IID_ICLRStrongName "{}"
#comfunc global ICLRStrongName_GetHashFromAssemblyFile                   3 str,var,var,int,var
#comfunc global ICLRStrongName_GetHashFromAssemblyFileW                  4 wstr,var,var,int,var
#comfunc global ICLRStrongName_GetHashFromBlob                           5 var,int,var,var,int,var
#comfunc global ICLRStrongName_GetHashFromFile                           6 str,var,var,int,var
#comfunc global ICLRStrongName_GetHashFromFileW                          7 wstr,var,var,int,var
#comfunc global ICLRStrongName_GetHashFromHandle                         8 sptr,var,var,int,var
#comfunc global ICLRStrongName_StrongNameCompareAssemblies               9 wstr,wstr,var
#comfunc global ICLRStrongName_StrongNameFreeBuffer                      10 var
#comfunc global ICLRStrongName_StrongNameGetBlob                         11 wstr,var,var
#comfunc global ICLRStrongName_StrongNameGetBlobFromImage                12 var,int,var,var
#comfunc global ICLRStrongName_StrongNameGetPublicKey                    13 wstr,var,int,var,var
#comfunc global ICLRStrongName_StrongNameHashSize                        14 int,var
#comfunc global ICLRStrongName_StrongNameKeyDelete                       15 wstr
#comfunc global ICLRStrongName_StrongNameKeyGen                          16 wstr,int,var,var
#comfunc global ICLRStrongName_StrongNameKeyGenEx                        17 wstr,int,int,var,var
#comfunc global ICLRStrongName_StrongNameKeyInstall                      18 wstr,var,int
#comfunc global ICLRStrongName_StrongNameSignatureGeneration             19 wstr,wstr,var,int,var,var
#comfunc global ICLRStrongName_StrongNameSignatureGenerationEx           20 wstr,wstr,var,int,var,var,int
#comfunc global ICLRStrongName_StrongNameSignatureSize                   21 var,int,var
#comfunc global ICLRStrongName_StrongNameSignatureVerification           22 wstr,int,var
#comfunc global ICLRStrongName_StrongNameSignatureVerificationEx         23 wstr,int,var
#comfunc global ICLRStrongName_StrongNameSignatureVerificationFromImage  24 var,int,int,var
#comfunc global ICLRStrongName_StrongNameTokenFromAssembly               25 wstr,var,var
#comfunc global ICLRStrongName_StrongNameTokenFromAssemblyEx             26 wstr,var,var,var,var
#comfunc global ICLRStrongName_StrongNameTokenFromPublicKey              27 var,int,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。