Função CompareStringOrdinal (stringapiset.h)

Compara duas cadeias de caracteres Unicode para testar a equivalência binária.

Sintaxe

int CompareStringOrdinal(
  [in] _In_NLS_string_(cchCount1)LPCWCH lpString1,
  [in] int                              cchCount1,
  [in] _In_NLS_string_(cchCount2)LPCWCH lpString2,
  [in] int                              cchCount2,
  [in] BOOL                             bIgnoreCase
);

Parâmetros

[in] lpString1

Ponteiro para a primeira cadeia de caracteres a ser comparada.

[in] cchCount1

Comprimento da cadeia de caracteres indicada por lpString1. O aplicativo fornecerá -1 se a cadeia de caracteres for terminada em nulo. Nesse caso, a função determina o comprimento automaticamente.

[in] lpString2

Ponteiro para a segunda cadeia de caracteres a ser comparada.

[in] cchCount2

Comprimento da cadeia de caracteres indicada por lpString2. O aplicativo fornecerá -1 se a cadeia de caracteres for terminada em nulo. Nesse caso, a função determina o comprimento automaticamente.

[in] bIgnoreCase

TRUE se a função for executar uma comparação que não diferencia maiúsculas de minúsculas, usando as informações da tabela maiúsculas do sistema operacional. O aplicativo define esse parâmetro como FALSE se a função for comparar as cadeias de caracteres exatamente conforme elas são passadas. Observe que 1 é o único valor numérico que pode ser usado para especificar um valor verdadeiro para esse parâmetro booliano que não resulta em um erro de parâmetro inválido. Os valores boolianos para esse parâmetro funcionam conforme o esperado.

Valor retornado

Retorna um dos valores a seguir se for bem-sucedido. Para manter a convenção de runtime C de comparação de cadeias de caracteres, o valor 2 pode ser subtraído de um valor retornado diferente de zero. Em seguida, o significado de <0, ==0 e >0 é consistente com o runtime C.

  • CSTR_LESS_THAN. O valor indicado por lpString1 é menor que o valor indicado por lpString2.
  • CSTR_EQUAL. O valor indicado por lpString1 é igual ao valor indicado por lpString2.
  • CSTR_GREATER_THAN. O valor indicado por lpString1 é maior que o valor indicado por lpString2.
A função retornará 0 se não for bem-sucedida. Para obter informações de erro estendidas, o aplicativo pode chamar GetLastError, que pode retornar um dos seguintes códigos de erro:
  • ERROR_INVALID_PARAMETER. Qualquer um dos valores de parâmetro era inválido.

Comentários

Essa função testa a igualdade binária, não a igualdade linguística. Para obter informações sobre o uso da função para classificação ordinal, consulte Manipulando a classificação em seus aplicativos.

Os aplicativos preocupados com a igualdade linguística devem usar CompareString, CompareStringEx, lstrcmp ou lstrcmpi. Para obter mais informações sobre classificação linguística, consulte Manipulando a classificação em seus aplicativos

A partir do Windows 8: CompareStringOrdinal é declarado em Stringapiset.h. Antes do Windows 8, ele foi declarado em Winnls.h.

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 stringapiset.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

CompareString

CompareStringEx

Manipulando a classificação em seus aplicativos

Suporte à linguagem nacional

Funções de suporte à linguagem nacional

Considerações sobre segurança: recursos internacionais

Usando a normalização unicode para representar cadeias de caracteres