RetrieveUrlCacheEntryStreamA-Funktion (wininet.h)
Bietet die effizienteste und implementierungsunabhängige Möglichkeit, auf die Cachedaten zuzugreifen.
Syntax
HANDLE RetrieveUrlCacheEntryStreamA(
[in] LPCSTR lpszUrlName,
[out] LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
[in, out] LPDWORD lpcbCacheEntryInfo,
[in] BOOL fRandomRead,
[in] DWORD dwReserved
);
Parameter
[in] lpszUrlName
Zeiger auf eine NULL-Zeichenfolge, die den Quellnamen des Cacheeintrags enthält. Dieser Name muss eindeutig sein. Die Namenszeichenfolge sollte keine Escapezeichen enthalten.
[out] lpCacheEntryInfo
Zeiger auf eine INTERNET_CACHE_ENTRY_INFO-Struktur , die Informationen zum Cacheeintrag empfängt.
[in, out] lpcbCacheEntryInfo
Zeiger auf eine Variable, die die Größe des puffers lpCacheEntryInfo in Bytes angibt. Wenn die Funktion zurückgibt, empfängt die Variable die Anzahl der Bytes, die in den Puffer kopiert wurden, oder die erforderliche Größe (in Bytes) des Puffers. Beachten Sie, dass diese Puffergröße sowohl die INTERNET_CACHE_ENTRY_INFO-Struktur als auch die zugeordneten Zeichenfolgen berücksichtigen muss, die unmittelbar danach gespeichert werden.
[in] fRandomRead
Gibt an, ob der Stream für den zufälligen Zugriff geöffnet ist. Legen Sie das Flag auf TRUE fest, um den Stream für den zufälligen Zugriff zu öffnen.
[in] dwReserved
Dieser Parameter ist reserviert und muss 0 sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion ein gültiges Handle für die Verwendung in den Funktionen ReadUrlCacheEntryStream und UnlockUrlCacheEntryStream zurück.
Wenn bei der Funktion ein Fehler auftritt, gibt sie NULL zurück. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Mögliche Fehlerwerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Der durch den Quellnamen angegebene Cacheeintrag wird im Cachespeicher nicht gefunden. |
|
Die von lpdwCacheEntryInfo angegebene Größe von lpCacheEntryInfoBufferSize reicht nicht aus, um alle Informationen zu enthalten. Der in lpdwCacheEntryInfoBufferSize zurückgegebene Wert gibt die Puffergröße an, die erforderlich ist, um alle Informationen zu enthalten. |
Hinweise
RetrieveUrlCacheEntryStream führt keine URL-Analyse durch, sodass eine URL mit einem Anker (#) nicht im Cache gefunden wird, auch wenn die Ressource zwischengespeichert wird. Wenn die URL http://adatum.com/example.htm#sample beispielsweise übergeben wird, gibt die Funktion ERROR_FILE_NOT_FOUND zurück, auch wenn http://adatum.com/example.htm sich im Cache befindet.
Zwischenspeicherclients, die keine URL-Daten in Form einer Datei benötigen, sollten diese Funktion verwenden, um auf die Daten für eine bestimmte URL zuzugreifen.
Wie alle anderen Aspekte der WinINet-API kann diese Funktion nicht sicher innerhalb von DllMain oder den Konstruktoren und Destruktoren globaler Objekte aufgerufen werden.
Hinweis
Der wininet.h-Header definiert RetrieveUrlCacheEntryStream als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wininet.h |
Bibliothek | Wininet.lib |
DLL | Wininet.dll |