NPAddConnection3-Funktion (npapi.h)

Die FUNKTION NPAddConnection3 verbindet ein lokales Gerät mit einer Netzwerkressource. Es führt den gleichen Vorgang wie NPAddConnection aus, kann aber auch ein Handle für das Fenster angeben, das alle resultierenden Dialogfelder besitzen 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
);

Parameter

[in] hwndOwner

Ein Handle für ein 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 erzeugen, 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". Bei diesem Namen wird die Groß-/Kleinschreibung nicht beachtet 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 her, ohne eine Umleitung vorzunehmen.
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 sich der Aufrufer nicht darum kümmert oder nicht weiß.

[in] lpPassword

Zeiger 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 Arbeitsspeicher, indem Sie die SecureZeroMemory-Funktion aufrufen. Weitere Informationen zum Schutz des Kennworts finden Sie unter Behandeln von Kennwörtern.

[in] lpUserName

Zeiger auf den Benutzernamen, der zum Herstellen der Verbindung verwendet wird. Bei 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 einen anderen Benutzernamen oder ein anderes Konto für diese Ressource zugewiesen hat.

[in] dwFlags

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

Wert Bedeutung
CONNECT_TEMPORARY
Die Verbindung wird zu Browserzwecken hergestellt und wird wahrscheinlich schnell freigegeben.
CONNECT_INTERACTIVE
Die Verbindung kann zu Authentifizierungszwecken eine Interaktion mit dem Benutzer haben.
CONNECT_PROMPT
Verwenden Sie keine Standardwerte für Benutzernamen oder Kennwörter, ohne dem Benutzer die Möglichkeit zu bieten, eine Alternative anzubieten. Dieses Flag 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 ein Prozess versucht, die Verbindung zu verwenden. Wenn dieses Bit festgelegt ist, muss der Aufrufer lpLocalName angeben.

Dieses Feature wird verwendet, um die Wiederherstellung von Netzwerkverbindungen bei der Anmeldung zu beschleunigen. Ein Anbieter, der dies 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 Beschreibung
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-Member der an lpNetResource übergebene Struktur angegebene Gerät 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.

Hinweise

Wenn ein Anbieter ein Kennwortdialogfeld anzeigt, weil die angegebenen Anmeldeinformationen nicht ausreichen und das CONNECT_INTERACTIVE-Flag festgelegt ist, gibt der Anbieter möglicherweise keinen Fehlercode mit Zugriffsverweigerung (einen der ERROR_LOGON_FAILURE, WN_BAD_PASSWORD, WN_ACCESS_DENIED) zurück. Das vorgeschlagene Verhalten besteht darin, dass der Anbieter den Benutzer weiterhin nach gültigen Anmeldeinformationen fragt, bis der Benutzer sie entweder 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
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile npapi.h

Weitere Informationen

NPAddConnection