Share via


RetrieveUrlCacheEntryStreamW-Funktion (wininet.h)

Bietet die effizienteste und implementierungsunabhängige Möglichkeit, auf die Cachedaten zuzugreifen.

Syntax

HANDLE RetrieveUrlCacheEntryStreamW(
  [in]      LPCWSTR                      lpszUrlName,
  [out]     LPINTERNET_CACHE_ENTRY_INFOW 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
ERROR_FILE_NOT_FOUND
Der durch den Quellnamen angegebene Cacheeintrag wird im Cachespeicher nicht gefunden.
ERROR_INSUFFICIENT_BUFFER
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 WinINet unterstützt keine Serverimplementierungen. Darüber hinaus sollte es nicht von einem Dienst aus verwendet werden. Verwenden Sie für Serverimplementierungen oder Dienste Microsoft Windows HTTP Services (WinHTTP).
 

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

Weitere Informationen

Zwischenspeichern

WinINet-Funktionen