パラメータ
hwndOwner
[入力]ネットワーク資源のプロバイダがダイアログボックスのオーナーウィンドウとして利用できるウィンドウのハンドルを指定する。
hwndOwner パラメータは NULL であってもかまわない。その場合は WNetAddConnection2 関数とまったく同じ働きをする。
lpNetResource
[入力]希望の接続の詳細( ネットワーク資源、ローカルデバイス、ネットワーク資源のプロバイダの情報)を指定する
構造体へのポイ
ンタを指定する。
NETRESOURCE 構造体の次のメンバを設定しておく必要がある。
メンバ
|
説明
|
dwType
|
接続先ネットワーク資源の種類を指定する。
lpLocalName メンバが空でない文字列を指す場合は、dwType メンバを
RESOURCETYPE_DISK または
RESOURCETYPE_PRINT に設定する。
lpLocalName が NULL の場合は、dwType を
RESOURCETYPE_DISK、RESOURCETYPE_PRINT、RESOURCETYPE_ANY のいずれかに設定する。 |
lpLocalName
|
"F:"、"LPT1"
など、リダイレクトしたいローカルデバイスの名前を表す、NULL で終わる文字列へのポインタである。文字列の大文字と小文字を区別しない。
この文字列が空の場合や、lpLocalName が NULL の場合は、ローカルデバイスのリダイレクトなしでネットワーク資源に接続する。 |
lpRemoteName
|
接続先ネットワーク資源の名前を表す、NULL
で終わる文字列へのポインタである。指定する文字列の長さは最大 MAX_PATH 文字で、ネットワークプロバイダの名前付け規則に従う必要がある。 |
lpProvider
|
接続先ネットワークプロバイダの名前を表す、NULL
で終わる文字列へのポインタである。
lpProvider が NULL である場合や、空の文字列を指す場合は、オペレーティングシステムは lpRemoteName
が指す文字列を解析することによって正しいプロバイダを特定しようとする。
NULL 以外に設定すると、オペレーティングシステムは指定された名前のネットワークプロバイダにのみ接続を試みる。
使いたいネットワークプロバイダが把握できている場合にのみ、このメンバを設定するべきである。それ以外の場合は、オペレーティングシステムからネットワーク名のマップ先プロバイダを特定する。 |
lpPassword
[入力]ネットワーク接続に使うパスワードを表す、NULL で終わる文字列へのポインタを指定する。
lpPassword が NULL の場合、lpUsername
パラメータで指定するユーザーの現在の既定パスワードが使われる。
lpPassword が空の文字列を指す場合、何もパスワードを使わない。
Windows 95/98:NULL または空の文字列を指定する。
lpUsername
[入力]接続に使うユーザー名を表す、NULL で終わる文字列へのポインタを指定する。
lpUserName が NULL
の場合、既定のユーザー名が使われます。既定のユーザー名は、プロセスのユーザーコンテキストによって提供さ
れる。
lpUsername
パラメータは、既定のユーザー名やアカウントとは異なるユーザー名やアカウントを割り当てたネットワーク資源に接続したい場
合にのみ指定する。
ユーザー名の文字列は、セキュリティコンテキストを表す。セキュリティコンテキストは、ネットワークプロバイダ固有のものでもかまわない。
Windows 95/98:NULL または空の文字列を指定する。
dwFlags
[入力]接続オプションを指定する 1 個の DWORD 値を指定する。現在、次の値が定義されている。
値
|
意味
|
CONNECT_UPDATE_PROFILE
|
ネットワーク資源への接続を記憶する。
このビットフラグをセットすると、ユーザーのログオン時に、オペレーティングシステムは接続の復元を試みる。
記憶されるのは、ローカルデバイスのリダイレクトに成功した接続だけである。成功しなかった接続やデバイスなしの接続は記憶されない。(lpLocalName
が NULL である場合、または空の文字列を指している場合に、デバイスなしの接続が行われる。)
このビットフラグをセットしない場合、オペレーティングシステムはログイン時に接続を復元しない。 |
戻り値
関数が成功すると、NO_ERROR が返る。
関数が失敗すると、次のいずれかのエラーコードが返る。
値
|
意味
|
ERROR_ACCESS_DENIED
|
アクセスが拒否された。 |
ERROR_ALREADY_ASSIGNED |
lpLocalName で指定したデバイスは既に接続されている。 |
ERROR_BAD_DEV_TYPE |
デバイスの種類と資源の種類が一致しない。 |
ERROR_BAD_DEVICE |
lpLocalName パラメータで指定した値が無効である。 |
ERROR_BAD_NET_NAME |
lpRemoteName パラメータで指定した値が無効か、指定した資源が見つからない。 |
ERROR_BAD_PROFILE |
ユーザープロファイルの形式が正しくない。 |
ERROR_CANNOT_OPEN_PROFILE |
恒久的な接続を処理するためのユーザープロファイルを開くことができない。 |
ERROR_DEVICE_ALREADY_REMEMBERED
|
lpLocalName パラメータで指定したデバイスのエントリは既にユーザープロファイル内に存在する。 |
ERROR_EXTENDED_ERROR
|
ネットワーク固有のエラーが発生した。エラーの説明を取得するには、WNetGetLastError 関数を使う。 |
ERROR_INVALID_PASSWORD |
指定したパスワードが無効である。 |
ERROR_NO_NET_OR_BAD_PATH
|
ネットワークコンポーネントが開始されていないか、指定した名前が使えないため、操作を実行できない。 |
ERROR_NO_NETWORK |
ネットワークに接続されていない。 |
|