Compartir a través de


Método IDWriteLocalizedStrings::FindLocaleName (dwrite.h)

Obtiene el índice de base cero del par nombre/cadena de configuración regional con el nombre de configuración regional especificado.

Sintaxis

HRESULT FindLocaleName(
  [in]  WCHAR const *localeName,
  [out] UINT32      *index,
  [out] BOOL        *exists
);

Parámetros

[in] localeName

Tipo: const WCHAR*

Matriz terminada en null de caracteres que contiene el nombre de configuración regional que se va a buscar.

[out] index

Tipo: UINT32*

Índice de base cero del par nombre/cadena de configuración regional. Este método inicializa el índice en UINT_MAX.

[out] exists

Tipo: BOOL*

Cuando este método devuelve , contiene TRUE si existe el nombre de la configuración regional; de lo contrario, FALSE. Este método inicializa existe enFALSE.

Valor devuelto

Tipo: HRESULT

Si el nombre de configuración regional especificado no existe, el valor devuelto es S_OK, pero el índice es UINT_MAX y existe es FALSE.

Comentarios

Tenga en cuenta que si el nombre de configuración regional no existe, el valor devuelto es correcto y el parámetro exists es FALSE. Si obtiene el nombre de familia de fuentes de una fuente y el nombre de configuración regional especificado no existe, una opción es establecer el índice en 0, como se muestra a continuación. Siempre hay al menos una configuración regional para una familia de fuentes.

UINT32 index = 0;
BOOL exists = false;

wchar_t localeName[LOCALE_NAME_MAX_LENGTH];

if (SUCCEEDED(hr))
{
    // Get the default locale for this user.
    int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH);

    // If the default locale is returned, find that locale name, otherwise use "en-us".
    if (defaultLocaleSuccess)
    {
        hr = pFamilyNames->FindLocaleName(localeName, &index, &exists);
    }
    if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English
    {
        hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists);
    }
}

// If the specified locale doesn't exist, select the first on the list.
if (!exists)
    index = 0;

Requisitos

   
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado dwrite.h
Library Dwrite.lib
Archivo DLL Dwrite.dll

Consulte también

IDWriteLocalizedStrings