ICreateTypeInfo::AddFuncDesc メソッド (oaidl.h)
型の説明に関数の説明を追加します。
構文
HRESULT AddFuncDesc(
[in] UINT index,
[in] FUNCDESC *pFuncDesc
);
パラメーター
[in] index
型情報の新しい FUNCDESC のインデックス。
[in] pFuncDesc
関数を記述する FUNCDESC 構造体。 FUNCDESC の bstrIDLInfo フィールドは null にする必要があります。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
1 つ以上の引数が無効です。 |
|
操作を完了するにはメモリが不足しています。 |
|
宛先に書き込めません。 |
|
操作を完了するにはメモリが不足しています。 |
|
型が一致しません。 |
注釈
インデックスは、型情報内の関数の順序を指定します。 最初の関数のインデックスは 0 です。 型情報の関数数より 1 つ小さいインデックスを指定すると、エラーが返されます。 この関数を呼び出しても、FUNCDESC 構造体の所有権 は ICreateTypeInfo に渡されません。 そのため、呼び出し元は引き続き FUNCDESC 構造体を割り当て解除する必要があります。
TYPEKIND がTKIND_MODULEの場合、または oVft が -1 または 0 の場合、FUNCDESC の渡された仮想関数テーブル (VTBL) フィールド (oVft) は無視されます。 この属性は、 ICreateTypeInfo::LayOut が呼び出されたときに設定されます。 OVft 値は、TYPEKIND がTKIND_DISPATCHでデュアル・インターフェースである場合、または TYPEKIND がTKIND_INTERFACE場合に使用されます。 oVft を使用する場合は、マシン上の sizeof(VOID *) の倍数である必要があります。それ以外の場合、関数は失敗し、E_INVALIDARGは HRESULT として返されます。
関数 AddFuncDesc は、TYPEKIND = TKIND_DISPATCHまたはTKIND_INTERFACEを持つクラスに対して、各 FUNCDESC 内の渡されたメンバー識別子 (memid) フィールドを使用します。 メンバー ID が MEMBERID_NIL に設定されている場合、 AddFuncDesc はメンバー ID を関数に割り当てます。 それ以外の場合、各 FUNCDESC 内のメンバー ID フィールドは無視されます。
FUNCDESC 構造体の HREFTYPE フィールドは、AddFuncDesc が呼び出される ITypeInfo の同じインスタンスによって生成されている必要があります。
同じプロパティの get および put アクセサー関数には、同じディスパッチ識別子 (DISPID) が必要です。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | oaidl.h |