ICreateTypeInfo::AddFuncDesc 方法 (oaidl.h)
將函式描述新增至類型描述。
語法
HRESULT AddFuncDesc(
[in] UINT index,
[in] FUNCDESC *pFuncDesc
);
參數
[in] index
類型資訊中新 FUNCDESC 的索引。
[in] pFuncDesc
描述函式的 FUNCDESC 結構。 FUNCDESC 中的 bstrIDLInfo 欄位應該是 null。
傳回值
這個方法可以傳回下列其中一個值。
傳回碼 | Description |
---|---|
|
成功。 |
|
一或多個自變數無效。 |
|
記憶體不足,無法完成作業。 |
|
無法寫入目的地。 |
|
記憶體不足,無法完成作業。 |
|
型別不符。 |
備註
索引會指定類型資訊內函式的順序。 第一個函式的索引為零。 如果指定的索引超過類型資訊中的函式數目,則會傳回錯誤。 呼叫此函式並不會將 FUNCDESC 結構的擁有權傳遞給 ICreateTypeInfo。 因此,呼叫端仍然必須取消配置 FUNCDESC 結構。
如果 TYPEKIND 是TKIND_MODULE或 oVft 為 -1 或 0,則會忽略傳遞的虛擬函式數據表 (VTBL) 欄位 (oVft) 。 呼叫 ICreateTypeInfo::LayOut 時,會設定此屬性。 如果 TYPEKIND 是TKIND_DISPATCH和雙重介面,或是 TYPEKIND 是TKIND_INTERFACE,則會使用 oVft 值。 如果使用 oVft,它必須是計算機上的 sizeof (VOID *) 倍數,否則函式會失敗並傳回E_INVALIDARG作為 HRESULT。
AddFuncDesc 函式會針對 TYPEKIND = TKIND_DISPATCH 或 TKIND_INTERFACE 類別使用傳入的成員標識子 (memid) 欄位。 如果成員標識碼設定為 MEMBERID_NIL,AddFuncDesc 會將成員標識碼指派給函式。 否則,會忽略每個 FUNCDESC 內的成員標識符欄位。
FUNCDESC 結構中的任何 HREFTYPE 欄位都必須由呼叫 AddFuncDesc 的相同 ITypeInfo 實例產生。
相同屬性的 get 和 put 存取子函式必須有相同的分派標識碼 (DISPID) 。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | oaidl.h |