Função IsNLSDefinedString (winnls.h)

Determina se cada caractere em uma cadeia de caracteres tem um resultado definido para uma funcionalidade de NLS especificada.

Sintaxe

BOOL IsNLSDefinedString(
  [in] NLS_FUNCTION     Function,
  [in] DWORD            dwFlags,
  [in] LPNLSVERSIONINFO lpVersionInformation,
  [in] LPCWSTR          lpString,
  [in] INT              cchStr
);

Parâmetros

[in] Function

Funcionalidade de NLS para consultar. Esse valor deve ser COMPARE_STRING. Consulte a enumeração SYSNLS_FUNCTION .

[in] dwFlags

Sinalizadores definindo a função. Deve ser 0.

[in] lpVersionInformation

Ponteiro para uma estrutura NLSVERSIONINFO que contém informações de versão. Normalmente, as informações são obtidas chamando GetNLSVersion. O aplicativo define esse parâmetro como NULL se a função for usar a versão atual.

[in] lpString

Ponteiro para a cadeia de caracteres UTF-16 a ser examinada.

[in] cchStr

Número de caracteres UTF-16 na cadeia de caracteres indicada por lpString. Essa contagem pode incluir um caractere nulo de terminação. Se o caractere nulo de terminação estiver incluído na contagem de caracteres, ele não afetará o comportamento de verificação porque o caractere nulo de terminação sempre será definido.

O aplicativo deve fornecer -1 para indicar que a cadeia de caracteres foi terminada em nulo. Nesse caso, a função em si calcula o comprimento da cadeia de caracteres.

Valor retornado

Retorna TRUE se tiver êxito, somente se a cadeia de caracteres de entrada for válida ou FALSE caso contrário. Para obter informações de erro estendidas, o aplicativo pode chamar GetLastError, que pode retornar um dos seguintes códigos de erro:

  • ERROR_INSUFFICIENT_BUFFER. Um tamanho de buffer fornecido não era grande o suficiente ou foi definido incorretamente como NULL.
  • ERROR_INVALID_FLAGS. Os valores fornecidos para sinalizadores não eram válidos.
  • ERROR_INVALID_PARAMETER. Qualquer um dos valores de parâmetro era inválido.

Comentários

Essa função diferencia entre cadeias de caracteres definidas e indefinidas, para que um aplicativo como o Active Directory possa rejeitar cadeias de caracteres com pontos de código indefinidos. O uso da função pode minimizar a necessidade de o aplicativo indexar novamente seu banco de dados. Para obter mais informações, consulte Manipulando a classificação em seus aplicativos.

Por exemplo, se Function for definido como COMPARE_STRING, IsNLSDefinedString verificará pontos de código indefinidos, pares alternativos que representam caracteres Unicode indefinidos ou pares alternativos mal formados. Se a função retornar TRUE para uma cadeia de caracteres específica, os resultados, conforme recuperados por CompareString ou LCMapString com LCMAP_SORTKEY conjunto, terão a garantia de serem idênticos, desde que a versão correspondente do NLS não seja alterada.

Requisitos

   
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho winnls.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

CompareString

GetNLSVersion

Lcmapstring

NLSVERSIONINFO

Suporte à linguagem nacional

Funções de suporte à linguagem nacional

SYSNLS_FUNCTION