COM 注册表项

注册表包含 COM 使用的大量信息。 最重要的信息存储在以下项中。

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

注册 COM 应用程序