Share via


InternetOpenA-Funktion (wininet.h)

Initialisiert die Verwendung der WinINet-Funktionen einer Anwendung.

Syntax

HINTERNET InternetOpenA(
  [in] LPCSTR lpszAgent,
  [in] DWORD  dwAccessType,
  [in] LPCSTR lpszProxy,
  [in] LPCSTR lpszProxyBypass,
  [in] DWORD  dwFlags
);

Parameter

[in] lpszAgent

Zeiger auf eine NULL-endende 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

Typ des erforderlichen Zugriffs. 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-endende Zeichenfolge, die den Namen der Proxyserver angibt, die verwendet werden sollen, wenn der Proxyzugriff durch Festlegen von dwAccessType auf INTERNET_OPEN_TYPE_PROXY angegeben 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 entweder in eine HTTP-Anforderung oder mithilfe von InternetOpenUrl geändert werden. 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-endende Zeichenfolge, die eine optionale Liste von Hostnamen oder IP-Adressen oder beides angibt, die nicht über den Proxy weitergeleitet werden sollen, 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 liegt vor, weil 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 zurückgegeben, z. B. ERROR_FILE_NOT_FOUND.
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 zurückgegeben, z. B. ERROR_FILE_NOT_FOUND.

Rückgabewert

Gibt ein gültiges Handle zurück, das die Anwendung an nachfolgende WinINet-Funktionen übergibt. Wenn InternetOpen fehlschlägt, wird NULL zurückgegeben. Rufen Sie GetLastError auf, um eine bestimmte Fehlermeldung abzurufen.

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 an InternetOpen tätigen, obwohl normalerweise ein einzelner Anruf ausreicht. Die Anwendung muss möglicherweise separate Verhaltensweisen für jede InternetOpen-instance definieren, z. B. für jeden einzelnen konfigurierte Proxyserver.

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 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 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
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 von Internetfunktionen

WinINet-Funktionen