ICreateTypeInfo2
COM公式ドキュメント
タイプ記述を通じて定義された型情報を作成および管理するためのツールを提供します。(ICreateTypeInfo2)
メソッド 15
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
インデックス番号で指定された関数記述を削除します。
| index | DWORD | in | 記述を削除する関数のインデックス。インデックスは 0 からこの型の関数数より 1 少ない値までの範囲でなければなりません。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 |
指定された関数記述(FUNCDESC)を削除します。
| memid | INT | in | 削除する FUNCDESC のメンバー識別子。 |
| invKind | INVOKEKIND | in | 呼び出しの種類。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 |
指定された VARDESC 構造体を削除します。(ICreateTypeInfo2.DeleteVarDesc)
| index | DWORD | in | VARDESC 構造体のインデックス番号。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 | |
| ファイルから読み取ることができません。 | |
| ファイルから読み取ることができません。 | |
| タイプ ライブラリの形式が古いです。 | |
| タイプ ライブラリを開くことができません。 |
指定された VARDESC 構造体を削除します。(ICreateTypeInfo2.DeleteVarDescByMemId)
| memid | INT | in | 削除する VARDESC のメンバー識別子。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 | |
| ファイルから読み取ることができません。 | |
| ファイルから読み取ることができません。 | |
| タイプ ライブラリの形式が古いです。 | |
| タイプ ライブラリを開くことができません。 |
インデックスで指定されたインターフェイスの IMPLTYPE フラグを削除します。
| index | DWORD | in | 型フラグを削除するインターフェイスのインデックス。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 |
カスタム データの値を設定します。
| guid | GUID* | in | データを識別するために使用できる一意の識別子。 |
| pVarVal | VARIANT* | in | 格納するデータ(オブジェクトを除く任意の variant)。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 |
指定された関数のカスタム データの値を設定します。
| index | DWORD | in | カスタム データを設定する関数のインデックス。 |
| guid | GUID* | in | データを識別するために使用される一意の識別子。 |
| pVarVal | VARIANT* | in | 格納するデータ(オブジェクトを除く任意の variant)。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 |
指定されたパラメーターのカスタム データの値を設定します。
| indexFunc | DWORD | in | カスタム データを設定する関数のインデックス。 |
| indexParam | DWORD | in | カスタム データを設定する関数のパラメーターのインデックス。 |
| guid | GUID* | in | データを識別するために使用されるグローバル一意識別子(GUID)。 |
| pVarVal | VARIANT* | in | 格納するデータ(オブジェクトを除く任意の variant)。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 |
指定された変数のカスタム データの値を設定します。
| index | DWORD | in | カスタム データを設定する変数のインデックス。 |
| guid | GUID* | in | データを識別するために使用されるグローバル一意 ID(GUID)。 |
| pVarVal | VARIANT* | in | 格納するデータ(オブジェクトを除く任意の variant)。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 |
指定された実装型のカスタム データの値を設定します。
| index | DWORD | in | カスタム データを設定する変数のインデックス。 |
| guid | GUID* | in | データを識別するために使用される一意の識別子。 |
| pVarVal | VARIANT* | in | 格納するデータ(オブジェクトを除く任意の variant)。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 |
指定されたヘルプ文字列のコンテキスト番号を設定します。
| dwHelpStringContext | DWORD | in | ヘルプ文字列のコンテキスト番号。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 |
指定された関数のヘルプ コンテキスト値を設定します。
| index | DWORD | in | ヘルプ文字列コンテキストを設定する関数のインデックス。 |
| dwHelpStringContext | DWORD | in | ローカライズされた文字列のヘルプ文字列コンテキスト。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 |
指定された変数のヘルプ コンテキスト値を設定します。
| index | DWORD | in | 変数のインデックス。 |
| dwHelpStringContext | DWORD | in | ローカライズされた文字列のヘルプ文字列コンテキスト。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 |
typeinfo の名前を設定します。
| szName | LPWSTR | in | 割り当てる名前。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値コード | 説明 |
|---|---|
| 成功しました。 | |
| 1 つ以上の引数が無効です。 | |
| 操作を完了するためのメモリが不足しています。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ICreateTypeInfo2 "{0002040E-0000-0000-C000-000000000046}" #usecom global ICreateTypeInfo2 IID_ICreateTypeInfo2 "{}" #comfunc global ICreateTypeInfo2_DeleteFuncDesc 26 int #comfunc global ICreateTypeInfo2_DeleteFuncDescByMemId 27 int,int #comfunc global ICreateTypeInfo2_DeleteVarDesc 28 int #comfunc global ICreateTypeInfo2_DeleteVarDescByMemId 29 int #comfunc global ICreateTypeInfo2_DeleteImplType 30 int #comfunc global ICreateTypeInfo2_SetCustData 31 var,var #comfunc global ICreateTypeInfo2_SetFuncCustData 32 int,var,var #comfunc global ICreateTypeInfo2_SetParamCustData 33 int,int,var,var #comfunc global ICreateTypeInfo2_SetVarCustData 34 int,var,var #comfunc global ICreateTypeInfo2_SetImplTypeCustData 35 int,var,var #comfunc global ICreateTypeInfo2_SetHelpStringContext 36 int #comfunc global ICreateTypeInfo2_SetFuncHelpStringContext 37 int,int #comfunc global ICreateTypeInfo2_SetVarHelpStringContext 38 int,int #comfunc global ICreateTypeInfo2_Invalidate 39 #comfunc global ICreateTypeInfo2_SetName 40 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_ICreateTypeInfo2 "{0002040E-0000-0000-C000-000000000046}" #usecom global ICreateTypeInfo2 IID_ICreateTypeInfo2 "{}" #comfunc global ICreateTypeInfo2_DeleteFuncDesc 26 int #comfunc global ICreateTypeInfo2_DeleteFuncDescByMemId 27 int,int #comfunc global ICreateTypeInfo2_DeleteVarDesc 28 int #comfunc global ICreateTypeInfo2_DeleteVarDescByMemId 29 int #comfunc global ICreateTypeInfo2_DeleteImplType 30 int #comfunc global ICreateTypeInfo2_SetCustData 31 sptr,sptr #comfunc global ICreateTypeInfo2_SetFuncCustData 32 int,sptr,sptr #comfunc global ICreateTypeInfo2_SetParamCustData 33 int,int,sptr,sptr #comfunc global ICreateTypeInfo2_SetVarCustData 34 int,sptr,sptr #comfunc global ICreateTypeInfo2_SetImplTypeCustData 35 int,sptr,sptr #comfunc global ICreateTypeInfo2_SetHelpStringContext 36 int #comfunc global ICreateTypeInfo2_SetFuncHelpStringContext 37 int,int #comfunc global ICreateTypeInfo2_SetVarHelpStringContext 38 int,int #comfunc global ICreateTypeInfo2_Invalidate 39 #comfunc global ICreateTypeInfo2_SetName 40 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。