Función InternetGetCookieW (wininet.h)

Recupera la cookie de la dirección URL especificada.

Sintaxis

BOOL InternetGetCookieW(
  [in]      LPCWSTR lpszUrl,
  [in]      LPCWSTR lpszCookieName,
  [out]     LPWSTR  lpszCookieData,
  [in, out] LPDWORD lpdwSize
);

Parámetros

[in] lpszUrl

Puntero a una cadena terminada en null que especifica la dirección URL para la que se van a recuperar las cookies.

[in] lpszCookieName

Sin implementar.

[out] lpszCookieData

Puntero a un búfer que recibe los datos de cookies. Este parámetro puede ser NULL.

[in, out] lpdwSize

Puntero a una variable que especifica el tamaño del búfer de parámetros lpszCookieData , en TCHAR. Si la función se ejecuta correctamente, el búfer recibe la cantidad de datos copiados en el búfer lpszCookieData . Si lpszCookieData es NULL, este parámetro recibe un valor que especifica el tamaño del búfer necesario para copiar todos los datos de cookies, expresados como un recuento de bytes.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve TRUE.

Si se produce un error en la función, devuelve FALSE. Para obtener datos de error extendidos, llame a GetLastError.

Los siguientes valores de error se aplican a InternetGetCookie.

Código devuelto Descripción
ERROR_NO_MORE_ITEMS
No hay ninguna cookie para la dirección URL especificada y todos sus elementos primarios.
ERROR_INSUFFICIENT_BUFFER
El valor pasado en lpdwSize no es suficiente para copiar todos los datos de cookies. El valor devuelto en lpdwSize es el tamaño del búfer necesario para obtener todos los datos.
ERROR_INVALID_PARAMETER
Uno o varios de los parámetros no son válidos.

El parámetro lpszUrl es NULL.

Comentarios

InternetGetCookie no requiere una llamada a InternetOpen. InternetGetCookie comprueba en el directorio windows\cookies las cookies persistentes que tienen una fecha de expiración establecida en algún momento en el futuro. InternetGetCookie también busca memoria para las cookies de sesión, es decir, cookies que no tienen una fecha de expiración creada en el mismo proceso por InternetSetCookie, porque estas cookies no se escriben en ningún archivo. Las reglas para crear archivos de cookies son internas para el sistema y pueden cambiar en el futuro.

Como se indicó en Cookies HTTP, InternetGetCookie no devuelve cookies que el servidor marcado como no scriptable con el atributo "HttpOnly" en el encabezado Set-Cookie.

Al igual que todos los demás aspectos de la API de WinINet, esta función no se puede llamar de forma segura desde DllMain ni desde los constructores y destructores de objetos globales.

Nota WinINet no admite implementaciones de servidor. Además, no se debe usar desde un servicio. En el caso de las implementaciones de servidor o los servicios, use los servicios HTTP de Microsoft Windows (WinHTTP).
 

Nota

El encabezado wininet.h define InternetGetCookie 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 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wininet.h
Library Wininet.lib
Archivo DLL Wininet.dll

Consulte también

HTTP Cookies

InternetGetCookieEx

InternetSetCookie

InternetSetCookieEx

Administración de cookies

Funciones de WinINet