Función SHAnsiToAnsi (shlwapi.h)
[Esta función está disponible a través de Windows XP y Windows Server 2003. Puede modificarse o no estar disponible en versiones posteriores de Windows.
Copia una cadena ANSI.
Sintaxis
int SHAnsiToAnsi(
[in] PCSTR pszSrc,
[out] PSTR pszDst,
int cchBuf
);
Parámetros
[in] pszSrc
Tipo: LPCSTR
Puntero a una cadena ANSI terminada en null que se va a convertir en Unicode.
[out] pszDst
Tipo: LPWSTR
Puntero a un búfer que, cuando esta función vuelve correctamente, recibe los caracteres copiados de pszSrc. El búfer debe ser lo suficientemente grande como para contener el número de caracteres especificados por el parámetro cchBuf , incluida una sala para un carácter nulo de terminación.
cchBuf
Tipo: int
Número de caracteres que puede contener el búfer al que apunta pszDst. Este parámetro debe ser mayor que cero.
Valor devuelto
Tipo: int
Devuelve el número de caracteres escritos en pszDst, incluido el carácter nulo de terminación. Devuelve 0 si no se realiza correctamente.
Comentarios
Advertencia de seguridad: El uso incorrecto de esta función puede poner en peligro la seguridad de la aplicación. Por ejemplo, si el búfer pszDst no es lo suficientemente grande como para contener el número de caracteres especificado por cchBuf, se puede producir una saturación del búfer. Las saturaciones de búfer pueden provocar un ataque de denegación de servicio contra una aplicación si se produce una infracción de acceso. En el peor de los casos, una saturación del búfer podría permitir que un atacante inserte código ejecutable en el proceso, especialmente si pszDst es un búfer basado en la pila. Tenga en cuenta que la cadena de salida se trunca silenciosamente si el búfer no es lo suficientemente grande. Esto puede dar lugar a la canonización u otras vulnerabilidades de seguridad.
Si el búfer pszDst no es lo suficientemente grande como para contener toda la cadena de salida convertida, la cadena se trunca para ajustarse al búfer. No hay ninguna manera de detectar que la cadena de devolución se ha truncado. La cadena siempre estará terminada en null, incluso si se ha truncado. Esta función se encarga de no truncar entre los bytes inicial y final de un par de caracteres DBCS. En ese caso, solo se devuelven caracteres cchBuf-1.
Si los búferes pszSrc y pszDst se superponen, el comportamiento de la función no está definido.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server, Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shlwapi.h |
Archivo DLL | Shlwapi.dll (versión 5.0 o posterior) |
Consulte también
StringCchLength