ICreateTypeInfo::LayOut 方法 (oaidl.h)

为虚拟函数分配 VTBL 偏移量,为每个实例数据成员分配实例偏移量,并为双接口创建两种类型说明。

语法

HRESULT LayOut();

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK
成功。
E_OUTOFMEMORY
内存不足,无法完成操作。
E_ACCESSDENIED
无法写入目标。
STG_E_INSUFFICIENTMEMORY
内存不足,无法完成操作。
TYPE_E_UNDEFINEDTYPE
绑定到无法识别的类型。
TYPE_E_INVALIDSTATE
类型库的状态对此操作无效。
TYPE_E_WRONGTYPEKIND
类型不匹配。
TYPE_E_ELEMENTNOTFOUND
找不到 元素。
TYPE_E_AMBIGUOUSNAME
存在多个具有此名称的项。
TYPE_E_SIZETOOBIG
类型信息太长。
TYPE_E_TYPEMISMATCH
类型不匹配。

注解

LayOut 还会将成员 ID 号分配给函数和变量,除非类的 TYPEKIND TKIND_DISPATCH。 在定义类型信息的所有成员之后,在保存类型库之前调用 LayOut

调用 LayOut 后,使用 ICreateTypeLib::SaveAllChanges 保存类型信息。 调用 LayOut 后,不应调用 ICreateTypeInfo 接口的其他成员。

注意ICreateTypeLib::SaveAllChanges 或其他创建类型信息的接口的不同实现可以自由分配任何成员 ID 号,前提是 (包括继承成员) 的所有成员都具有唯一 ID。 有关示例,请参阅 ICreateTypeInfo2
 

要求

要求
目标平台 Windows
标头 oaidl.h

另请参阅

ICreateTypeInfo