Директива 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
Путь к двоичному файлу 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"