WNetAddConnectionA 関数 (winnetwk.h)

WNetAddConnection 関数を使用すると、呼び出し元のアプリケーションでローカル デバイスをネットワーク リソースに接続できます。 正常な接続は永続的です。つまり、システムは後続のログオン操作中に接続を自動的に復元します。

メモ この関数は、16 ビット バージョンの Windows との互換性のためにのみ提供されます。 他の Windows ベースのアプリケーションでは 、WNetAddConnection2 または WNetAddConnection3 関数を呼び出す必要があります。
 

構文

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。

関数が失敗した場合、戻り値はシステム エラー コード (次のいずれかの値など) になります。

リターン コード 説明
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
ネットワークが利用できません。

解説

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

関連項目

WNetAddConnection2

WNetAddConnection3

WNetCancelConnection

WNetCancelConnection2

WNetGetConnection

Windows ネットワーク (WNet) の概要

Windows ネットワーク関数