http://search.microsoft.com/default.asp?qu=URLDownloadToCacheFile&boolean=ALL&nq=NEW&so=RECCNT&p=1&ig=01&ig=02&ig=03&ig=04&ig=05&ig=06&i=00&i=01&i=02&i=03&i=04&i=05&i=06&i=07&i=08&i=09&i=10&i=11&i=12&i=13&i=14&i=15&i=16&i=17&i=18&i=19&i=20&i=21&i=22&i=23&i=24&i=25&i=26&i=27&i=28&i=29&i=30&i=31&i=32&i=33&i=34&i=35&i=36&i=37&i=38&i=39&i=40&i=41&i=42&i=43&i=44&i=45&i=46&i=47&i=48&i=49&i=50&i=51&siteid=us/dev
URLDownloadToCacheFile FunctionDownloads data into the Internet cache and returns the file name of the cache location for retrieving the bits.SyntaxHRESULT URLDownloadToCacheFile(          LPUNKNOWN lpUnkcaller,
    LPCSTR szURL,
    LPTSTR szFileName,
    DWORD dwBufLength,
    DWORD dwReserved,
    IBindStatusCallback* pBSC
);
ParameterslpUnkcaller
Pointer to the controlling IUnknown interface of the calling Microsoft® ActiveX® component (if the caller is an ActiveX component). If the caller is not an ActiveX component, this value can be set to NULL. Otherwise, the caller is a Component Object Model (COM) object that is contained in another component (such as an ActiveX control within the context of an HTML page). This parameter represents the outermost IUnknown of the calling component. The function attempts the download within the context of the ActiveX client framework and allows the caller's container to receive callbacks on the progress of the download. 
szURL
Pointer to a string value that contains the URL to be downloaded. This cannot be set to NULL. 
szFileName
Pointer to a string value that contains the name of the downloaded file. This cannot be set to NULL. 
dwBufLength
Unsigned long integer value that contains the size of the szFileName buffer in bytes. 
dwReserved
Reserved. Must be set to 0.
pBSC
Pointer to the caller's IBindStatusCallback interface. URLDownloadToCacheFile calls this interface's IBindStatusCallback::OnProgress method on a connection activity, including the arrival of data. IBindStatusCallback::OnDataAvailable is never called. Implementing IBindStatusCallback::OnProgress allows a caller to implement a user interface or other progress monitoring functionality. It also allows the download operation to be canceled by returning E_ABORT from the IBindStatusCallback::OnProgress call. This can be set to NULL. 
Return ValueReturns one of the following values.E_FAIL The operation failed. 
E_OUTOFMEMORY The buffer length is invalid or there was insufficient memory to complete the operation. 
S_OK The operation succeeded. 
ResThe client can choose to be notified of progress through a notification callback.This function always returns a file name if the download operation succeeds. If the given URL is a "file:" URL, URLDownloadToCacheFile directly returns the file name for the "file:" URL rather than making a copy to the cache. If the given URL is an Internet URL ("http:", "ftp:"), URLDownloadToCacheFile downloads this file and returns the local file name of the cached copy. Using this function ensures that a file name is returned without unnecessary copying of data.