Freigeben über


NPAddConnection3-Funktion (npapi.h)

Die NPAddConnection3-Funktion verbindet ein lokales Gerät mit einer Netzwerkressource. Er führt denselben Vorgang wie NPAddConnection aus, ermöglicht ihnen aber zusätzlich die Angabe eines Handles für das Fenster, das über alle resultierenden Dialogfelder verfügen soll, und angeben, wie die Verbindung hergestellt werden soll.

Syntax

DWORD NPAddConnection3(
  [in] HWND           hwndOwner,
  [in] LPNETRESOURCEW lpNetResource,
  [in] LPWSTR         lpPassword,
  [in] LPWSTR         lpUserName,
  [in] DWORD          dwFlags
);

Die Parameter

[in] hwndOwner

Ein Handle zu einem Fenster, das nachrichten- oder Dialogfelder besitzen soll. Dieses Handle ist nur gültig, wenn CONNECT_INTERACTIVE in dwFlags festgelegt ist, und das Handle sollte nur verwendet werden, um Dialogfelder zu erstellen, die für die Authentifizierung erforderlich sind.

[in] lpNetResource

Zeiger auf eine NETRESOURCE-Struktur , die die Netzwerkressource angibt, mit der eine Verbindung hergestellt werden soll. Die folgenden Felder müssen beim Herstellen einer Verbindung festgelegt werden. Die anderen werden ignoriert.

Wert Bedeutung
lpRemoteName
Gibt die Netzwerkressource an, mit der eine Verbindung hergestellt werden soll.
lpLocalName
Gibt den Namen eines lokalen Geräts an, das umgeleitet werden soll, z. B. "F:" oder "LPT1". Dieser Name wird als Nicht-Groß-/Kleinschreibung behandelt und kann die leere Zeichenfolge oder der NULL-Zeiger sein. Wenn die Zeichenfolge leer oder NULL ist, stellt die Funktion eine Verbindung mit der Netzwerkressource ohne Umleitung hergestellt.
dwType
Gibt den Typ der Ressource an, mit der eine Verbindung hergestellt werden soll. Dies kann RESOURCETYPE_DISK, RESOURCETYPE_PRINT oder RESOURCETYPE_ANY sein. Der Wert RESOURCETYPE_ANY wird verwendet, wenn der Aufrufer keine Sorge hat oder nicht weiß.

[in] lpPassword

Zeigen Sie auf das Kennwort, das beim Herstellen der Verbindung verwendet werden soll, normalerweise das Kennwort, das lpUserName zugeordnet ist. Der NULL-Wert kann übergeben werden, damit die Funktion das Standardkennwort verwendet. Eine leere Zeichenfolge kann verwendet werden, um kein Kennwort anzugeben. Wenn Sie das Kennwort verwendet haben, löschen Sie es aus dem Speicher, indem Sie die SecureZeroMemory-Funktion aufrufen. Weitere Informationen zum Schützen des Kennworts finden Sie unter "Behandeln von Kennwörtern".

[in] lpUserName

Zeigen Sie auf den Benutzernamen, der zum Herstellen der Verbindung verwendet wird. Wenn NULL, wird der Standardbenutzername (der des aktuell angemeldeten Benutzers) angewendet. Dies wird verwendet, wenn der Benutzer eine Verbindung mit einer Ressource herstellen möchte, aber über einen anderen zugewiesenen Benutzernamen oder ein anderes Konto für diese Ressource verfügt.

[in] dwFlags

Eine beliebige Kombination der folgenden Werte. Der Anbieter sollte alle anderen DwFlags ignorieren, die möglicherweise festgelegt werden.

Wert Bedeutung
CONNECT_TEMPORARY
Die Verbindung wird für Browserzwecke eingerichtet und wird wahrscheinlich schnell freigegeben.
CONNECT_INTERACTIVE
Die Verbindung kann zu Authentifizierungszwecken mit dem Benutzer interagieren.
CONNECT_PROMPT
Verwenden Sie keine Standardwerte für Benutzernamen oder Kennwörter, ohne dem Benutzer die Möglichkeit zu bieten, eine Alternative zu liefern. Dieses Kennzeichen ist nur gültig, wenn CONNECT_INTERACTIVE ebenfalls festgelegt ist.
CONNECT_DEFERRED
Führen Sie keine Remotenetzwerkvorgänge aus, um die Netzwerkverbindung herzustellen; Stellen Sie stattdessen die Verbindung in einem "getrennten Zustand" wieder her. Versuchen Sie die tatsächliche Verbindung nur, wenn einige Prozesse versuchen, die Verbindung zu verwenden. Wenn dieses Bit festgelegt ist, muss der Aufrufer lpLocalName bereitstellen.

Dieses Feature wird verwendet, um die Wiederherstellung von Netzwerkverbindungen bei der Anmeldung zu beschleunigen. Ein Anbieter, der es unterstützt, sollte das WNNC_CON_DEFERRED Bit in NPGetCaps zurückgeben.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird WN_SUCCESS zurückgegeben. Andernfalls wird ein Fehlercode zurückgegeben. Dies kann eine der folgenden Sein:

Rückgabecode Description
WN_BAD_NETNAME
Der Wert des lpRemoteName-Members der an lpNetResource übergebenen Struktur ist für diesen Anbieter ungültig.
WN_BAD_LOCALNAME
Der Wert des lpLocalName-Members der an lpNetResource übergebenen Struktur ist ungültig.
WN_BAD_PASSWORD
Das angegebene Kennwort ist ungültig.
WN_ALREADY_CONNECTED
Das im lpLocalName-Element der an lpNetResource übergebene Struktur ist bereits verbunden.
WN_ACCESS_DENIED
Die Berechtigung zum Herstellen der Verbindung wird verweigert.
WN_NO_NETWORK
Das Netzwerk ist nicht vorhanden.
WN_CANCEL
Der Versuch, die Verbindung herzustellen, wurde vom Benutzer mithilfe eines vom Anbieter angezeigten Dialogfelds abgebrochen.

Bemerkungen

Wenn ein Anbieter ein Kennwortdialogfeld anzeigt, da die angegebenen Anmeldeinformationen nicht ausreichend sind und das CONNECT_INTERACTIVE Flag festgelegt ist, gibt der Anbieter möglicherweise keinen Fehlercode für Zugriffsverweigerung zurück (einer von ERROR_LOGON_FAILURE, WN_BAD_PASSWORD, WN_ACCESS_DENIED). Das vorgeschlagene Verhalten dient dem Anbieter, den Benutzer weiterhin um gültige Anmeldeinformationen zu bitten, bis der Benutzer sie bereitstellt oder eine Schaltfläche "Abbrechen" drückt. Wenn NPAddConnection3 aufgerufen wird, um die während der WNetConnectionDialog - oder WNetConnectionDialog1-Funktion angeforderte Verbindung herzustellen und ein Zugriff verweigerter Code zurückgegeben wird, zeigt die WNetConnectionDialog - oder WNetConnectionDialog1-Funktion selbst ein Kennwortdialogfeld an.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows XP [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2003 [Nur Desktop-Apps]
Zielplattform Fenster
Header npapi.h
Library davclnt.lib

Siehe auch

NPAddConnection