Freigeben über


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

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

[out] lpRemoteName

Zeigen Sie auf eine mit 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 lpRemoteName Parameter in Zeichen verweist. Wenn die Funktion fehlschlägt, da 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 durch 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 stehen bei nachfolgenden Aufrufen zur Verfügung.
ERROR_CONNECTION_UNAVAIL
Das Gerät ist derzeit nicht verbunden, es handelt sich jedoch 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 zum Abrufen einer Beschreibung des Fehlers die WNetGetLastError--Funktion auf.
ERROR_NO_NET_OR_BAD_PATH
Keiner der Anbieter erkennt den lokalen Namen als Verbindung. Das Netzwerk ist jedoch nicht für mindestens einen Anbieter verfügbar, zu dem die Verbindung gehören kann.

Bemerkungen

Wenn die Netzwerkverbindung über das Microsoft LAN Manager-Netzwerk hergestellt wurde und die aufrufende Anwendung in einer anderen Anmeldesitzung ausgeführt wird als die Anwendung, die die Verbindung hergestellt hat, tritt beim Aufruf der WNetGetConnection-Funktion für das zugeordnete lokale Gerät ein Fehler auf. Die Funktion schlägt mit ERROR_NOT_CONNECTED oder ERROR_CONNECTION_UNAVAIL fehl. Dies liegt daran, dass eine Verbindung, die mit Microsoft LAN Manager hergestellt wird, nur für Anwendungen sichtbar ist, die in derselben Anmeldesitzung ausgeführt werden wie die Anwendung, die die Verbindung hergestellt hat. (Um zu verhindern, dass der Aufruf von WNetGetConnection fehlschlägt, reicht es nicht aus, damit 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 die lokal eindeutigen Bezeichnersoder LUID, die einer Anmeldesitzung zugeordnet ist.) Dies kann sich auf Anwendungen auswirken, die eine der WNet-Funktionen aufrufen, um einen Netzlaufwerkbuchstaben unter einer Benutzeranmeldung zu erstellen, aber abfragen Sie vorhandene Netzlaufwerkbuchstaben unter einer anderen Benutzeranmeldung. Ein Beispiel für diese Situation könnte sein, wenn die zweite Anmeldung eines Benutzers innerhalb einer Anmeldesitzung erstellt wird, z. B. durch Aufrufen der CreateProcessAsUser--Funktion, und die zweite Anmeldung führt eine Anwendung aus, 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 noch vorhanden ist und das Beispiel auf jede Anmeldesitzung angewendet werden kann, einschließlich einer Terminaldienste-Sitzung. Weitere Informationen finden Sie unter Definieren eines MS-DOS Gerätenamens.

Beispiele

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

Anmerkung

Der winnetwk.h-Header definiert WNetGetConnection als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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- winnetwk.h
Library Mpr.lib
DLL- Mpr.dll

Siehe auch

WNetAddConnection2-

WNetAddConnection3-

WNetGetUser-

übersicht über Windows Networking (WNet)

Windows-Netzwerkfunktionen