COM 注册表项

注册表包含 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的应用程序的调用级别安全功能。 只有管理员才能完全访问注册表的这一部分。 所有其他用户都具有只读访问权限。

注册 COM 应用程序