一个用户指南是一本书,一些书的集合就叫做库了.在OLE中,许多元素(对象,接口等等)类型信息的集合就叫做类型库.OLE的类型信息服务真正的是一个创建和操作它包含的类型库信息的服务.库本身只有少量自己的信息,它主要关心存储和取出在它内部的元素的类型信息.所以,在极大程度上,类型库充当图书管理员的角色,意味着你,可以像一个图书馆的客户或用户那样,可以要求它查找你感兴趣的元素的类型信息.
类型库仅仅是描述每个元素的数据结构的集合.而且那些数据结构包含额外的嵌套数据结构描述它的内容.在这种情况下,库本身不是一个"对象",因为它本身不具有固有的行为.OLE提供包装对象,它的类型库有适当的接口,使你与底层的数据打交道,而确不需要了解这些具体的数据结构本身.因为接口是语言无关的,所以OLE提供的服务在这里对任何客户都有用,而且可以被用于描述任何对象,而不用管具体的实现.就像我上面提到的,类型信息是语言无关的,而且构造了方法去合并头文件,帮助文件和输入库等内容.
在这一部分,我们要先简要地看一看能够加入到类型库中元素的类型,和它们可能存在的属性.接下来的部分,我们要看一看怎样创建一个类型库.对我们中大多数来说,这会包含在一个ODL(对象描述语言)中写一些脚本,通过一个编译器叫做MKTYPELIB.EXE运行这些脚本.但是这仅仅是一个方便的工具,OLE实际上提供更基础的创建服务,我们会先着眼于它.在我们知道怎样创建一个类型库后,就是总是创建一个磁盘文件包含二进制的数据结构后,我们再了解一下怎样注册它的位置和怎样加载它.一旦它被加载,我们会进一步了解,怎样取出库中的信息.