Win32 API 日本語リファレンス
ホームSystem.WinRT.Metadata › IMetaDataAssemblyEmit

IMetaDataAssemblyEmit

COM
IID211ef15b-5317-4438-b196-dec87b887693継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

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

vtbl 3 HRESULT DefineAssembly(void* pbPublicKey, DWORD cbPublicKey, DWORD ulHashAlgId, LPWSTR szName, ASSEMBLYMETADATA* pMetaData, DWORD dwAssemblyFlags, DWORD* pma)
pbPublicKeyvoid*inアセンブリの公開キーへのポインタである。なければ NULL を指定する。
cbPublicKeyDWORDin公開キーのサイズをバイト数で指定する。
ulHashAlgIdDWORDin公開キーの計算に用いたハッシュアルゴリズム ID を指定する。
szNameLPWSTRinアセンブリの名前を指定する文字列である。
pMetaDataASSEMBLYMETADATA*inバージョンやロケールなどを示す ASSEMBLYMETADATA へのポインタである。
dwAssemblyFlagsDWORDinアセンブリの属性を示すフラグを指定する。
pmaDWORD*inout定義された Assembly トークンを受け取る。
vtbl 4 HRESULT DefineAssemblyRef(void* pbPublicKeyOrToken, DWORD cbPublicKeyOrToken, LPWSTR szName, ASSEMBLYMETADATA* pMetaData, void* pbHashValue, DWORD cbHashValue, DWORD dwAssemblyRefFlags, DWORD* pmdar)
pbPublicKeyOrTokenvoid*in参照アセンブリの公開キーまたは公開キートークンへのポインタである。
cbPublicKeyOrTokenDWORDin公開キーまたはトークンのサイズをバイト数で指定する。
szNameLPWSTRin参照するアセンブリの名前を指定する文字列である。
pMetaDataASSEMBLYMETADATA*inバージョンやロケールなどを示す ASSEMBLYMETADATA へのポインタである。
pbHashValuevoid*in参照アセンブリのハッシュ値へのポインタである。
cbHashValueDWORDinハッシュ値のサイズをバイト数で指定する。
dwAssemblyRefFlagsDWORDinアセンブリ参照の属性を示すフラグを指定する。
pmdarDWORD*inout定義された AssemblyRef トークンを受け取る。
vtbl 5 HRESULT DefineFile(LPWSTR szName, void* pbHashValue, DWORD cbHashValue, DWORD dwFileFlags, DWORD* pmdf)
szNameLPWSTRinアセンブリに含めるファイルの名前を指定する文字列である。
pbHashValuevoid*inファイルのハッシュ値へのポインタである。
cbHashValueDWORDinハッシュ値のサイズをバイト数で指定する。
dwFileFlagsDWORDinファイルの属性を示すフラグを指定する。
pmdfDWORD*inout定義された File トークンを受け取る。
vtbl 6 HRESULT DefineExportedType(LPWSTR szName, DWORD tkImplementation, DWORD tkTypeDef, DWORD dwExportedTypeFlags, DWORD* pmdct)
szNameLPWSTRinエクスポートする型の名前を指定する文字列である。
tkImplementationDWORDin型を実装するファイルまたはアセンブリ参照のトークンを指定する。
tkTypeDefDWORDin対応する元の型 (TypeDef) のトークンを指定する。
dwExportedTypeFlagsDWORDinエクスポート型の属性を示すフラグを指定する。
pmdctDWORD*inout定義された ExportedType トークンを受け取る。
vtbl 7 HRESULT DefineManifestResource(LPWSTR szName, DWORD tkImplementation, DWORD dwOffset, DWORD dwResourceFlags, DWORD* pmdmr)
szNameLPWSTRinマニフェストリソースの名前を指定する文字列である。
tkImplementationDWORDinリソースを含むファイルまたはアセンブリ参照のトークンを指定する。
dwOffsetDWORDinリソースのファイル内オフセットを指定する。
dwResourceFlagsDWORDinリソースの可視性などの属性を示すフラグを指定する。
pmdmrDWORD*inout定義された ManifestResource トークンを受け取る。
vtbl 8 HRESULT SetAssemblyProps(DWORD pma, void* pbPublicKey, DWORD cbPublicKey, DWORD ulHashAlgId, LPWSTR szName, ASSEMBLYMETADATA* pMetaData, DWORD dwAssemblyFlags)
pmaDWORDinプロパティを更新する対象のアセンブリ (Assembly) のトークンを指定する。
pbPublicKeyvoid*inアセンブリの公開キーへのポインタである。なければ NULL を指定する。
cbPublicKeyDWORDin公開キーのサイズをバイト数で指定する。
ulHashAlgIdDWORDin公開キーの計算に用いたハッシュアルゴリズム ID を指定する。
szNameLPWSTRinアセンブリの名前を指定する文字列である。
pMetaDataASSEMBLYMETADATA*inバージョンやロケールなどを示す ASSEMBLYMETADATA へのポインタである。
dwAssemblyFlagsDWORDinアセンブリの属性を示すフラグを指定する。
vtbl 9 HRESULT SetAssemblyRefProps(DWORD ar, void* pbPublicKeyOrToken, DWORD cbPublicKeyOrToken, LPWSTR szName, ASSEMBLYMETADATA* pMetaData, void* pbHashValue, DWORD cbHashValue, DWORD dwAssemblyRefFlags)
arDWORDinプロパティを更新する対象のアセンブリ参照 (AssemblyRef) のトークンを指定する。
pbPublicKeyOrTokenvoid*in参照アセンブリの公開キーまたは公開キートークンへのポインタである。
cbPublicKeyOrTokenDWORDin公開キーまたはトークンのサイズをバイト数で指定する。
szNameLPWSTRin参照するアセンブリの名前を指定する文字列である。
pMetaDataASSEMBLYMETADATA*inバージョンやロケールなどを示す ASSEMBLYMETADATA へのポインタである。
pbHashValuevoid*in参照アセンブリのハッシュ値へのポインタである。
cbHashValueDWORDinハッシュ値のサイズをバイト数で指定する。
dwAssemblyRefFlagsDWORDinアセンブリ参照の属性を示すフラグを指定する。
vtbl 10 HRESULT SetFileProps(DWORD file, void* pbHashValue, DWORD cbHashValue, DWORD dwFileFlags)
fileDWORDinプロパティを更新する対象のファイル (File) のトークンを指定する。
pbHashValuevoid*inファイルのハッシュ値へのポインタである。
cbHashValueDWORDinハッシュ値のサイズをバイト数で指定する。
dwFileFlagsDWORDinファイルの属性を示すフラグを指定する。
vtbl 11 HRESULT SetExportedTypeProps(DWORD ct, DWORD tkImplementation, DWORD tkTypeDef, DWORD dwExportedTypeFlags)
ctDWORDinプロパティを更新する対象のエクスポート型 (ExportedType) のトークンを指定する。
tkImplementationDWORDin型を実装するファイルまたはアセンブリ参照のトークンを指定する。
tkTypeDefDWORDin対応する元の型 (TypeDef) のトークンを指定する。
dwExportedTypeFlagsDWORDinエクスポート型の属性を示すフラグを指定する。
vtbl 12 HRESULT SetManifestResourceProps(DWORD mr, DWORD tkImplementation, DWORD dwOffset, DWORD dwResourceFlags)
mrDWORDinプロパティを更新する対象のマニフェストリソース (ManifestResource) のトークンを指定する。
tkImplementationDWORDinリソースを含むファイルまたはアセンブリ参照のトークンを指定する。
dwOffsetDWORDinリソースのファイル内オフセットを指定する。
dwResourceFlagsDWORDinリソースの可視性などの属性を示すフラグを指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IMetaDataAssemblyEmit "{211EF15B-5317-4438-B196-DEC87B887693}"
#usecom global IMetaDataAssemblyEmit IID_IMetaDataAssemblyEmit "{}"
#comfunc global IMetaDataAssemblyEmit_DefineAssembly            3 sptr,int,int,wstr,var,int,var
#comfunc global IMetaDataAssemblyEmit_DefineAssemblyRef         4 sptr,int,wstr,var,sptr,int,int,var
#comfunc global IMetaDataAssemblyEmit_DefineFile                5 wstr,sptr,int,int,var
#comfunc global IMetaDataAssemblyEmit_DefineExportedType        6 wstr,int,int,int,var
#comfunc global IMetaDataAssemblyEmit_DefineManifestResource    7 wstr,int,int,int,var
#comfunc global IMetaDataAssemblyEmit_SetAssemblyProps          8 int,sptr,int,int,wstr,var,int
#comfunc global IMetaDataAssemblyEmit_SetAssemblyRefProps       9 int,sptr,int,wstr,var,sptr,int,int
#comfunc global IMetaDataAssemblyEmit_SetFileProps              10 int,sptr,int,int
#comfunc global IMetaDataAssemblyEmit_SetExportedTypeProps      11 int,int,int,int
#comfunc global IMetaDataAssemblyEmit_SetManifestResourceProps  12 int,int,int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。