Freigeben über


RetrieveUrlCacheEntryStreamA-Funktion (wininet.h)

Bietet die effizienteste und implementierungsunabhängige Möglichkeit für den Zugriff auf die Cachedaten.

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

Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Quellnamen des Cacheeintrags enthält. Dies muss ein eindeutiger Name sein. Die Namenszeichenfolge darf keine Escapezeichen enthalten.

[out] lpCacheEntryInfo

Zeigen Sie auf eine INTERNET_CACHE_ENTRY_INFO Struktur, die Informationen zum Cacheeintrag empfängt.

[in, out] lpcbCacheEntryInfo

Zeigen Sie auf eine Variable, die die Größe des lpCacheEntryInfo- Puffers in Byte angibt. Wenn die Funktion zurückgegeben wird, empfängt die Variable die Anzahl der in den Puffer kopierten Bytes oder die erforderliche Größe des Puffers in Bytes. Beachten Sie, dass diese Puffergröße sowohl die INTERNET_CACHE_ENTRY_INFO Struktur als auch die zugeordneten Zeichenfolgen berücksichtigen muss, die unmittelbar darauf gespeichert werden.

[in] fRandomRead

Gibt an, ob der Datenstrom für den zufälligen Zugriff geöffnet ist. Legen Sie das Kennzeichen auf TRUE- fest, um den Datenstrom 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 einen gültigen Handle für die Verwendung in der ReadUrlCacheEntryStream- und UnlockUrlCacheEntryStream Funktionen zurück.

Wenn die Funktion fehlschlägt, wird NULL-zurückgegeben. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Mögliche Fehlerwerte sind:

Rückgabecode Beschreibung
ERROR_FILE_NOT_FOUND
Der vom Quellnamen angegebene Cacheeintrag wird im Cachespeicher nicht gefunden.
ERROR_INSUFFICIENT_BUFFER
Die Größe lpCacheEntryInfo wie durch lpdwCacheEntryInfoBufferSize angegeben ist nicht ausreichend, um alle Informationen zu enthalten. Der in lpdwCacheEntryInfoBufferSize zurückgegebene Wert gibt die für alle Informationen erforderliche Puffergröße an.

Bemerkungen

RetrieveUrlCacheEntryStream 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 http://adatum.com/example.htm#sample übergeben wird, gibt die Funktion ERROR_FILE_NOT_FOUND zurück, auch wenn http://adatum.com/example.htm sich im Cache befindet.

Cacheclients, 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 innerhalb von DllMain oder den Konstruktoren und Destruktoren globaler Objekte sicher aufgerufen werden.

Hinweis WinINet keine Serverimplementierungen unterstützt. Darüber hinaus sollte sie nicht von einem Dienst verwendet werden. Verwenden Sie für Serverimplementierungen oder -dienste Microsoft Windows HTTP Services (WinHTTP).
 

Anmerkung

Der wininet.h-Header definiert RetrieveUrlCacheEntryStream 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

Siehe auch

Zwischenspeichern

WinINet-Funktionen