Función CommitUrlCacheEntryA (wininet.h)

Almacena datos en el archivo especificado en la memoria caché de Internet y lo asocia a la dirección URL especificada.

Sintaxis

BOOL CommitUrlCacheEntryA(
  [in] LPCSTR   lpszUrlName,
  [in] LPCSTR   lpszLocalFileName,
  [in] FILETIME ExpireTime,
  [in] FILETIME LastModifiedTime,
  [in] DWORD    CacheEntryType,
  [in] LPBYTE   lpHeaderInfo,
  [in] DWORD    cchHeaderInfo,
  [in] LPCSTR   lpszFileExtension,
  [in] LPCSTR   lpszOriginalUrl
);

Parámetros

[in] lpszUrlName

Puntero a una variable de cadena que contiene el nombre de origen de la entrada de caché. La cadena de nombre debe ser única y no debe contener ningún carácter de escape.

[in] lpszLocalFileName

Puntero a una variable de cadena que contiene el nombre del archivo local que se almacena en caché. Debe ser el mismo nombre que el devuelto por CreateUrlCacheEntryA.

[in] ExpireTime

Estructura FILETIME que contiene la fecha y hora de expiración (en la hora media de Greenwich) del archivo que se está almacenando en caché. Si se desconoce la fecha y hora de expiración, establezca este parámetro en cero.

[in] LastModifiedTime

Estructura FILETIME que contiene la fecha y hora de última modificación (en la hora media de Greenwich) de la dirección URL que se almacena en caché. Si se desconoce la fecha y hora de la última modificación, establezca este parámetro en cero.

[in] CacheEntryType

Máscara de bits que indica el tipo de entrada de caché y sus propiedades. Los tipos de entrada de caché incluyen: entradas del historial (URLHISTORY_CACHE_ENTRY), entradas de cookies (COOKIE_CACHE_ENTRY) y contenido almacenado en caché normal (NORMAL_CACHE_ENTRY).

Este parámetro puede ser cero o más de las siguientes marcas de propiedad y las marcas de tipo de caché que se enumeran a continuación.

Value Significado
COOKIE_CACHE_ENTRY
Entrada de caché de cookies.
EDITED_CACHE_ENTRY
Archivo de entrada de caché que se ha editado externamente. Este tipo de entrada de caché está exento del scavenging.
NORMAL_CACHE_ENTRY
Entrada de caché normal; se puede eliminar para recuperar espacio para las nuevas entradas.
SPARSE_CACHE_ENTRY
Entrada de caché de respuesta parcial.
STICKY_CACHE_ENTRY
Entrada de caché permanente; exenta de la limpieza.
TRACK_OFFLINE_CACHE_ENTRY
No implementado actualmente.
TRACK_ONLINE_CACHE_ENTRY
No implementado actualmente.
URLHISTORY_CACHE_ENTRY
Entrada de caché de vínculos visitados.

[in] lpHeaderInfo

Puntero al búfer que contiene la información de encabezado. Si este parámetro no es NULL, la información de encabezado se trata como atributos extendidos de la dirección URL que se devuelven en el miembro lpHeaderInfo de la estructura INTERNET_CACHE_ENTRY_INFO .

[in] cchHeaderInfo

Tamaño de la información de encabezado, en TCHAR. Si lpHeaderInfo no es NULL, se supone que este valor indica el tamaño del búfer que almacena la información de encabezado. Una aplicación puede mantener encabezados como parte de los datos y proporcionar cchHeaderInfo junto con un valor NULL para lpHeaderInfo.

[in] lpszFileExtension

Este parámetro está reservado y debe ser NULL.

[in] lpszOriginalUrl

Puntero a una cadena que contiene la dirección URL original, si se ha producido el redireccionamiento.

Valor devuelto

Devuelve TRUE si se ejecuta correctamente o FALSE de lo contrario. Para obtener información de error extendida, llame a GetLastError. A continuación se muestran los valores de error posibles.

Código devuelto Descripción
ERROR_DISK_FULL
El almacenamiento en caché está lleno.
ERROR_FILE_NOT_FOUND
No se encuentra el archivo local especificado.

Comentarios

El tipo de STICKY_CACHE_ENTRY se usa para hacer que las entradas de caché estén exentas del scavenging. El tiempo de exención predeterminado para las entradas establecidas mediante CommitUrlCacheEntryA es de diez minutos. El tiempo exento se puede cambiar estableciendo el parámetro time expira en la estructura INTERNET_CACHE_ENTRY_INFO de la llamada a la función SetUrlCacheEntryInfo .

Si el almacenamiento de caché está lleno, CommitUrlCacheEntryA invoca la limpieza de caché para hacer espacio para este nuevo archivo. Si la entrada de caché ya existe, la función sobrescribe la entrada si no está en uso. Una entrada está en uso cuando se ha recuperado con RetrieveUrlCacheEntryStream o RetrieveUrlCacheEntryFile.

Los clientes que agreguen entradas a la memoria caché deben establecer los encabezados en al menos "HTTP/1.0 200 OK\r\n\r\n"; De lo contrario, Microsoft Internet Explorer y otras aplicaciones cliente deben ignorar la entrada.

Consulte Almacenamiento en caché para obtener código de ejemplo que llama a CreateUrlCacheEntryA.

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 CommitUrlCacheEntry 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

   
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

Almacenamiento en caché

Funciones de WinINet