Partager via


À propos des services linguistiques étendus

Les services linguistiques étendus (ELS) sont implémentés en tant que bibliothèque de liens dynamiques (DLL) qui fournit diverses fonctionnalités de prise en charge linguistique pour le texte spécifié par l’application. La technologie inclut la plateforme ELS et les plug-ins pour plusieurs types de services linguistiques prédéfinis accessibles à l’application via la plateforme.

Notes

Le module ELS est installé automatiquement avec Windows 7 et versions ultérieures.

 

Plateforme ELS

La plateforme ELS est l’interface entre votre application et les services ELS. Il fournit un moyen simple d’implémenter plusieurs types de fonctionnalités linguistiques via la même API, ce qui permet à l’application d’accéder et d’utiliser des services spécifiques. Pour plus d’informations sur l’API, consultez Informations de référence sur les services linguistiques étendus.

Notes

Lorsque l’application appelle l’une des fonctions de l’API ELS, la plateforme alloue de la mémoire et des ressources en fonction des besoins pour la communication avec les services. L’application est chargée d’appeler à nouveau la plateforme pour libérer ces ressources.

 

La plateforme s’exécute à l’intérieur de l’espace de mémoire virtuelle de l’application, et toute la mémoire allouée fait partie de cet espace. Par conséquent, votre application doit uniquement être liée à la DLL du composant ELS (Elscore.dll) en l’associant à Elscore.lib ou en chargeant dynamiquement Elscore.dll.

ELS Services

Pour Windows 7 et versions ultérieures, la plateforme ELS prend uniquement en charge les services prédéfinis suivants.

Notes

Les versions futures d’ELS prendront en charge des services supplémentaires fournis par Microsoft ou des fournisseurs de services.

 

Chaque service est associé à une catégorie de service décrivant ce que fait le service. La catégorie est représentée par une chaîne non localisable. Il est utilisé par les applications pour énumérer les services disponibles. Les catégories de service actuelles sont les suivantes :

  • « Détection de langue »
  • « Détection de script »
  • « Translittération »

La plateforme utilise des métadonnées de service pour énumérer les services demandés par l’application. Les propriétés telles que l’identificateur global unique (GUID) du service, les langages et scripts d’entrée et de sortie pris en charge et la catégorie de service peuvent être utilisées par l’application pour énumérer les services ELS souhaités.

Chaque service ELS est implémenté en tant que plug-in pris en charge par une DLL qui peut être installée sur le système d’exploitation afin que la plateforme ELS puisse le détecter et l’utiliser. Les services peuvent exposer leurs propres sous-services, si nécessaire.

Opérations ELS principales

Cette section décrit les opérations main prises en charge par la plateforme ELS. La plateforme prend en charge les modes d’appel synchrone et asynchrone. Le mode d’appel asynchrone utilise un pool de threads d’application pour planifier des threads pour le traitement des demandes.

Notes

Étant donné que la plateforme prend en charge un mode asynchrone, les services ELS n’ont pas besoin d’implémenter ce type de fonctionnalité seuls.

 

Énumération de service

La plateforme ELS charge et gère tous les services ELS, ce qui rend l’opération transparente pour l’application. L’application énumère les services disponibles en appelant MappingGetServices. Pour obtenir des instructions de programmation, consultez Énumération et libération des services.

Notes

Pour des raisons de performances, il est recommandé que votre application n’énumère les services disponibles qu’une seule fois. La plateforme ELS vérifie à nouveau les services lors de l’énumération suivante pour s’assurer que ses résultats d’énumération sont toujours à jour.

 

Reconnaissance de texte

Après l’énumération du service, l’application appelle la fonction MappingRecognizeText pour utiliser un service ELS particulier pour mapper n’importe quelle plage de texte de texte d’entrée au texte de sortie. Un exemple de reconnaissance de texte est l’utilisation d’un service de détection de langue qui reçoit un segment de texte et détecte sa langue la plus probable.

Une fois que le service a reconnu le texte, MappingRecognizeText retourne avec une structure MAPPING_PROPERTY_BAG remplie de données de sortie et de propriétés produites par le service. Pour éviter les fuites de mémoire, l’application doit libérer le conteneur de propriétés en appelant MappingFreePropertyBag pour chaque fois que MappingRecognizeText retourne S_OK. En règle générale, l’application effectue cette opération soit lorsqu’elle a fini d’utiliser les données de sortie, soit lorsque les données de sortie ne sont plus pertinentes, car la région d’entrée du texte a été modifiée, par exemple, modifiée ou supprimée. Lorsque le conteneur de propriétés est libéré, MappingFreePropertyBag retourne.

Les instructions de programmation pour la reconnaissance de texte sont fournies dans Demande de reconnaissance de texte.

Arrêt du service

Lorsque votre application n’a plus besoin de services ELS, elle appelle MappingFreeServices avant de se terminer. Pour plus d’informations, consultez Énumération et libération des services.

Contrôle de version

Les versions futures d’ELS permettront de mettre à jour les services ELS. L’application pourra case activée les numéros de version de la structure MAPPING_SERVICE_INFO pour détecter les modifications apportées aux services.

Notes

Votre application ELS ne doit pas supposer que différentes versions du même service peuvent récupérer exactement les mêmes résultats.