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 |
---|---|
|
Verwendet den Standardport für FTP-Server (Port 21). |
|
Verwendet den Standardport für Gopher-Server (Port 70).
Hinweis Windows XP und Windows Server 2003 R2 und früher.
|
|
Verwendet den Standardport für HTTP-Server (Port 80). |
|
Verwendet den Standardport für HTTPS-Server (Secure Hypertext Transfer Protocol) (Port 443). |
|
Verwendet den Standardport für SOCKEN-Firewallserver (Port 1080). |
|
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 |
---|---|
|
FTP-Dienst. |
|
Gopher-Dienst.
Hinweis Windows XP und Windows Server 2003 R2 und früher.
|
|
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.
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 |