Share via


InternetOpenW-Funktion (wininet.h)

Initialisiert die Verwendung der WinINet-Funktionen einer Anwendung.

Syntax

HINTERNET InternetOpenW(
  [in] LPCWSTR lpszAgent,
  [in] DWORD   dwAccessType,
  [in] LPCWSTR lpszProxy,
  [in] LPCWSTR lpszProxyBypass,
  [in] DWORD   dwFlags
);

Parameter

[in] lpszAgent

Zeiger auf eine NULL-Zeichenfolge, die den Namen der Anwendung oder Entität angibt, die die WinINet-Funktionen aufruft. Dieser Name wird als Benutzer-Agent im HTTP-Protokoll verwendet.

[in] dwAccessType

Erforderliche Zugriffsart. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
INTERNET_OPEN_TYPE_DIRECT
Löst alle Hostnamen lokal auf.
INTERNET_OPEN_TYPE_PRECONFIG
Ruft den Proxy oder die direkte Konfiguration aus der Registrierung ab.
INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY
Ruft den Proxy oder die direkte Konfiguration aus der Registrierung ab und verhindert die Verwendung einer Startdatei von Microsoft JScript oder Internet Setup (INS).
INTERNET_OPEN_TYPE_PROXY
Übergibt Anforderungen an den Proxy, es sei denn, es wird eine Proxyumgehungsliste angegeben und der zu auflösende Name umgeht den Proxy. In diesem Fall verwendet die Funktion INTERNET_OPEN_TYPE_DIRECT.

[in] lpszProxy

Zeiger auf eine null-beendete Zeichenfolge, die den Namen der Proxyserver angibt, die verwendet werden sollen, wenn der Proxyzugriff angegeben wird, indem dwAccessType auf INTERNET_OPEN_TYPE_PROXY festgelegt wird. Verwenden Sie keine leere Zeichenfolge, da InternetOpen sie als Proxynamen verwendet. Die WinINet-Funktionen erkennen nur CERN-Typproxys (nur HTTP) und das TIS-FTP-Gateway (nur FTP). Wenn Microsoft Internet Explorer installiert ist, unterstützen diese Funktionen auch SOCKS-Proxys. FTP-Anforderungen können über einen CERN-Typproxy erfolgen, indem Sie sie entweder in eine HTTP-Anforderung ändern oder InternetOpenUrl verwenden. Wenn dwAccessType nicht auf INTERNET_OPEN_TYPE_PROXY festgelegt ist, wird dieser Parameter ignoriert und sollte NULL sein. Weitere Informationen zum Auflisten von Proxyservern finden Sie im Abschnitt Auflisten von Proxyservern unter Aktivieren der Internetfunktionalität.

[in] lpszProxyBypass

Zeiger auf eine NULL-Zeichenfolge, die eine optionale Liste von Hostnamen oder IP-Adressen oder beides angibt, die nicht über den Proxy weitergeleitet werden sollte, wenn dwAccessType auf INTERNET_OPEN_TYPE_PROXY festgelegt ist. Die Liste kann Wildcards enthalten. Verwenden Sie keine leere Zeichenfolge, da InternetOpen sie als Proxyumgehungsliste verwendet. Wenn dieser Parameter das "<lokale>" Makro angibt, umgeht die Funktion den Proxy für jeden Hostnamen, der keinen Punkt enthält.

Standardmäßig umgeht WinINet den Proxy für Anforderungen, die die Hostnamen "localhost", "loopback", "127.0.0.1" oder "[::1]" verwenden. Dieses Verhalten ist vorhanden, da ein Remoteproxyserver diese Adressen in der Regel nicht ordnungsgemäß auflöst. Internet Explorer 9: Sie können den lokalen Computer mithilfe des Makros "<-loopback>" aus der Proxyumgehungsliste entfernen.

Wenn dwAccessType nicht auf INTERNET_OPEN_TYPE_PROXY festgelegt ist, wird dieser Parameter ignoriert und sollte NULL sein.

[in] dwFlags

Optionen. Für diesen Parameter ist eine Kombination der folgenden Werte gültig.

Wert Bedeutung
INTERNET_FLAG_ASYNC
Führt nur asynchrone Anforderungen für Handles aus, die vom von dieser Funktion zurückgegebenen Handle abstammen.
INTERNET_FLAG_FROM_CACHE
Stellt keine Netzwerkanforderungen. Alle Entitäten werden aus dem Cache zurückgegeben. Wenn sich das angeforderte Element nicht im Cache befindet, wird ein geeigneter Fehler wie ERROR_FILE_NOT_FOUND zurückgegeben.
INTERNET_FLAG_OFFLINE
Identisch mit INTERNET_FLAG_FROM_CACHE. Stellt keine Netzwerkanforderungen. Alle Entitäten werden aus dem Cache zurückgegeben. Wenn sich das angeforderte Element nicht im Cache befindet, wird ein geeigneter Fehler wie ERROR_FILE_NOT_FOUND zurückgegeben.

Rückgabewert

Gibt einen gültigen Handle zurück, den die Anwendung an nachfolgende WinINet-Funktionen übergibt. Wenn InternetOpen fehlschlägt, wird NULL zurückgegeben. Um eine bestimmte Fehlermeldung abzurufen, rufen Sie GetLastError auf.

Hinweise

InternetOpen ist die erste WinINet-Funktion, die von einer Anwendung aufgerufen wird. Sie weist die Internet-DLL an, interne Datenstrukturen zu initialisieren und sich auf zukünftige Aufrufe der Anwendung vorzubereiten. Wenn die Anwendung die Verwendung der Internetfunktionen abgeschlossen hat, sollte sie InternetCloseHandle aufrufen, um das Handle und alle zugehörigen Ressourcen freizugeben.

Die Anwendung kann eine beliebige Anzahl von Aufrufen von InternetOpen tätigen, obwohl normalerweise ein einzelner Aufruf ausreicht. Die Anwendung muss möglicherweise separate Verhaltensweisen für jede InternetOpen-instance definieren, z. B. verschiedene Proxyserver, die für jeden konfiguriert sind.

Nachdem die aufrufende Anwendung das von InternetOpen zurückgegebene HINTERNET-Handle verwendet hat, muss es mit der InternetCloseHandle-Funktion geschlossen werden.

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 InternetOpen 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 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

Anforderung Wert
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

Aktivieren der Internetfunktionalität

WinINet-Funktionen