PF_NPAddConnection3
コールバックシグネチャ
DWORD PF_NPAddConnection3(
HWND hwndOwner,
NETRESOURCEW* lpNetResource,
LPWSTR lpPassword,
LPWSTR lpUserName,
DWORD dwFlags
);パラメーター
| フィールド | 型 | 説明 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hwndOwner | HWND | メッセージやダイアログボックスを所有するウィンドウのハンドルです。このハンドルは dwFlags に CONNECT_INTERACTIVE が設定されている場合にのみ有効であり、認証に必要なダイアログボックスの表示にのみ使用してください。 | ||||||||||
| lpNetResource | NETRESOURCEW* | 接続先のネットワークリソースを指定する NETRESOURCE 構造体へのポインターです。接続を行う際は、次のフィールドを設定する必要があります。それ以外のフィールドは無視されます。
| ||||||||||
| lpPassword | LPWSTR | 接続時に使用するパスワードへのポインターです。通常は lpUserName に対応付けられたパスワードを指定します。NULL を渡すと、既定のパスワードが使用されます。空の文字列はパスワードがないことを示します。パスワードの使用が終わったら、SecureZeroMemory 関数を呼び出してメモリから消去してください。パスワードの保護について詳しくは、Handling Passwords を参照してください。 | ||||||||||
| lpUserName | LPWSTR | 接続に使用するユーザー名へのポインターです。NULL の場合は、既定のユーザー名(現在ログオンしているユーザーの名前)が使用されます。これは、リソースへ接続したいが、そのリソースに対して別のユーザー名やアカウントが割り当てられている場合に使用します。 | ||||||||||
| dwFlags | DWORD | 次の値の任意の組み合わせです。プロバイダーは、dwFlags に設定されている可能性のあるその他のビットを無視してください。
|
公式ドキュメント
NPAddConnection3 関数は、ローカルデバイスをネットワークリソースに接続します。この関数は NPAddConnection と同じ処理を行いますが、さらに、結果として表示されるダイアログボックスを所有するウィンドウのハンドルと、接続の確立方法を指定できます。
戻り値
関数が成功した場合は WN_SUCCESS を返します。それ以外の場合はエラーコードを返します。エラーコードには次のいずれかが含まれることがあります。
| 戻り値 | 説明 |
|---|---|
|
lpNetResource に渡された構造体の lpRemoteName メンバーの値が、このプロバイダーでは有効ではありません。 |
|
lpNetResource に渡された構造体の lpLocalName メンバーの値が有効ではありません。 |
|
指定されたパスワードが有効ではありません。 |
|
lpNetResource に渡された構造体の lpLocalName メンバーで指定されたデバイスは、既に接続されています。 |
|
接続を確立する権限がありません。 |
|
ネットワークが存在しません。 |
|
接続の試行が、プロバイダーが表示したダイアログボックスでユーザーによって取り消されました。 |
解説(Remarks)
指定された資格情報が不十分なためにプロバイダーがパスワードダイアログボックスを表示し、かつ CONNECT_INTERACTIVE フラグが設定されている場合、プロバイダーはアクセス拒否を示すエラーコード(ERROR_LOGON_FAILURE、WN_BAD_PASSWORD、WN_ACCESS_DENIED のいずれか)を返さないことがあります。推奨される動作は、ユーザーが有効な資格情報を入力するか「キャンセル」ボタンを押すまで、プロバイダーが有効な資格情報の入力を求め続けることです。 WNetConnectionDialog 関数または WNetConnectionDialog1 関数で要求された接続を行うために NPAddConnection3 が呼び出され、アクセス拒否のコードが返された場合は、 WNetConnectionDialog 関数または WNetConnectionDialog1 関数自体がパスワードダイアログボックスを表示します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)