Informazioni sui servizi linguistici estesi

I servizi linguistici estesi (ELS) vengono implementati come libreria di collegamento dinamico (DLL) che offre una vasta gamma di funzionalità di supporto linguistico per il testo specificato dall'applicazione. La tecnologia include la piattaforma ELS e i plug-in per diversi tipi di servizio linguistici predefiniti accessibili all'applicazione tramite la piattaforma.

Nota

Il modulo ELS viene installato automaticamente con Windows 7 e versioni successive.

 

Piattaforma ELS

La piattaforma ELS è l'interfaccia tra l'applicazione e i servizi ELS. Offre un modo semplice per implementare diversi tipi di funzionalità linguistiche tramite la stessa API, che consente all'applicazione di accedere e usare servizi specifici. Per altre informazioni sull'API, vedere Informazioni di riferimento su Servizi linguistici estesi.

Nota

Quando l'applicazione chiama una delle funzioni API ELS, la piattaforma alloca memoria e risorse in base alle esigenze per la comunicazione con i servizi. L'applicazione è responsabile della chiamata alla piattaforma per liberare queste risorse.

 

La piattaforma viene eseguita all'interno dello spazio di memoria virtuale dell'applicazione e tutta la memoria allocata fa parte di questo spazio. L'applicazione deve quindi collegarsi solo alla DLL del componente ELS (Elscore.dll) collegandosi a Elscore.lib o caricando dinamicamente Elscore.dll.

Servizi ELS

Per Windows 7 e versioni successive, la piattaforma ELS supporta solo i servizi predefiniti seguenti.

Nota

Le versioni future di ELS supportano servizi aggiuntivi forniti dai provider di servizi o Microsoft.

 

Ogni servizio è associato a una categoria di servizio che descrive le operazioni del servizio. La categoria è rappresentata da una stringa nonlocalizzabile. Viene usato dalle applicazioni per enumerare i servizi disponibili. Le categorie di servizio correnti sono:

  • "Rilevamento lingua"
  • "Rilevamento script"
  • "Traslitterazione"

La piattaforma usa i metadati del servizio per enumerare i servizi richiesti dall'applicazione. Proprietà come l'identificatore univoco globale del servizio, i linguaggi di input e gli script supportati e la categoria di servizio può essere usata dall'applicazione per enumerare i servizi ELS desiderati.

Ogni servizio ELS viene implementato come plug-in supportato da una DLL che può essere installata nel sistema operativo in modo che la piattaforma ELS possa rilevare e usarla. I servizi possono esporre i propri sottoservizi, se necessario.

Operazioni ELS principali

Questa sezione descrive le operazioni principali supportate dalla piattaforma ELS. La piattaforma supporta sia modalità di chiamata sincrone che asincrone. La modalità chiamata asincrona usa un pool di thread dell'applicazione per pianificare i thread per l'elaborazione delle richieste.

Nota

Poiché la piattaforma supporta una modalità asincrona, i servizi ELS non devono implementare questo tipo di funzionalità autonomamente.

 

Enumerazione del servizio

La piattaforma ELS carica e gestisce tutti i servizi ELS, rendendo l'operazione trasparente all'applicazione. L'applicazione enumera i servizi disponibili chiamando MappingGetServices. Per istruzioni di programmazione, vedere Enumerazione e freeing Services.

Nota

È consigliabile per motivi di prestazioni per cui l'applicazione enumera i servizi disponibili una sola volta. La piattaforma ELS controlla nuovamente i servizi nell'enumerazione successiva per assicurarsi che i risultati dell'enumerazione siano sempre correnti.

 

Riconoscimento del testo

Dopo l'enumerazione del servizio, l'applicazione chiama la funzione MappingRecognizeText per usare un servizio ELS specifico per eseguire il mapping di qualsiasi intervallo di testo di input al testo di output. Un esempio di riconoscimento del testo è l'uso di un servizio di rilevamento della lingua che riceve un segmento di testo e rileva la lingua più probabile.

Dopo aver riconosciuto il testo, MappingRecognizeText restituisce con una struttura MAPPING_PROPERTY_BAG popolata con i dati di output e le proprietà prodotte dal servizio. Per evitare perdite di memoria, l'applicazione deve liberare il contenitore delle proprietà chiamando MappingFreePropertyBag per ogni volta che MappingRecognizeText restituisce S_OK. In genere l'applicazione esegue questa operazione al termine dell'uso dei dati di output o quando i dati di output non sono più rilevanti perché l'area di input del testo è stata modificata, ad esempio modificata o eliminata. Quando viene rilasciato il contenitore delle proprietà, MappingFreePropertyBag restituisce.

Le istruzioni di programmazione per il riconoscimento del testo vengono fornite nella richiesta di riconoscimento del testo.

Terminazione del servizio

Quando l'applicazione non richiede più servizi ELS, chiama MappingFreeServices prima di terminare. Per altre informazioni, vedere Enumerazione e freeing Services.

Controllo delle versioni

Le versioni future di ELS consentiranno l'aggiornamento dei servizi ELS. L'applicazione sarà in grado di controllare i numeri di versione della struttura MAPPING_SERVICE_INFO per rilevare eventuali modifiche nei servizi.

Nota

L'applicazione ELS non deve fare il presupposto che diverse versioni dello stesso servizio possano recuperare esattamente gli stessi risultati.