Función IsNLSDefinedString (winnls.h)
Determina si cada carácter de una cadena tiene un resultado definido para una funcionalidad NLS especificada.
Sintaxis
BOOL IsNLSDefinedString(
[in] NLS_FUNCTION Function,
[in] DWORD dwFlags,
[in] LPNLSVERSIONINFO lpVersionInformation,
[in] LPCWSTR lpString,
[in] INT cchStr
);
Parámetros
[in] Function
Funcionalidad NLS para realizar consultas. Este valor debe ser COMPARE_STRING. Consulte la enumeración SYSNLS_FUNCTION .
[in] dwFlags
Marcas que definen la función. Debe ser 0.
[in] lpVersionInformation
Puntero a una estructura NLSVERSIONINFO que contiene información de versión. Normalmente, la información se obtiene mediante una llamada a GetNLSVersion. La aplicación establece este parámetro en NULL si la función va a usar la versión actual.
[in] lpString
Puntero a la cadena UTF-16 que se va a examinar.
[in] cchStr
Número de caracteres UTF-16 en la cadena indicada por lpString. Este recuento puede incluir un carácter nulo de terminación. Si el carácter nulo de terminación se incluye en el recuento de caracteres, no afecta al comportamiento de comprobación porque el carácter nulo de terminación siempre se define.
La aplicación debe proporcionar -1 para indicar que la cadena termina en null. En este caso, la propia función calcula la longitud de la cadena.
Valor devuelto
Devuelve TRUE si se ejecuta correctamente, solo si la cadena de entrada es válida o FALSE en caso contrario. Para obtener información de error extendida, la aplicación puede llamar a GetLastError, que puede devolver uno de los siguientes códigos de error:
- ERROR_INSUFFICIENT_BUFFER. Un tamaño de búfer proporcionado no era lo suficientemente grande o se estableció incorrectamente en NULL.
- ERROR_INVALID_FLAGS. Los valores proporcionados para las marcas no eran válidos.
- ERROR_INVALID_PARAMETER. Cualquiera de los valores de parámetro no era válido.
Comentarios
Esta función diferencia entre cadenas definidas y no definidas, de modo que una aplicación como Active Directory pueda rechazar cadenas con puntos de código no definidos. El uso de la función puede minimizar la necesidad de que la aplicación vuelva a indexar su base de datos. Para obtener más información, consulte Control de la ordenación en las aplicaciones.
Por ejemplo, si Function se establece en COMPARE_STRING, IsNLSDefinedString comprueba si hay puntos de código no definidos, pares suplentes que representan caracteres Unicode sin definir o pares suplentes con formato incorrecto. Si la función devuelve TRUE para una cadena determinada, se garantiza que los resultados, tal como se recuperan mediante CompareString o LCMapString con LCMAP_SORTKEY establecido, son idénticos siempre que la versión NLS correspondiente no cambie.
Requisitos
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | winnls.h (incluye Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |
Vea también
Compatibilidad con idiomas nacionales