WNetGetConnectionA-Funktion (winnetwk.h)

Die WNetGetConnection-Funktion ruft den Namen der Netzwerkressource ab, die einem lokalen Gerät zugeordnet ist.

Syntax

DWORD WNetGetConnectionA(
  [in]      LPCSTR  lpLocalName,
  [out]     LPSTR   lpRemoteName,
  [in, out] LPDWORD lpnLength
);

Parameter

[in] lpLocalName

Zeiger auf eine konstante NULL-Zeichenfolge, die den Namen des lokalen Geräts angibt, für das der Netzwerkname abgerufen werden soll.

[out] lpRemoteName

Zeiger auf eine null-beendete Zeichenfolge, die den Remotenamen empfängt, der zum Herstellen der Verbindung verwendet wird.

[in, out] lpnLength

Zeiger auf eine Variable, die die Größe des Puffers angibt, auf den der parameter lpRemoteName in Zeichen verweist. Wenn die Funktion fehlschlägt, weil der Puffer nicht groß genug ist, gibt dieser Parameter die erforderliche Puffergröße zurück.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Systemfehlercode, z. B. einer der folgenden Werte.

Rückgabecode Beschreibung
ERROR_BAD_DEVICE
Die Zeichenfolge, auf die der lpLocalName-Parameter verweist, ist ungültig.
ERROR_NOT_CONNECTED
Das von lpLocalName angegebene Gerät ist kein umgeleitetes Gerät. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
ERROR_MORE_DATA
Der Puffer ist zu klein. Der lpnLength-Parameter verweist auf eine Variable, die die erforderliche Puffergröße enthält. Weitere Einträge sind bei nachfolgenden Aufrufen verfügbar.
ERROR_CONNECTION_UNAVAIL
Das Gerät ist derzeit nicht verbunden, aber es handelt sich um eine dauerhafte Verbindung. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
ERROR_NO_NETWORK
Das Netzwerk ist nicht verfügbar.
ERROR_EXTENDED_ERROR
Es ist ein netzwerkspezifischer Fehler aufgetreten. Rufen Sie die WNetGetLastError-Funktion auf, um eine Beschreibung des Fehlers zu erhalten.
ERROR_NO_NET_OR_BAD_PATH
Keiner der Anbieter erkennt, dass der lokale Name eine Verbindung aufweist. Das Netzwerk ist jedoch nicht für mindestens einen Anbieter verfügbar, zu dem die Verbindung möglicherweise gehört.

Hinweise

Wenn die Netzwerkverbindung über das Microsoft LAN Manager-Netzwerk hergestellt wurde und die aufrufende Anwendung in einer anderen Anmeldesitzung als die Anwendung ausgeführt wird, die die Verbindung hergestellt hat, schlägt ein Aufruf der WNetGetConnection-Funktion für das zugeordnete lokale Gerät fehl. Die Funktion schlägt mit ERROR_NOT_CONNECTED oder ERROR_CONNECTION_UNAVAIL fehl. Dies liegt daran, dass eine mithilfe von Microsoft LAN Manager hergestellte Verbindung nur für Anwendungen sichtbar ist, die in derselben Anmeldesitzung wie die Anwendung ausgeführt werden, die die Verbindung hergestellt hat. (Um zu verhindern, dass der Aufruf von WNetGetConnection fehlschlägt, reicht es nicht aus, dass die Anwendung in dem Benutzerkonto ausgeführt wird, das die Verbindung erstellt hat.)

Windows Server 2003 und Windows XP: Diese Funktion fragt die MS-DOS-Gerätenamespaces ab, die einer Anmeldesitzung zugeordnet sind, da MS-DOS-Geräte durch AuthenticationID identifiziert werden. (Eine AuthenticationID ist der lokal eindeutige Bezeichner oder LUID, der einer Anmeldesitzung zugeordnet ist.) Dies kann sich auf Anwendungen auswirken, die eine der WNet-Funktionen aufrufen, um einen Netzwerklaufwerkbuchstaben unter einer Benutzeranmeldung zu erstellen, aber nach vorhandenen Netzlaufwerkbuchstaben unter einer anderen Benutzeranmeldung abfragen. Ein Beispiel für diese Situation kann sein, wenn die zweite Anmeldung eines Benutzers innerhalb einer Anmeldesitzung erstellt wird, z. B. durch Aufrufen der CreateProcessAsUser-Funktion , und die zweite Anmeldung eine Anwendung ausführt, die die GetLogicalDrives-Funktion aufruft . GetLogicalDrives gibt keine Netzwerklaufwerkbuchstaben zurück, die von einer WNet-Funktion unter der ersten Anmeldung erstellt wurden. Beachten Sie, dass im vorherigen Beispiel die erste Anmeldesitzung weiterhin vorhanden ist und das Beispiel auf jede Anmeldesitzung, einschließlich einer Terminaldienstesitzung, angewendet werden kann. Weitere Informationen finden Sie unter Definieren eines MS-DOS-Gerätenamens.

Beispiele

Ein Codebeispiel, das veranschaulicht, wie Sie die WNetGetConnection-Funktion verwenden, um den Namen der Netzwerkressource abzurufen, die einem lokalen Gerät zugeordnet ist, finden Sie unter Abrufen des Verbindungsnamens.

Hinweis

Der winnetwk.h-Header definiert WNetGetConnection 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

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winnetwk.h
Bibliothek Mpr.lib
DLL Mpr.dll

Weitere Informationen

WNetAddConnection2

WNetAddConnection3

WNetGetUser

Übersicht über Windows-Netzwerke (WNet)

Windows-Netzwerkfunktionen