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


Директива INF AddComServer

Директива AddComServer используется в разделе DDInstall.COM и регистрирует COM-сервер. Один или несколько COM-серверов должны быть определены в разделе DDInstall.COM. Этот раздел поддерживается для Windows 11 версии 24H2 и более поздних версий.

[DDInstall.COM]

AddComServer = com-server-name, [flags], com-server-install-section

Операции

com-server-name

Указывает имя установленного COM-сервера. Как правило, это имя или описание зарегистрированного компонента COM. Имя COM-сервера должно быть уникальным в INF и используется в качестве описания, когда отсутствует описание класса COM.

flags

Задает дополнительные флаги для директивы AddComServer. Поле флагов зарезервировано для дальнейшего использования и должно оставаться пустым или иметь значение нулю.

com-server-install-section

Ссылается на раздел INF-writer, содержащий сведения о регистрации COM-сервера и его классов.

Дополнительные сведения об установке COM-сервера см. в следующих примечаниях, а также о com-серверах в целом см. в разделе COM-клиентов и серверов.

Замечания

Директива AddComServer приводит к регистрации COM-сервера, реализованного двоичным файлом сервера в хранилище драйверов драйвера драйвера.

CoRegisterDeviceCatalog необходимо вызывать в каждом процессе перед вызовом CoCreateInstance в классе COM. Вызов CoRegisterDeviceCatalog делает регистрацию COM-сервера доступными в процессе использования среды выполнения COM.

Каждая директива AddComServer в разделе INF DDInstall.COM может ссылаться на inf-writer-defined com-server-install-section в другом месте INF-файла. Каждое имя раздела INF-записи должно быть уникальным в INF-файле и должно соответствовать общим правилам определения имен разделов. Дополнительные сведения об этих правилах см. в разделе Общие правила синтаксиса для INF-файлов.

Директива AddComServer должна ссылаться на раздел с именем com-server-install-section в другом месте INF. Каждый такой раздел имеет следующую форму:

[com-server-install-section]

ServerType            = server-type
ServerBinary          = binary-path
[ServerBinaryWow64    = wow64-binary-path]
AddComClass           = {clsid-guid}[, flags[, com-class-install-section]]

Каждый раздел com-server-install-section должен предоставлять ServerType, ServerBinary и один или несколько AddComClass, каждый из которых содержит отдельную строку.

записи и значения com-server-install-section

ServerType

Указывает тип зарегистрированного COM-сервера. Каждый тип com-сервера имеет определенный набор обязательных и необязательных записей и директив. Поддерживается только 0x1 (in-proc).

перечисление типа сервера Тип сервера Обязательные директивы Необязательные директивы
0x1 Внутрипроцессно
  • ServerBinary
  • AddComClass
  • ServerBinaryWow64
  • ThreadingModel

ServerBinary

Путь к двоичному файлу COM-сервера для собственной архитектуры.

ServerBinaryWow64

Путь к двоичному файлу COM-сервера WOW64 для поддержки архитектуры x86 на платформе AMD64.

AddComClass = {clsid-guid}[, flags[, com-class-install-section]]

Эту требуемую директиву можно использовать один или несколько раз для регистрации классов COM с дополнительными разделами установки.

Дополнительные сведения о регистрации классов COM см. в директиве INF AddComClass.

Пример

[ContosoEncoderServer.NT.COM]
AddComServer   = ContosoEncoderServer,, ContosoEncoder_ComServer_Inst

[ContosoEncoder_ComServer_Inst]
ServerType     = 1 ; in-proc
ServerBinary   = %13%\contoso_encoder.dll
AddComClass    = {bb2b85ab-9473-42e5-8d1a-0f01d3879879}
AddComClass    = {f1baf99b-d28a-4ea3-b652-355da082d260}, 0, ContosoEncoderControl_ComClass_Inst

[ContosoEncoderControl_ComClass_Inst]
Description    = %ContosoEncoder_Comclass_Desc%
ThreadingModel = Apartment

[Strings]
%ContosoEncoder_Comclass_Desc%="Contoso H.264 Encoder"

См. также