FindFirstUrlCacheEntry function
Applies to: desktop apps only
Begins the enumeration of the Internet cache.
Syntax
HANDLE FindFirstUrlCacheEntry( __in LPCTSTR lpszUrlSearchPattern, __out LPINTERNET_CACHE_ENTRY_INFO lpFirstCacheEntryInfo, __inout LPDWORD lpcbCacheEntryInfo );
Parameters
- lpszUrlSearchPattern [in]
-
A pointer to a string that contains the source name pattern to search for. This parameter can only be set to "cookie:", "visited:", or NULL. Set this parameter to "cookie:" to enumerate the cookies or "visited:" to enumerate the URL History entries in the cache. If this parameter is NULL, FindFirstUrlCacheEntry returns all content entries in the cache.
- lpFirstCacheEntryInfo [out]
-
Pointer to an INTERNET_CACHE_ENTRY_INFO structure.
- lpcbCacheEntryInfo [in, out]
-
Pointer to a variable that specifies the size of the lpFirstCacheEntryInfo buffer, in bytes. When the function returns, the variable contains the number of bytes copied to the buffer, or the required size needed to retrieve the cache entry, in bytes.
Return value
Returns a handle that the application can use in the FindNextUrlCacheEntry function to retrieve subsequent entries in the cache. If the function fails, the return value is NULL. To get extended error information, call GetLastError.
ERROR_INSUFFICIENT_BUFFER indicates that the size of lpFirstCacheEntryInfo as specified by lpdwFirstCacheEntryInfoBufferSize is not sufficient to contain all the information. The value returned in lpdwFirstCacheEntryInfoBufferSize indicates the buffer size necessary to contain all the information.
Remarks
The handle returned from FindFirstUrlCacheEntry is used in all subsequent calls to FindNextUrlCacheEntry. At the end of the enumeration, the application should call FindCloseUrlCache.
FindFirstUrlCacheEntry and FindNextUrlCacheEntry return variable size information. If ERROR_INSUFFICIENT_BUFFER is returned, the application should allocate a buffer of the size specified by lpdwFirstCacheEntryInfoBufferSize. For more information, see Using Buffers.
Like all other aspects of the WinINet API, this function cannot be safely called from within DllMain or the constructors and destructors of global objects.
Note WinINet does not support server implementations. In addition, it should not be used from a service. For server implementations or services use Microsoft Windows HTTP Services (WinHTTP).
Requirements
|
Minimum supported client | Windows 2000 Professional |
|---|---|
|
Minimum supported server | Windows 2000 Server |
|
Header |
|
|
Library |
|
|
DLL |
|
|
Unicode and ANSI names | FindFirstUrlCacheEntryW (Unicode) and FindFirstUrlCacheEntryA (ANSI) |
See also
Send comments about this topic to Microsoft
Build date: 2/7/2012
Is this a bug or restriction?
[ericlaw 13-08-09] The issue is that the API works on only the cache with the same integrity level as your program. Sites in Protected Mode IE (e.g. the Internet) run at Low Integrity; Low has its own cache which isn't visible to programs running at Medium integrity.
[tfl - 15-08-08] - Good question. In general, you should post questions like this to the MSDN Forums at http:/forums.microsoft.com/msdn. You are much more likely get a quick response using the forums than through the Community Content. And if you do find the answer, consider coming back to Community Content and sharing what you found out. I've tagged this post contentbug.
- 7/17/2008
- kuboon
- 8/13/2009
- EricLaw-MSFT