Поделиться через


Таблица классов

Таблица Class содержит сведения, связанные с COM-сервером, которые должны быть созданы в рамках объявления продукта. Каждая строка может создавать набор разделов и значений реестра. Связанные сведения о ProgId включаются в эту таблицу.

Таблица Class содержит следующие столбцы.

Столбец Type Ключ Допускает значения NULL
CLSID GUID Да N
Контекст Идентификатор Да N
Компонент_ Идентификатор Да N
ProgId_Default Text N Да
Описание Text N Да
Appid_ GUID N Да
FileTypeMask Text N Да
Значок_ Идентификатор N Да
IconIndex Целое число N Да
DefInprocHandler Имя файла N Да
Аргумент Форматированные Нет Да
Функция_ Идентификатор Нет N
Атрибуты Целое число N Да

 

Сведения о столбце

CLSID

Идентификатор класса com-сервера.

Контексте

Контекст сервера для этого сервера. Введите одно из следующих значений для ключа CLSID.

КЛЮЧ CLSID Описание
LocalServer Указывает полный путь к 16-разрядному приложению локального сервера.
LocalServer32 Указывает полный путь к 32-разрядному приложению локального сервера.
InprocServer Указывает путь к внутрипроцессной серверной библиотеке DLL.
InprocServer32 Указывает путь к 32-разрядному внутрипроцессного сервера и модели потоков.

 

Компонент_

Внешний ключ в таблице Компонент , указывающий компонент, файл ключа которого предоставляет COM-сервер.

ProgId_Default

Идентификатор программы по умолчанию, связанный с этим идентификатором класса. Этот столбец является внешним ключом в таблице ProgID.

Описание

Локализованное описание, связанное с идентификатором класса и идентификатором программы.

Appid_

Идентификатор приложения, содержащий сведения DCOM для связанного приложения (строковый GUID). Этот столбец является внешним ключом в таблице AppId.

FileTypeMask

Содержит сведения для ключа HKCR (clSID).

Если существует несколько шаблонов, они должны быть разделены точкой с запятой, и создаются числовые подразделы: 0, 1, 2... Дополнительные сведения об этой функции см. в разделе GetClassFile.

Значок_

Файл, предоставляющий значок, связанный с данным идентификатором CLSID. Установщик записывает запись в этом столбце в ключ DefaultIcon, связанный с ProgId. Если значение не равно NULL, столбец является внешним ключом в таблице Значок. Если значение равно NULL, COM-сервер предоставляет ресурс значка. Для правильного отображения объявленных сопоставлений и ярлыков файлов в этом столбце требуется значение, отличное от NULL.

IconIndex

Индекс значка в файле значка. Может принимать значение NULL.

Только не отрицательные числа.

DefInprocHandler

Это поле задает внутрипроцессный обработчик по умолчанию для контекста сервера, указанного в поле Контекст.

Это поле должно иметь значение NULL, если в поле Контекст отображается ключ CLSID InprocServer или InprocServer.

Если в поле Контекст отображается ключ CLSID LocalServer или LocalServer32, значение в поле DefInprocHandler определяет внутрипроцессный обработчик по умолчанию.

Значение Описание
нечисловое значение Установщик обрабатывает нечисловое значение в поле DefInprocHandler как системный файл, служащий 32-разрядным внутрипроцессным обработчиком, заданным ключом InprocHandler32.
Null Поля DefInprocHandler и Argument могут иметь значение NULL для ключа CLSID LocalServer или LocalServer32.
1 = по умолчанию (система) По умолчанию используется 16-разрядный внутрипроцессный обработчик, заданный InprocHandler. В этом случае значение InprocHandler — это имя в реестре, под которым хранится значение внутрипроцессного обработчика по умолчанию. Например, HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID.
2 = по умолчанию (система) По умолчанию используется 32-разрядный внутрипроцессный обработчик, заданный inprocHandler32. В этом случае значение InprocHandler32 — это имя в реестре, под которым хранится значение внутрипроцессного обработчика по умолчанию. Например, HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID.
3 = по умолчанию (система) По умолчанию используется 16-разрядный или 32-разрядный внутрипроцессный обработчик.

 

Аргумент

Если ключ CLSID LocalServer или LocalServer32 отображается в поле Контекст, текст в этом поле регистрируется как аргумент против сервера и используется COM для вызова сервера. Поля DefInprocHandler и Argument могут иметь значение NULL, если в поле Контекст отображается LocalServer или LocalServer32.

Обратите внимание, что разрешение свойств в поле Argument ограничено. Свойство, отформатированное как [Property] в этом поле, может быть разрешено только в том случае, если свойство уже имеет предполагаемое значение при установке компонента, владеющего классом. Например, для разрешения аргумента "[#MyDoc.doc]" в правильное значение необходимо установить файл MyDoc.doc и компонент, которому принадлежит класс .

Функция_

Внешний ключ в таблице компонентов , указывающий компонент, предоставляющий COM-сервер.

Внешний ключ к столбцу один из таблиц признаков.

Атрибуты

Если в этом столбце задан msidbClassAttributesRelativePath , для COM-серверов можно использовать имя файла без операционной системы. Установщик регистрирует имя файла только вместо полного пути. Это позволяет серверу в текущем каталоге иметь приоритет и разрешить несколько копий одного и того же компонента.

attribute Decimal Шестнадцатеричный
msidbClassAttributesRelativePath 1 0x001

 

Комментарии

Эта таблица упоминается при выполнении действия RegisterClassInfo или UnregisterClassInfo .

Проверка

ICE03
ICE06
ICE19
ICE32
ICE36
ICE41
ICE42
ICE46
ICE66
ICE69