次の方法で共有


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-terminated 文字列 定数へのポインター。 通常、このパラメーターは現在のユーザーに関連付けられているパスワードです。

このパラメーターが 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 では、MS-DOS デバイスは AuthenticationID (MS-DOS 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 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winnetwk.h
ライブラリ Mpr.lib
DLL Mpr.dll

関連項目

WNetAddConnection2 の

WNetAddConnection3 の

WNetCancelConnection の

WNetCancelConnection2 の

WNetGetConnection の

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

Windows ネットワーク機能の