WNetAddConnectionA 関数 (winnetwk.h)
WNetAddConnection 関数を使用すると、呼び出し元のアプリケーションでローカル デバイスをネットワーク リソースに接続できます。 正常な接続は永続的です。つまり、システムは後続のログオン操作中に接続を自動的に復元します。
構文
DWORD WNetAddConnectionA(
[in] LPCSTR lpRemoteName,
[in] LPCSTR lpPassword,
[in] LPCSTR lpLocalName
);
パラメーター
[in] lpRemoteName
接続するネットワーク リソースを指定する null で終わる定数文字列へのポインター。
[in] lpPassword
接続に使用するパスワードを指定する 、null で終わる定数文字列へのポインター。 このパラメーターは通常、現在のユーザーに関連付けられているパスワードです。
このパラメーターが NULL の場合は、既定のパスワードが使用されます。 文字列が空の場合、パスワードは使用されません。
Windows Me/98/95: このパラメーターは NULL または空の文字列である必要があります。
[in] lpLocalName
"F:" や "LPT1" など、リダイレクトするローカル デバイスの名前を指定する定数 null で終わる文字列へのポインター。 文字列は、大文字と小文字を区別しない方法で扱われます。 文字列が NULL の場合、ローカル デバイスをリダイレクトせずにネットワーク リソースへの接続が行われます。
戻り値
関数が成功した場合、戻り値はNO_ERROR。
関数が失敗した場合、戻り値はシステム エラー コード (次のいずれかの値など) になります。
リターン コード | 説明 |
---|---|
|
呼び出し元は、ネットワーク リソースにアクセスできません。 |
|
lpLocalName パラメーターで指定されたデバイスは既に接続されています。 |
|
デバイスの種類とリソースの種類が一致しません。 |
|
lpLocalName パラメーターで指定された値が無効です。 |
|
lpRemoteName パラメーターで指定された値が無効であるか、見つかりません。 |
|
ユーザー プロファイルの形式が正しくありません。 |
|
システムは、永続的な接続を処理するためにユーザー プロファイルを開くことができません。 |
|
lpLocalName パラメーターで指定されたデバイスのエントリは、既にユーザー プロファイルにあります。 |
|
ネットワーク固有のエラーが発生しました。 エラーの説明を取得するには、 WNetGetLastError 関数を呼び出します。 |
|
指定されたパスワードが無効です。 |
|
ネットワーク コンポーネントが開始されていないか、指定した名前を使用できないため、操作を実行できません。 |
|
ネットワークが利用できません。 |
解説
Windows Server 2003 および Windows XP では、WNet 関数は、ログオン セッションに関連付けられている MS-DOS デバイス名前空間でネットワーク ドライブ文字を作成および削除します。MS-DOS デバイスは AuthenticationID (a
ログオン セッションに関連付けられているローカル一意識別子 (LUID)。 これは、WNet 関数のいずれかを呼び出して 1 人のユーザー ログオンでネットワーク ドライブ文字を作成するが、別のユーザー ログオンで既存のネットワーク ドライブ文字を照会するアプリケーションに影響を与える可能性があります。 たとえば、 CreateProcessAsUser 関数を呼び出してユーザーの 2 回目のログオンがログオン セッション内に作成され、2 番目のログオンで GetLogicalDrives 関数を呼び出すアプリケーションが実行される場合などです。 GetLogicalDrives 関数の呼び出しでは、最初のログオン時に WNet 関数呼び出しによって作成されたネットワーク ドライブ文字は返されません。 前の例では、最初のログオン セッションがまだ存在し、ターミナル サービス セッションを含む任意のログオン セッションに適用できることに注意してください。 詳細については、「 MS-DOS デバイス名の定義」を参照してください。
Windows Server 2003 および Windows XP では、LocalSystem として実行されるサービスが WNetAddConnection 関数を呼び出すと、マップされたドライブはすべてのユーザー ログオン セッションに表示されます。
注意
winnetwk.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして WNetAddConnection を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winnetwk.h |
Library | Mpr.lib |
[DLL] | Mpr.dll |