共用方式為


列舉和釋放服務

ELS 應用程式會呼叫 MappingGetServices 函式,以判斷作業系統上可用的服務。 函式可用來列舉所有可用的 ELS 服務,或根據應用程式提供的搜尋準則來篩選服務。 當不再需要服務時,應用程式會呼叫 MappingFreeServices

取得所有支援的服務

此程式碼範例說明如何使用 MappingGetServicesMappingFreeServices 列舉作業系統上的所有可用服務,然後釋放所有可用的服務。 若要這樣做,應用程式會針對MappingGetServicespOptions參數傳遞Null

#include <windows.h>
#include <stdio.h>
#include <elscore.h>

int __cdecl main()
{
    PMAPPING_SERVICE_INFO   prgServices = NULL;
    DWORD                   dwServicesCount = 0;
    HRESULT                 Result;
    DWORD                   i;

    // Get all installed ELS services.
    Result = MappingGetServices(NULL, &prgServices, &dwServicesCount);

    if (SUCCEEDED(Result))
    {
        for (i = 0; i < dwServicesCount; ++i)
        {
            // Do something with each service.
            // ... prgServices[i] ...
            printf_s("Service: %ws, category: %ws\n",
                prgServices[i].pszDescription, prgServices[i].pszCategory);
        }
        MappingFreeServices(prgServices);
    }
    return 0;
}

取得特定服務

下一個範例說明如何使用 MappingGetServicesMappingFreeServices 列舉,然後釋放類別 「Language Detection」 的所有服務。 如需此服務類別的詳細資訊,請參閱 Microsoft 語言偵測

#include <windows.h>
#include <stdio.h>
#include <elscore.h>

int __cdecl main()
{
    MAPPING_ENUM_OPTIONS    EnumOptions;
    PMAPPING_SERVICE_INFO   prgServices = NULL;
    DWORD                   dwServicesCount = 0;
    HRESULT                 Result;
    DWORD                   i;

    ZeroMemory(&EnumOptions, sizeof (MAPPING_ENUM_OPTIONS));
    EnumOptions.Size = sizeof (MAPPING_ENUM_OPTIONS);

    // Use the Language Auto-Detection category to enumerate
    // all language detection services.
    EnumOptions.pszCategory = L"Language Detection";

    // Execute the enumeration:
    Result = MappingGetServices(&EnumOptions, &prgServices, &dwServicesCount);

    if (SUCCEEDED(Result))
    {
        for (i = 0; i < dwServicesCount; ++i)
        {
            // Do something with each service.
            // ... prgServices[i] ...
            printf_s("Service: %ws, category: %ws\n",
                prgServices[i].pszDescription, prgServices[i].pszCategory);
        }
        MappingFreeServices(prgServices);
    }
    return 0;
}

使用擴充語言服務

MappingFreeServices

MappingGetServices