Freigeben über


InternetConnectA-Funktion (wininet.h)

Öffnet eine FTP-Sitzung (File Transfer Protocol) oder HTTP-Sitzung für einen bestimmten Standort.

Syntax

HINTERNET InternetConnectA(
  [in] HINTERNET     hInternet,
  [in] LPCSTR        lpszServerName,
  [in] INTERNET_PORT nServerPort,
  [in] LPCSTR        lpszUserName,
  [in] LPCSTR        lpszPassword,
  [in] DWORD         dwService,
  [in] DWORD         dwFlags,
  [in] DWORD_PTR     dwContext
);

Parameter

[in] hInternet

Behandeln, das von einem vorherigen Aufruf von InternetOpenzurückgegeben wird.

[in] lpszServerName

Zeigen Sie auf eine NULL--terminated-Zeichenfolge, die den Hostnamen eines Internetservers angibt. Alternativ kann die Zeichenfolge die IP-Nummer der Website im ASCII-Dezimalformat (z. B. 11.0.1.45) enthalten.

[in] nServerPort

Tcp/IP-Port (Transmission Control Protocol/ Internet Protocol) auf dem Server. Diese Flags legen nur den verwendeten Port fest. Der Dienst wird durch den Wert dwService-festgelegt. Dieser Parameter kann einer der folgenden Werte sein:

Wert Bedeutung
INTERNET_DEFAULT_FTP_PORT
Verwendet den Standardport für FTP-Server (Port 21).
INTERNET_DEFAULT_GOPHER_PORT
Verwendet den Standardport für Gopher-Server (Port 70).
Hinweis Windows XP und Windows Server 2003 R2 und früher.
 
INTERNET_DEFAULT_HTTP_PORT
Verwendet den Standardport für HTTP-Server (Port 80).
INTERNET_DEFAULT_HTTPS_PORT
Verwendet den Standardport für HTTPS-Server (Secure Hypertext Transfer Protocol) (Port 443).
INTERNET_DEFAULT_SOCKS_PORT
Verwendet den Standardport für SOCKEN-Firewallserver (Port 1080).
INTERNET_INVALID_PORT_NUMBER
Verwendet den Standardport für den von dwServiceangegebenen Dienst.

[in] lpszUserName

Zeigen Sie auf eine NULL--terminated-Zeichenfolge, die den Namen des benutzers angibt, bei dem sich anmelden soll. Wenn dieser Parameter NULL-ist, verwendet die Funktion einen geeigneten Standardwert. Für das FTP-Protokoll ist der Standardwert "anonym".

[in] lpszPassword

Zeigen Sie auf eine null--terminated-Zeichenfolge, die das Kennwort enthält, das zum Anmelden verwendet werden soll. Wenn sowohl lpszPassword als auch lpszUsernameNULL-sind, verwendet die Funktion das Standardkennwort "anonym". Bei FTP ist das Standardkennwort der E-Mail-Name des Benutzers. Wenn lpszPassword-NULL-ist, aber lpszUsername nicht NULL-ist, verwendet die Funktion ein leeres Kennwort.

[in] dwService

Diensttyp für den Zugriff. Dieser Parameter kann einer der folgenden Werte sein:

Wert Bedeutung
INTERNET_SERVICE_FTP
FTP-Dienst.
INTERNET_SERVICE_GOPHER
Gopher-Dienst.
Hinweis Windows XP und Windows Server 2003 R2 und früher.
 
INTERNET_SERVICE_HTTP
HTTP-Dienst.

[in] dwFlags

Optionen, die für den verwendeten Dienst spezifisch sind. Wenn
dwService- INTERNET_SERVICE_FTP ist, bewirkt INTERNET_FLAG_PASSIVE, dass die Anwendung passive FTP-Semantik verwendet.

[in] dwContext

Zeiger auf eine Variable, die einen anwendungsdefinierten Wert enthält, der verwendet wird, um den Anwendungskontext für das zurückgegebene Handle in Rückrufen zu identifizieren.

Rückgabewert

Gibt ein gültiges Handle an die Sitzung zurück, wenn die Verbindung erfolgreich ist, oder NULL- andernfalls. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen abzurufen. Eine Anwendung kann auch InternetGetLastResponseInfo- verwenden, um zu bestimmen, warum der Zugriff auf den Dienst verweigert wurde.

Bemerkungen

In der folgenden Tabelle wird das Verhalten für die vier möglichen Einstellungen von lpszUsername und lpszPasswordbeschrieben.

lpszUsername lpszPassword- Benutzername, der an den FTP-Server gesendet wird An FTP-Server gesendetes Kennwort
NULL- NULL- "anonym" E-Mail-Name des Benutzers
Nicht-NULL- Zeichenfolge NULL- lpszUsername ""
NULL- Nicht-NULL- Zeichenfolge FEHLER FEHLER
Nicht-NULL- Zeichenfolge Nicht-NULL- Zeichenfolge lpszUsername lpszPassword-
 

Für FTP-Standorte stellt InternetConnect tatsächlich eine Verbindung mit dem Server her; für andere wird die tatsächliche Verbindung erst hergestellt, wenn die Anwendung eine bestimmte Transaktion anfordert.

Für maximale Effizienz sollten Anwendungen, die die HTTP-Protokolle verwenden, versuchen, Aufrufe von InternetConnect- zu minimieren und diese Funktion für jede vom Benutzer angeforderte Transaktion zu vermeiden. Eine Möglichkeit, dies zu erreichen, besteht darin, einen kleinen Cache von Handles beizubehalten, die von InternetConnect-zurückgegeben werden; Wenn der Benutzer eine Anforderung an einen zuvor aufgerufenen Server sendet, ist dieser Sitzungshandle weiterhin verfügbar.

Nachdem die aufrufende Anwendung die verwendung des HINTERNET- von InternetConnect-zurückgegebenen Handle abgeschlossen hat, muss sie mithilfe der InternetCloseHandle--Funktion geschlossen werden.

Hinweis Wenn eine Anforderung asynchronen Modus gesendet wird (der dwFlags Parameter von InternetOpen specifies INTERNET_FLAG_ASYNC), und der dwContext Parameter null (INTERNET_NO_CALLBACK), wird die Rückruffunktion, die mit InternetSetStatusCallback- für das Verbindungshandle festgelegt ist, nicht aufgerufen, der Aufruf wird jedoch weiterhin im asynchronen Modus ausgeführt.

Beispiele für die Verwendung von InternetConnect finden Sie in den folgenden Themen.

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

Aktivieren von Internetfunktionen

WinINet-Funktionen