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

Obtém o índice baseado em zero do par nome/cadeia de caracteres de localidade com o nome de localidade especificado.

Sintaxe

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

Parâmetros

[in] localeName

Tipo: const WCHAR*

Uma matriz terminada em nulo de caracteres que contém o nome da localidade a ser procurada.

[out] index

Tipo: UINT32*

O índice baseado em zero do par nome/cadeia de caracteres de localidade. Esse método inicializa o índice para UINT_MAX.

[out] exists

Tipo: BOOL*

Quando este método retorna, contém TRUE se o nome da localidade existir; caso contrário, FALSE. Esse método inicializa comoFALSE.

Valor retornado

Tipo: HRESULT

Se o nome de localidade especificado não existir, o valor retornado será S_OK, mas o índice será UINT_MAX e existiráfalse.

Comentários

Observe que, se o nome da localidade não existir, o valor retornado será um sucesso e o parâmetro exists será FALSE. Se você estiver obtendo o nome da família de fontes para uma fonte e o nome de localidade especificado não existir, uma opção será definir o índice como 0, conforme mostrado abaixo. Há sempre pelo menos uma localidade para uma família de fontes.

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 com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Platform Update para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho dwrite.h
Biblioteca Dwrite.lib
DLL Dwrite.dll

Confira também

IDWriteLocalizedStrings