类表Class Table

类表包含 COM 服务器相关信息,这些信息必须作为产品播发的一部分生成。The Class table contains COM server-related information that must be generated as a part of the product advertisement. 每行都可能生成一组注册表项和值。Each row may generate a set of registry keys and values. 此表中包含关联的 ProgId 信息。The associated ProgId information is included in this table.

类表包含以下列。The Class table has the following columns.

Column 类型Type Key NullableNullable
CLSIDCLSID GUIDGUID YY NN
上下文Context 标识符Identifier YY NN
组件_Component_ 标识符Identifier YY NN
ProgId _ 默认值ProgId_Default 文本Text NN YY
描述Description 文本Text NN YY
AppId_AppId_ GUIDGUID NN YY
FileTypeMaskFileTypeMask 文本Text NN YY
图标_Icon_ 标识符Identifier NN YY
IconIndexIconIndex 整数Integer NN YY
DefInprocHandlerDefInprocHandler FilenameFilename NN YY
参数Argument Formatted NN YY
功能_Feature_ 标识符Identifier NN NN
属性Attributes 整数Integer NN YY

列信息Column Information

CLSIDCLSID

COM 服务器的类标识符 (ID) 。The Class identifier (ID) of a COM server.

快捷Context

此服务器的服务器上下文。The server context for this server. 为 "CLSID 密钥" 输入以下值之一。Enter one of the following values for the CLSID Key.

CLSID 密钥CLSID KEY 描述Description
LocalServerLocalServer 指定16位本地服务器应用程序的完整路径。Specifies the full path to a 16-bit local server application.
LocalServer32LocalServer32 指定32位本地服务器应用程序的完整路径。Specifies the full path to a 32-bit local server application.
InprocServerInprocServer 指定进程内服务器 DLL 的路径。Specifies the path to an in-process server DLL.
InprocServer32InprocServer32 指定32位进程内服务器和线程模型的路径。Specifies the path to a 32-bit in-process server and the threading model.

组件_Component_

用于指定其密钥文件提供 COM 服务器的组件的组件 中的外部键。External key into the Component table specifying the component whose key file provides the COM server.

ProgId _ 默认值ProgId_Default

与此类 ID 关联的默认程序 ID。The default Program ID associated with this Class ID. 此列是 ProgID 表中的外键。This column is a foreign key into the ProgID table.

2008Description

与类 ID 和程序 ID 关联的本地化说明。Localized description associated with the Class ID and Program ID.

AppId_AppId_

包含关联应用程序的 DCOM 信息的应用程序 ID (字符串 GUID) 。Application ID containing DCOM information for the associated application (string GUID). 此列是 AppId 表中的外键。This column is a foreign key into the AppId table.

FileTypeMaskFileTypeMask

包含 HKCR (此 CLSID) 密钥的信息。Contains information for the HKCR (this CLSID) key.

如果存在多个模式,则必须用分号分隔它们,并且生成数值子项:0,1,2 .。。有关此功能的详细信息,请参阅 GetClassFileIf multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys are generated: 0, 1, 2... For more information about this functionality, see GetClassFile.

按钮_Icon_

提供与此 CLSID 关联的图标的文件。The file providing the icon associated with this CLSID. 安装程序将此列中的条目写入与 ProgId 关联的 DefaultIcon 键下。The installer writes the entry in this column under the DefaultIcon key associated with the ProgId. 如果不为 null,则列是 图标表中的外键。If it is not null, the column is a foreign key into the Icon table. 如果为 null,则 COM 服务器将提供图标资源。If it is null, the COM server provides the icon resource. 播发文件关联和快捷方式需要此列中的非 null 值才能正确显示。Advertised file associations and shortcuts require a non-null value in this column to display properly.

IconIndexIconIndex

图标文件中的图标索引。Icon index into the icon file. 此项可为 null。This can be null.

仅非负数。Non-negative numbers only.

DefInprocHandlerDefInprocHandler

此字段为上下文字段中指定的服务器上下文指定默认的进程内处理程序。This field specifies the default in-process handler for the server context specified in the Context field.

如果上下文字段中出现 InprocServer 或 InprocServer CLSID 键,则此字段必须为 Null。This field must be Null if an InprocServer or InprocServer CLSID key appears in the Context field.

