Función RetrieveUrlCacheEntryStreamA (wininet.h)
Proporciona la manera más eficaz e independiente de la implementación de acceder a los datos de caché.
Sintaxis
HANDLE RetrieveUrlCacheEntryStreamA(
[in] LPCSTR lpszUrlName,
[out] LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
[in, out] LPDWORD lpcbCacheEntryInfo,
[in] BOOL fRandomRead,
[in] DWORD dwReserved
);
Parámetros
[in] lpszUrlName
Puntero a una cadena terminada en null que contiene el nombre de origen de 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 una estructura de INTERNET_CACHE_ENTRY_INFO que recibe información sobre la entrada de caché.
[in, out] lpcbCacheEntryInfo
Puntero a una variable que especifica el tamaño, en bytes, del búfer lpCacheEntryInfo . Cuando la función devuelve, la variable recibe el número de bytes copiados en el búfer o el tamaño necesario, en bytes, del búfer. Tenga en cuenta que este tamaño de búfer debe adaptarse tanto a la estructura INTERNET_CACHE_ENTRY_INFO como a las cadenas asociadas que se almacenan inmediatamente después de él.
[in] fRandomRead
Si la secuencia está abierta para el acceso aleatorio. Establezca la marca en TRUE para abrir la secuencia para el acceso aleatorio.
[in] dwReserved
Este parámetro está reservado y debe ser 0.
Valor devuelto
Si la función se ejecuta correctamente, la función devuelve un identificador válido para su uso en las funciones ReadUrlCacheEntryStream y UnlockUrlCacheEntryStream .
Si se produce un error en la función, devuelve NULL. Para obtener información de error extendida, llame a GetLastError.
Entre los valores de error posibles se incluyen los siguientes.
Código devuelto | Descripción |
---|---|
|
La entrada de caché especificada por el nombre de origen no se encuentra en el almacenamiento de caché. |
|
El tamaño de 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 contener toda la información. |
Comentarios
RetrieveUrlCacheEntryStream 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 pasa la dirección URL http://adatum.com/example.htm#sample , la función devuelve ERROR_FILE_NOT_FOUND incluso si http://adatum.com/example.htm está en la memoria caché.
Los clientes de caché que no necesitan datos de dirección URL en forma de archivo deben usar esta función para acceder a los datos de una dirección URL determinada.
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:
El encabezado wininet.h define RetrieveUrlCacheEntryStream 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 |