Compartir a través de


Función RetrieveUrlCacheEntryFileA (wininet.h)

Bloquea el archivo de entrada de caché asociado a la dirección URL especificada.

Sintaxis

BOOL RetrieveUrlCacheEntryFileA(
  [in]      LPCSTR                       lpszUrlName,
  [out]     LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
  [in, out] LPDWORD                      lpcbCacheEntryInfo,
  [in]      DWORD                        dwReserved
);

Parámetros

[in] lpszUrlName

Puntero a una cadena que contiene la dirección URL del recurso asociado a la entrada de caché. Debe ser un nombre único. La cadena de nombre no debe contener ningún carácter de escape.

[out] lpCacheEntryInfo

Puntero a un búfer de información de entrada de caché. Si el búfer no es suficiente, esta función devuelve ERROR_INSUFFICIENT_BUFFER y establece lpdwCacheEntryInfoBufferSize en el número de bytes necesarios.

[in, out] lpcbCacheEntryInfo

Puntero a una variable de entero largo sin signo que especifica el tamaño del búfer lpCacheEntryInfo , en bytes. Cuando la función devuelve, la variable contiene el tamaño, en bytes, del búfer real usado o el número de bytes necesarios para recuperar el archivo de entrada de caché. El llamador debe comprobar el valor devuelto en este parámetro. Si el tamaño devuelto es menor o igual que el tamaño pasado, se devuelven todos los datos pertinentes.

[in] dwReserved

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

Valor devuelto

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

Código devuelto Descripción
ERROR_FILE_NOT_FOUND
La entrada de caché especificada por el nombre de origen no se encuentra en el almacenamiento de caché.
ERROR_INSUFFICIENT_BUFFER
El tamaño del búfer lpCacheEntryInfo especificado por lpdwCacheEntryInfoBufferSize no es suficiente para contener toda la información. El valor devuelto en lpdwCacheEntryInfoBufferSize indica el tamaño del búfer necesario para obtener toda la información.

Comentarios

RetrieveUrlCacheEntryFile no realiza ningún análisis de direcciones URL, por lo que no se encontrará una dirección URL que contenga un delimitador (#) en la memoria caché, incluso si el recurso está almacenado en caché. Por ejemplo, si se pasó la dirección URL http://adatum.com/example.htm#sample , la función devolvería ERROR_FILE_NOT_FOUND incluso si http://adatum.com/example.htm se encuentra en la memoria caché.

El archivo está bloqueado para el autor de la llamada cuando se recupera; El autor de la llamada debe desbloquear el archivo después de que el autor de la llamada haya terminado con el archivo . El administrador de caché desbloquea automáticamente los archivos después de un intervalo determinado. Mientras el archivo está bloqueado, el administrador de caché no quitará el archivo de la memoria caché. Es importante tener en cuenta que esta función puede o no funcionar de forma eficaz, en función de la implementación interna de la memoria caché. Por ejemplo, si los datos de la dirección URL se almacenan en un archivo empaquetado que contiene datos para otras direcciones URL, la memoria caché realizará una copia de los datos en un archivo de un directorio temporal mantenido por la memoria caché. La memoria caché eliminará finalmente la copia. Se recomienda usar esta función solo en situaciones en las que se necesite un nombre de archivo para iniciar una aplicación. RetrieveUrlCacheEntryStream y las funciones de secuencia asociadas deben usarse en la mayoría de los casos.

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

Almacenamiento en caché

Funciones de WinINet