如果 "LocalServer" 或 "LocalServer32" CLSID 键出现在上下文字段中,则 "DefInprocHandler" 字段中的值标识默认的进程内处理程序。If a LocalServer or LocalServer32 CLSID key appears in the Context field, the value in the DefInprocHandler field identifies the default in-process handler.

Value 描述Description
非数值non-numeric value 安装程序将 DefInprocHandler 字段中的非数值作为系统文件对待,作为由 InprocHandler32 键指定的32位进程内处理程序。The installer treats a non-numeric value in the DefInprocHandler field as a system file serving as the 32-bit in-process handler specified by the InprocHandler32 key.
NullNull 对于 LocalServer 或 LocalServer32 CLSID 键,DefInprocHandler 和参数字段可以为 Null。The DefInprocHandler and Argument fields can both be Null for a LocalServer or LocalServer32 CLSID key.
1 = 默认 (系统) 1 = default (system) 默认值为 InprocHandler 指定的16位进程内处理程序。The default is the 16-bit in-process handler specified by InprocHandler. 在这种情况下,InprocHandler 的值是注册表中默认进程内处理程序的值所存储的名称。In this case, the value of InprocHandler is the name in the registry under which the value of the default in-process handler is stored. 例如,HKEY _ 本地 _ 计算机 \ SOFTWARE \ 类 \ CLSID。For example, HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID.
2 = 默认 (系统) 2 = default (system) 默认值为 InprocHandler32 指定的32位进程内处理程序。The default is the 32-bit in-process handler specified by InprocHandler32. 在这种情况下,InprocHandler32 的值是注册表中默认进程内处理程序的值所存储的名称。In this case, the value of InprocHandler32 is the name in the registry under which the value of the default in-process handler is stored. 例如,HKEY _ 本地 _ 计算机 \ SOFTWARE \ 类 \ CLSID。For example, HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID.
3 = 默认 (系统) 3 = default (system) 默认值为16位或32位进程内处理程序。The default is a 16-bit or 32-bit in-process handler.

实际Argument

如果上下文字段中出现 LocalServer 或 LocalServer32 CLSID 键,则此字段中的文本将注册为服务器的参数,COM 将使用它来调用服务器。If a LocalServer or LocalServer32 CLSID key appears in the Context field, the text in this field is registered as the argument against the server and is used by COM to invoke the server. 如果 LocalServer 或 LocalServer32 显示在上下文字段中,则 DefInprocHandler 和 Argument 字段均可为 Null。The DefInprocHandler and Argument fields can both be Null if LocalServer or LocalServer32 appears in the Context field.

请注意,参数字段中的属性的分辨率是有限的。Note that the resolution of properties in the Argument field is limited. 只有在安装了 [ ] 所属类的组件时,才可以在此字段中设置为属性格式的属性。A property formatted as [Property] in this field can only be resolved if the property already has the intended value when the component owning the class is installed. 例如,若要使参数 " [ #MyDoc.doc] " 解析为正确的值,则必须将该文件安装 MyDoc.doc 和拥有该类的组件。For example, for the argument "[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and the component that owns the class.

具有_Feature_

用于指定提供 COM 服务器的功能的 功能表 中的外部键。External key into the Feature table specifying the feature that provides the COM server.

功能表中的第一列的外部键。External key to column one of the Feature table.

属性Attributes

如果在此列中设置了 msidbClassAttributesRelativePath ,则可对 COM 服务器使用 bare 文件名。If msidbClassAttributesRelativePath is set in this column, the bare file name can be used for COM servers. 安装程序仅注册文件名称,而不是完整路径。The installer registers the file name only instead of the complete path. 这样,当前目录中的服务器就可以优先使用同一组件的多个副本。This enables the server in the current directory to take precedence and allows multiple copies of the same component.

属性Attribute 小数Decimal 十六进制Hexadecimal
msidbClassAttributesRelativePathmsidbClassAttributesRelativePath 11 0x0010x001

备注Remarks

执行 RegisterClassInfo 操作UnregisterClassInfo 操作 时,将引用此表。This table is referred to when the RegisterClassInfo action or the UnregisterClassInfo action are executed.

验证Validation

ICE03ICE03
ICE06ICE06
ICE19ICE19
ICE32ICE32
ICE36ICE36
ICE41ICE41
ICE42ICE42
ICE46ICE46
ICE66ICE66
ICE69ICE69