RetrieveUrlCacheEntryFileA-Funktion (wininet.h)
Sperrt die Cacheeintragsdatei, die der angegebenen URL zugeordnet ist.
Syntax
BOOL RetrieveUrlCacheEntryFileA(
[in] LPCSTR lpszUrlName,
[out] LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
[in, out] LPDWORD lpcbCacheEntryInfo,
[in] DWORD dwReserved
);
Parameter
[in] lpszUrlName
Zeigen Sie auf eine Zeichenfolge, die die URL der Ressource enthält, die dem Cacheeintrag zugeordnet ist. Dies muss ein eindeutiger Name sein. Die Namenszeichenfolge darf keine Escapezeichen enthalten.
[out] lpCacheEntryInfo
Zeiger auf einen Cacheeintragsinformationspuffer. Wenn der Puffer nicht ausreicht, gibt diese Funktion ERROR_INSUFFICIENT_BUFFER zurück und legt lpdwCacheEntryInfoBufferSize- auf die Anzahl der erforderlichen Bytes fest.
[in, out] lpcbCacheEntryInfo
Zeiger auf eine nicht signierte lange ganzzahlige Variable, die die Größe des lpCacheEntryInfo- Puffers in Byte angibt. Wenn die Funktion zurückgegeben wird, enthält die Variable die Größe des tatsächlich verwendeten Puffers in Bytes oder die Anzahl der Bytes, die zum Abrufen der Cacheeintragsdatei erforderlich sind. Der Aufrufer sollte den Rückgabewert in diesem Parameter überprüfen. Wenn die Rückgabegröße kleiner oder gleich der übergebenen Größe ist, wurden alle relevanten Daten zurückgegeben.
[in] dwReserved
Dieser Parameter ist reserviert und muss 0 sein.
Rückgabewert
Gibt TRUE zurück, wenn dies erfolgreich ist, oder FALSE andernfalls. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten. Mögliche Fehlerwerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Der vom Quellnamen angegebene Cacheeintrag wird im Cachespeicher nicht gefunden. |
|
Die Größe des lpCacheEntryInfo- Puffers, wie durch lpdwCacheEntryInfoBufferSize- angegeben, reicht nicht aus, um alle Informationen zu enthalten. Der in lpdwCacheEntryInfoBufferSize zurückgegebene Wert gibt die zum Abrufen aller Informationen erforderliche Puffergröße an. |
Bemerkungen
RetrieveUrlCacheEntryFile- keine URL-Analyse durchführt, sodass eine URL mit einem Anker (#) nicht im Cache gefunden wird, auch wenn die Ressource zwischengespeichert wird. Wenn beispielsweise die URL übergeben http://adatum.com/example.htm#sample wurde, würde die Funktion ERROR_FILE_NOT_FOUND zurückgeben, auch wenn sich http://adatum.com/example.htm im Cache befindet.
Die Datei ist für den Aufrufer gesperrt, wenn sie abgerufen wird; der Aufrufer sollte die Datei entsperren, nachdem der Aufrufer mit der Datei fertig gestellt wurde. Der Cache-Manager entsperrt die Dateien automatisch nach einem bestimmten Intervall. Während die Datei gesperrt ist, entfernt der Cache-Manager die Datei nicht aus dem Cache. Es ist wichtig zu beachten, dass diese Funktion je nach interner Implementierung des Caches möglicherweise oder nicht effizient ausgeführt wird. Wenn die URL-Daten beispielsweise in einer gepackten Datei gespeichert werden, die Daten für andere URLs enthält, wird im Cache eine Kopie der Daten in einer Datei in einem temporären Verzeichnis gespeichert, das vom Cache verwaltet wird. Der Cache löscht die Kopie schließlich. Es wird empfohlen, diese Funktion nur in Situationen zu verwenden, in denen ein Dateiname zum Starten einer Anwendung erforderlich ist. RetrieveUrlCacheEntryStream- und zugeordnete Datenstromfunktionen sollten in den meisten Fällen verwendet werden.
Wie alle anderen Aspekte der WinINet-API kann diese Funktion nicht innerhalb von DllMain oder den Konstruktoren und Destruktoren globaler Objekte sicher aufgerufen werden.
Anmerkung
Der wininet.h-Header definiert RetrieveUrlCacheEntryFile als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | wininet.h |
Library | Wininet.lib |
DLL- | Wininet.dll |