注册表包含 COM 使用的大量信息。 最重要的信息存储在以下密钥中。
| 钥匙 | 描述 |
|---|---|
|
AppID |
将一个或多个分布式 COM 对象的配置选项(一组命名值)分组到注册表中的一个位置。 此密钥下的子项用于将应用程序标识符(AppID)映射到远程服务器名称。 为了简化常见安全和配置设置的管理,由同一可执行文件托管的分布式 COM 对象将分组到一个 AppID 中。 |
|
CLSID |
类标识符 (CLSID) 是标识 COM 类对象的全局唯一标识符。 如果服务器或容器允许链接到嵌入的对象,请为每个受支持的对象类注册 CLSID。 CLSID 密钥包含默认 COM 处理程序用于在类处于运行状态时返回有关类的信息。 若要获取应用程序的 CLSID,请使用 uuidgen.exe,在 COM 工具包的 \TOOLs 目录中找到,或使用 CoCreateGuid。 |
|
ProgID |
编程标识符(ProgID)是可与 CLSID 关联的注册表项。 ProgID 密钥将用户友好的字符串映射到 CLSID。 与 CLSID 一样,ProgID 标识类,但精度较低。 在编程情况下使用 ProgID,因为无法使用 CLSID。 ProgID 不应显示在用户界面中。 ProgID 不保证是唯一的,因此它们只能用于名称冲突不发生的地方。 |
|
VersionIndependentProgID |
将 ProgID 与 CLSID 相关联。 它用于确定对象应用程序的最新版本。 与 ProgID 一样,与版本无关的 ProgID 可以用人工可读的名称进行注册。 应用程序必须在 VersionIndependentProgID 密钥下注册与版本无关的编程标识符。 与版本无关的 ProgID 是指应用程序的类,不会从版本更改为版本,而是在所有版本中保持常量。 它与宏语言一起使用,并引用应用程序类的当前安装版本。 与版本无关的 ProgID 必须与最新版本的对象应用程序的名称相对应。 |
|
file_extension |
将文件扩展名与 ProgID 相关联。 文件系统和 文件名字对象使用文件扩展名密钥中包含的信息。 GetClassFile 使用文件扩展名密钥来提供关联的 CLSID。 |
|
接口 |
通过将接口名称与接口标识符(IID)相关联来注册新接口。 它将 IID 映射到特定于接口的信息。 此信息主要用于跨进程边界使用接口。 添加新接口时,COM 必须完成接口密钥才能注册新接口。 每个新接口必须有一个 IID 子项。 |
|
Ole |
控制分布式 COM 对象的默认启动和访问权限,以及不调用 CoInitializeSecurity的应用程序的调用级别安全功能。 只有管理员才能完全访问注册表的这一部分。 所有其他用户都具有只读访问权限。 |