Dela via


Om utökade språktjänster

Utökade språktjänster (ELS) implementeras som ett DLL-bibliotek (Dynamic Link Library) som tillhandahåller en mängd olika funktioner för språkstöd för text som programmet anger. Tekniken omfattar ELS-plattformen och plugin-program för flera fördefinierade språktjänsttyper som är tillgängliga för programmet via plattformen.

Notera

ELS-modulen installeras automatiskt med Windows 7 och senare.

 

ELS-plattform

ELS-plattformen är gränssnittet mellan ditt program och ELS-tjänsterna. Det är ett enkelt sätt att implementera flera typer av språkfunktioner via samma API, vilket gör att programmet kan komma åt och använda specifika tjänster. Mer information om API:et finns i utökad referens för språktjänster.

Obs

När programmet anropar någon av ELS API-funktionerna allokerar plattformen minne och resurser efter behov för kommunikation med tjänsterna. Programmet ansvarar för att anropa plattformen igen för att frigöra dessa resurser.

 

Plattformen körs i programmets virtuella minnesutrymme och allt allokerat minne är en del av det här utrymmet. Därför behöver ditt program bara länka till ELS-komponentens DLL (Elscore.dll) genom att länka till Elscore.lib eller genom att dynamiskt läsa in Elscore.dll.

ELS-tjänster

För Windows 7 och senare stöder ELS-plattformen endast följande fördefinierade tjänster.

Anteckning

Framtida versioner av ELS kommer att stödja ytterligare tjänster som tillhandahålls av Microsoft eller tjänsteleverantörer.

 

Varje tjänst är associerad med en tjänstkategori som beskriver vad tjänsten gör. Kategorin representeras av en icke-lokaliserad sträng. Den används av program för att räkna upp tillgängliga tjänster. De aktuella tjänstkategorierna är:

  • Språkidentifiering
  • "Skriptidentifiering"
  • "Transkribering"

Plattformen använder tjänstmetadata för att räkna upp de tjänster som begärs av programmet. Egenskaper som tjänstens globalt unika identifierare (GUID), indata- och utdataspråk och skript som stöds, och tjänstkategorin kan användas av programmet för att räkna upp önskade ELS-tjänster.

Varje ELS-tjänst implementeras som ett plugin-program som stöds av en DLL som kan installeras på operativsystemet så att ELS-plattformen kan identifiera och använda den. Tjänster kan exponera sina egna undertjänster om det behövs.

Els-huvudåtgärder

I det här avsnittet beskrivs de huvudsakliga åtgärder som stöds av ELS-plattformen. Plattformen stöder både synkrona och asynkrona samtalslägen. Det asynkrona samtalsläget använder en programtrådspool för att schemalägga trådar för bearbetning av begäranden.

Anteckning

Eftersom plattformen stöder ett asynkront läge behöver ELS-tjänster inte implementera den här typen av funktioner på egen hand.

 

Tjänstuppräkning

ELS-plattformen läser in och hanterar alla ELS-tjänster, vilket gör åtgärden transparent för programmet. Programmet räknar upp tillgängliga tjänster genom att anropa MappingGetServices. Programmeringsinstruktioner finns i Uppräknings- och frigöringstjänster.

Anteckning

Det är lämpligt av prestandaskäl att ditt program bara räknar upp tillgängliga tjänster en gång. ELS-plattformen kontrollerar tjänsterna igen vid nästa uppräkning för att säkerställa att dess uppräkningsresultat alltid är aktuella.

 

Textigenkänning

Efter tjänstuppräkning anropar programmet funktionen MappingRecognizeText för att använda en viss ELS-tjänst för att mappa alla textintervall för indatatext till utdatatext. Ett exempel på textigenkänning är användningen av en språkidentifieringstjänst som tar emot ett textsegment och identifierar dess mest sannolika språk.

När tjänsten har identifierat texten returnerar MappingRecognizeText med en MAPPING_PROPERTY_BAG struktur ifylld med utdata och egenskaper som skapats av tjänsten. För att undvika minnesläckor måste programmet frigöra egenskapsväskan genom att anropa MappingFreePropertyBag för varje gång MappingRecognizeText returnerar S_OK. Vanligtvis gör programmet detta antingen när det är klart med utdata eller när utdata inte längre är relevanta eftersom indataområdet för text har ändrats, till exempel redigerats eller tagits bort. När egenskapsbehållaren frigörs returnerar MappingFreePropertyBag.

Programmeringsinstruktioner för textigenkänning finns i Begära textigenkänning.

Tjänstavslut

När programmet inte längre kräver ELS-tjänster anropas MappingFreeServices innan det avslutas. Mer information finns i Uppräknings- och frigöringstjänster.

Versionshantering

Framtida versioner av ELS gör att ELS-tjänsterna kan uppdateras. Programmet kommer att kunna kontrollera versionsnumren för MAPPING_SERVICE_INFO-strukturen för att identifiera eventuella ändringar i tjänsterna.

Notera

ELS-programmet bör inte anta att olika versioner av samma tjänst kan hämta exakt samma resultat.