Partager via


INF Directive AddComServer

Une directive AddComServer est utilisée dans une section DDInstall.COM et enregistre un serveur COM. Un ou plusieurs serveurs COM doivent être définis dans une section DDInstall.COM. Cette section est prise en charge pour Windows 11 version 24H2 et ultérieures.

[DDInstall.COM]

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

Entries

com-server-name

Spécifie le nom du serveur COM en cours d'installation. Le nom correspond généralement au nom ou à la description du composant COM à enregistrer. Le nom du serveur COM doit être unique dans l'INF et est utilisé comme description lorsque la description de la classe COM est manquante.

flags

Spécifie des indicateurs supplémentaires pour la directive AddComServer. Le champ flags est réservé pour une utilisation future et doit être laissé vide ou mis à zéro.

com-server-install-section

Fait référence à une section définie par INF-writer qui contient des informations sur l'enregistrement du serveur COM et de ses classes.

Pour plus d'informations sur la section d'installation du serveur COM, voir les remarques suivantes, et pour les serveurs COM en général, voir Clients et serveurs COM.

Notes

La directive AddComServer permet à l'installation du système d'enregistrer un serveur COM implémenté par un binaire de serveur dans le chemin relatif du magasin de pilotes d'un package de pilotes.

CoRegisterDeviceCatalog doit être appelé dans chaque processus avant d'appeler CoCreateInstance sur la classe COM. L'appel de CoRegisterDeviceCatalog rend les enregistrements du serveur COM disponibles dans le processus pour que le runtime COM puisse les utiliser.

Chaque directive AddComServer dans une section INF DDInstall.COM peut faire référence à une section d'installation de serveur COM définie par l'auteur de l'INF ailleurs dans le fichier INF. Chaque nom de section défini par le rédacteur INF doit être unique dans le fichier INF et doit respecter les règles générales de définition des noms de section. Pour plus d'informations sur ces règles, voir Règles générales de syntaxe pour les fichiers INF.

Une directive AddComServer doit faire référence à une section d'installation de serveur com nommée ailleurs dans le fichier INF. Chacune de ces sections a la forme suivante :

[com-server-install-section]

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

Chaque section d'installation de serveur com doit fournir ServerType, ServerBinary et une ou plusieurs AddComClass, chacune sur une ligne séparée.

Entrées et valeurs de la section d'installation du serveur com

ServerType

Indique le type de serveur COM à enregistrer. Chaque type de serveur COM possède un ensemble spécifique d'entrées et de directives obligatoires et facultatives. Seule la valeur 0x1 (In-proc) est prise en charge.

server-type-enum Type de serveur Directives obligatoires Directives facultatives
0x1 Dans processus
  • ServerBinary
  • AddComClass
  • ServerBinaryWow64
  • ThreadingModel

ServerBinary

Chemin d'accès au binaire du serveur COM pour l'architecture native.

ServerBinaryWow64

Chemin d'accès au binaire WOW64 du serveur COM pour la prise en charge de l'architecture x86 non native sur la plate-forme AMD64.

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

Cette directive obligatoire peut être utilisée une ou plusieurs fois pour enregistrer des classes COM avec des sections d'installation facultatives.

Pour plus d'informations sur l'enregistrement des classes COM, voir la directive INF AddComClass.

Exemple

[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"

Voir aussi