Función UrlApplySchemeA (shlwapi.h)

Determina un esquema para una cadena de dirección URL especificada y devuelve una cadena con un prefijo adecuado.

Sintaxis

LWSTDAPI UrlApplySchemeA(
  [in]      PCSTR pszIn,
  [out]     PSTR  pszOut,
  [in, out] DWORD *pcchOut,
            DWORD dwFlags
);

Parámetros

[in] pszIn

Tipo: PCTSTR

Cadena terminada en null de longitud máxima INTERNET_MAX_URL_LENGTH que contiene una dirección URL.

[out] pszOut

Tipo: PTSTR

Puntero a un búfer que, cuando esta función devuelve correctamente, recibe una cadena terminada en null establecida en la dirección URL especificada por pszIn y convertida al formato estándar scheme://URL_string .

[in, out] pcchOut

Tipo: DWORD*

Dirección de un valor establecido en el número de caracteres del búfer pszOut . Cuando la función devuelve, el valor depende de si la función es correcta o devuelve E_POINTER. Para otros valores devueltos, el valor de este parámetro no tiene sentido.

dwFlags

Tipo: DWORD

Marcas que especifican cómo determinar el esquema. Se pueden combinar las marcas siguientes.

URL_APPLY_DEFAULT

Aplique el esquema predeterminado si UrlApplyScheme no puede determinar uno. El prefijo predeterminado se almacena en el registro, pero normalmente es "http".

URL_APPLY_GUESSSCHEME

Intente determinar el esquema mediante el examen de pszIn.

URL_APPLY_GUESSFILE

Intente determinar una dirección URL de archivo de pszIn.

URL_APPLY_FORCEAPPLY

Forzar urlApplyScheme para determinar un esquema para pszIn.

Valor devuelto

Tipo: HRESULT

Devuelve un valor devuelto COM estándar, incluido lo siguiente.

Código devuelto Descripción
S_OK
Se determinó un esquema. pszOut apunta a una cadena que contiene la dirección URL con el prefijo del esquema. El valor de pcchOut se establece en el número de caracteres de la cadena, sin contar el carácter NULL de terminación.
S_FALSE
No hubo errores, pero no se antepone ningún prefijo.
E_POINTER
El búfer era demasiado pequeño. El valor de pcchOut se establece en el número mínimo de caracteres que debe contener el búfer, incluido el carácter NULL de terminación.

Comentarios

Si la dirección URL tiene un esquema válido, la cadena no se modificará. Sin embargo, casi cualquier combinación de dos o más caracteres seguidos de dos puntos se analizará como un esquema. Los caracteres válidos incluyen algunas marcas de puntuación comunes, como ".". Si la cadena de entrada se ajusta a esta descripción, UrlApplyScheme puede tratarla como válida y no aplicar un esquema. Para forzar que la función aplique un esquema a una dirección URL, establezca las marcas URL_APPLY_FORCEAPPLY y URL_APPLY_DEFAULT en dwFlags. Esta combinación de marcas obliga a la función a aplicar un esquema a la dirección URL. Normalmente, la función no podrá determinar un esquema válido. La segunda marca garantiza que, si no se puede determinar ningún esquema válido, la función aplicará el esquema predeterminado a la dirección URL.

Nota

El encabezado shlwapi.h define UrlApplyScheme como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shlwapi.h
Library Shlwapi.lib
Archivo DLL Shlwapi.dll (versión 5.0 o posterior)