ホーム › System.ApplicationInstallationAndServicing › IAssemblyName
IAssemblyName
COMメソッド 9
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| PropertyId | DWORD | in | 設定するアセンブリ名プロパティの ID (ASM_NAME 列挙値) を指定する。 |
| pvProperty | void* | inout | 設定する値が格納されたバッファへのポインタである。 |
| cbProperty | DWORD | in | pvProperty が指す値のバイト数を指定する。 |
| PropertyId | DWORD | in | 取得するアセンブリ名プロパティの ID を指定する。 |
| pvProperty | void* | inout | 取得した値を格納するバッファへのポインタである。 |
| pcbProperty | DWORD* | inout | 入力ではバッファのサイズを、出力では実際に必要なバイト数を受け取る変数へのポインタである。 |
vtbl 5 HRESULT Finalize()
| szDisplayName | LPWSTR | outoptional | アセンブリの表示名を受け取るバッファへのポインタである。 |
| pccDisplayName | DWORD* | inout | 入力ではバッファの文字数を、出力では必要な文字数を受け取る変数へのポインタである。 |
| dwDisplayFlags | DWORD | in | 表示名に含める情報を制御するフラグ (ASM_DISPLAY_FLAGS) を指定する。 |
vtbl 7 HRESULT Reserved(GUID* refIID, IUnknown* pUnkReserved1, IUnknown* pUnkReserved2, LPWSTR szReserved, LONGLONG llReserved, void* pvReserved, DWORD cbReserved, void** ppReserved)
| refIID | GUID* | in | 予約済みのインターフェイス ID へのポインタである。 |
| pUnkReserved1 | IUnknown* | in | 予約済みのインターフェイスポインタである。 |
| pUnkReserved2 | IUnknown* | in | 予約済みのインターフェイスポインタである。 |
| szReserved | LPWSTR | in | 予約済みの文字列へのポインタである。 |
| llReserved | LONGLONG | in | 予約済みの 64 ビット値を指定する。 |
| pvReserved | void* | inout | 予約済みのデータへのポインタである。 |
| cbReserved | DWORD | in | 予約済みのサイズ値を指定する。 |
| ppReserved | void** | inout | 予約済みの出力ポインタへのポインタである。 |
| lpcwBuffer | DWORD* | inout | 入力では pwzName バッファの文字数を、出力では必要な文字数を受け取る変数へのポインタである。 |
| pwzName | LPWSTR | outoptional | アセンブリの単純名を受け取るバッファへのポインタである。 |
| pdwVersionHi | DWORD* | inout | アセンブリバージョンの上位 32 ビット (メジャー・マイナー) を受け取る変数へのポインタである。 |
| pdwVersionLow | DWORD* | inout | アセンブリバージョンの下位 32 ビット (ビルド・リビジョン) を受け取る変数へのポインタである。 |
vtbl 10 HRESULT IsEqual(IAssemblyName* pName, DWORD dwCmpFlags)
| pName | IAssemblyName* | in | 比較対象のアセンブリ名を表す IAssemblyName へのポインタである。 |
| dwCmpFlags | DWORD | in | 比較に用いる名前部分を指定するフラグ (ASM_CMP_FLAGS) を指定する。 |
vtbl 11 HRESULT Clone(IAssemblyName** pName)
| pName | IAssemblyName** | out | 現在のアセンブリ名の複製を表す IAssemblyName を受け取るポインタへのポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IAssemblyName "{CD193BC0-B4BC-11D2-9833-00C04FC31D2E}" #usecom global IAssemblyName IID_IAssemblyName "{}" #comfunc global IAssemblyName_SetProperty 3 int,sptr,int #comfunc global IAssemblyName_GetProperty 4 int,sptr,var #comfunc global IAssemblyName_Finalize 5 #comfunc global IAssemblyName_GetDisplayName 6 var,var,int #comfunc global IAssemblyName_Reserved 7 var,sptr,sptr,wstr,int64,sptr,int,sptr #comfunc global IAssemblyName_GetName 8 var,var #comfunc global IAssemblyName_GetVersion 9 var,var #comfunc global IAssemblyName_IsEqual 10 sptr,int #comfunc global IAssemblyName_Clone 11 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IAssemblyName "{CD193BC0-B4BC-11D2-9833-00C04FC31D2E}" #usecom global IAssemblyName IID_IAssemblyName "{}" #comfunc global IAssemblyName_SetProperty 3 int,sptr,int #comfunc global IAssemblyName_GetProperty 4 int,sptr,sptr #comfunc global IAssemblyName_Finalize 5 #comfunc global IAssemblyName_GetDisplayName 6 sptr,sptr,int #comfunc global IAssemblyName_Reserved 7 sptr,sptr,sptr,wstr,int64,sptr,int,sptr #comfunc global IAssemblyName_GetName 8 sptr,sptr #comfunc global IAssemblyName_GetVersion 9 sptr,sptr #comfunc global IAssemblyName_IsEqual 10 sptr,int #comfunc global IAssemblyName_Clone 11 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。