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 構造体へのポインター。 接続を行うときは、次のフィールドを設定する必要があります。 他の属性は無視されます。
[in] lpPassword
接続に使用するパスワードへのポインター。通常は lpUserName に関連付けられているパスワード。 NULL 値を渡して、関数が既定のパスワードを使用するようにすることができます。 パスワードを指定しない場合は、空の文字列を使用できます。 パスワードの使用が完了したら、 SecureZeroMemory 関数を呼び出してメモリからクリアします。 パスワードの保護の詳細については、「パスワードの 処理」を参照してください。
[in] lpUserName
接続に使用するユーザー名へのポインター。 NULL の場合、既定のユーザー名 (現在ログオンしているユーザーの名前) が適用されます。 これは、ユーザーがリソースに接続したいが、そのリソースに割り当てられたユーザー名またはアカウントが異なる場合に使用されます。
[in] dwFlags
次の値の任意の組み合わせ。 プロバイダーは、設定できる dwFlags の他のビットを無視する必要があります。
値 | 意味 |
---|---|
|
接続は閲覧目的で確立されており、おそらくすぐに解放されます。 |
|
接続には、認証目的でユーザーとの対話が行われる場合があります。 |
|
ユーザーに代替手段を提供せずに、ユーザー名またはパスワードに既定値を使用しないでください。 このフラグは、CONNECT_INTERACTIVEも設定されている場合にのみ有効です。 |
|
ネットワーク接続を確立するためにリモート ネットワーク操作を実行しないでください。代わりに、接続を "切断状態" で復元します。 一部のプロセスで接続の使用が試行された場合にのみ、実際の接続を試行します。 このビットが設定されている場合、呼び出し元は lpLocalName を指定する必要があります。
この機能は、ログオン時のネットワーク接続の復元を高速化するために使用されます。 それをサポートするプロバイダーは、 NPGetCaps でWNNC_CON_DEFERRED ビットを返す必要があります。 |
戻り値
関数が成功すると、WN_SUCCESSが返されます。 それ以外の場合は、エラー コードが返されます。 これには、次のいずれかが含まれる場合があります。
リターン コード | 説明 |
---|---|
|
lpNetResource に渡される構造体の lpRemoteName メンバーの値は、このプロバイダーでは無効です。 |
|
lpNetResource に渡される構造体の lpLocalName メンバーの値が無効です。 |
|
指定されたパスワードが無効です。 |
|
lpNetResource に渡される構造体の lpLocalName メンバーで指定されたデバイスは既に接続されています。 |
|
接続を確立するためのアクセス許可が拒否されました。 |
|
ネットワークが存在しません。 |
|
プロバイダーによって表示されるダイアログ ボックスを使用して、ユーザーによる接続の試行が取り消されました。 |
注釈
指定した資格情報が不十分で、CONNECT_INTERACTIVE フラグが設定されているためにプロバイダーがパスワード ダイアログ ボックスを表示する場合、プロバイダーはアクセス拒否エラー コード (ERROR_LOGON_FAILURE、WN_BAD_PASSWORD、WN_ACCESS_DENIEDのいずれか) を返さない可能性があります。 推奨される動作は、プロバイダーが有効な資格情報をユーザーに提供するか、"キャンセル" ボタンを押すまでユーザーに引き続き要求することです。 WNetConnectionDialog 関数または WNetConnectionDialog1 関数の間に要求された接続を作成するために NPAddConnection3 が呼び出され、アクセス拒否コードが返された場合、WNetConnectionDialog または WNetConnectionDialog1 関数自体にパスワード ダイアログ ボックスが表示されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | npapi.h |