次の方法で共有


NPAddConnection3 関数 (npapi.h)

NPAddConnection3 関数は、ローカル デバイスをネットワーク リソースに接続します。 NPAddConnection と同じ操作を実行しますが、さらに、結果のダイアログ ボックスを所有する必要があるウィンドウへのハンドルを指定し、接続の確立方法を指定することもできます。

構文

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

パラメーター

[in] hwndOwner

メッセージまたはダイアログ ボックスを所有するウィンドウへのハンドル。 このハンドルは、 CONNECT_INTERACTIVEが dwFlags で設定されている場合にのみ有効であり、認証に必要なダイアログ ボックスの生成にのみハンドルを使用する必要があります。

[in] lpNetResource

接続先のネットワーク リソースを指定する NETRESOURCE 構造体へのポインター。 接続を行うときは、次のフィールドを設定する必要があります。 その他は無視されます。

価値 Meaning
lpRemoteName
接続先のネットワーク リソースを指定します。
lpLocalName
リダイレクトするローカル デバイスの名前 ("F:" や "LPT1" など) を指定します。 この名前は大文字と小文字が区別されず、空の文字列または NULL ポインターである可能性があります。 文字列が空または NULL の場合、関数はリダイレクトを行わずにネットワーク リソースに接続します。
dwType
接続するリソースの種類を指定します。 これは、RESOURCETYPE_DISK、RESOURCETYPE_PRINT、またはRESOURCETYPE_ANYできます。 RESOURCETYPE_ANY値は、呼び出し元が気にしない場合、または認識していない場合に使用されます。

[in] lpPassword

接続の作成に使用するパスワード (通常は lpUserName に関連付けられているパスワード) へのポインター。 NULL 値を渡して、関数が既定のパスワードを使用するようにすることができます。 パスワードを指定しない場合は、空の文字列を使用できます。 パスワードの使用が完了したら、 SecureZeroMemory 関数を呼び出してメモリからクリアします。 パスワードの保護の詳細については、「パスワードの 処理」を参照してください。

[in] lpUserName

接続を確立するために使用するユーザー名へのポインター。 NULL の場合、既定のユーザー名 (現在ログオンしているユーザーの名前) が適用されます。 これは、ユーザーがリソースに接続したいが、そのリソースに対して割り当てられたユーザー名またはアカウントが異なる場合に使用されます。

[in] dwFlags

次の値の任意の組み合わせ。 プロバイダーは、設定できる dwFlags の他のビットを無視する必要があります。

価値 Meaning
CONNECT_TEMPORARY
接続は閲覧目的で確立されており、おそらくすぐに解放されます。
CONNECT_INTERACTIVE
接続には、認証目的でユーザーとの対話が行われる場合があります。
CONNECT_PROMPT
ユーザーに代替手段を提供せずに、ユーザー名またはパスワードに既定値を使用しないでください。 このフラグは、CONNECT_INTERACTIVEも設定されている場合にのみ有効です。
CONNECT_DEFERRED
ネットワーク接続を確立するためにリモート ネットワーク操作を実行しないでください。代わりに、接続を "切断状態" で復元します。 一部のプロセスが接続の使用を試みる場合にのみ、実際の接続を試みます。 このビットが設定されている場合、呼び出し元は lpLocalName を指定する必要があります。

この機能は、ログオン時のネットワーク接続の復元を高速化するために使用されます。 それをサポートするプロバイダーは、 NPGetCaps でWNNC_CON_DEFERRED ビットを返す必要があります。

戻り値

関数が成功すると、WN_SUCCESSが返されます。 それ以外の場合は、エラー コードが返されます。 これには、次のいずれかが含まれる場合があります。

リターン コード Description
WN_BAD_NETNAME
lpNetResource に渡される構造体の lpRemoteName メンバーの値は、このプロバイダーでは無効です。
WN_BAD_LOCALNAME
lpNetResource に渡される構造体の lpLocalName メンバーの値が無効です。
WN_BAD_PASSWORD
指定されたパスワードが無効です。
WN_ALREADY_CONNECTED
lpNetResource に渡される構造体の lpLocalName メンバーで指定されたデバイスは既に接続されています。
WN_ACCESS_DENIED
接続を確立するためのアクセス許可が拒否されました。
WN_NO_NETWORK
ネットワークが存在しません。
WN_CANCEL
プロバイダーによって表示されるダイアログ ボックスを使用して、ユーザーによる接続の試行が取り消されました。

注釈

指定した資格情報が不十分で、CONNECT_INTERACTIVE フラグが設定されているためにプロバイダーにパスワード ダイアログ ボックスが表示された場合、プロバイダーはアクセス拒否エラー コード (ERROR_LOGON_FAILURE、WN_BAD_PASSWORD、WN_ACCESS_DENIEDのいずれか) を返さない可能性があります。 推奨される動作は、プロバイダーが有効な資格情報をユーザーに提供するか、[キャンセル] ボタンを押すまで、ユーザーに有効な資格情報の要求を続行することです。 WNetConnectionDialog または WNetConnectionDialog1 関数の間に要求された接続を作成するために NPAddConnection3 が呼び出され、アクセス拒否コードが返された場合、WNetConnectionDialog または WNetConnectionDialog1 関数自体にパスワード ダイアログ ボックスが表示されます。

Requirements

Requirement 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム ウィンドウズ
Header npapi.h
Library davclnt.lib

こちらも参照ください

NPAddConnection