Win32 API 日本語リファレンス
ホーム › NetworkManagement.WNet › PF_NPAddConnection

PF_NPAddConnection

コールバック

シグネチャ

DWORD PF_NPAddConnection(
    NETRESOURCEW* lpNetResource,
    LPWSTR lpPassword,
    LPWSTR lpUserName
);

パラメーター

フィールド型説明
lpNetResourceNETRESOURCEW*

接続先のネットワークリソースを指定する NETRESOURCE 構造体へのポインターです。渡す NETRESOURCE 構造体には、次のフィールドを設定する必要があります。NPAddConnection 関数は、それ以外のフィールドを無視します。

値 意味
lpRemoteName
接続先のネットワークリソースを指定します。
lpLocalName
リダイレクトするローカルデバイスの名前を指定します("F:" や "LPT1" など)。この名前では大文字と小文字は区別されず、空の文字列または NULL ポインターでもかまいません。文字列が空または NULL の場合、関数はリダイレクトを行わずにネットワークリソースへ接続します。
dwType
接続先のリソースの種類を指定します。RESOURCETYPE_DISK、RESOURCETYPE _PRINT、RESOURCETYPE_ANY のいずれかを指定できます。呼び出し元が種類を問わない場合や種類が不明な場合は、RESOURCETYPE _ANY を使用します。
lpPasswordLPWSTR接続に使用するパスワードへのポインターです。通常は lpUserName に対応するパスワードです。NULL を渡すと、関数は既定のパスワードを使用します。パスワードが無いことを示すには、空の文字列を使用できます。パスワードの使用を終えたら、SecureZeroMemory 関数を呼び出してメモリから消去してください。パスワードの保護について詳しくは、パスワードの取り扱い を参照してください。
lpUserNameLPWSTR

接続に使用するユーザー名へのポインターです。NULL の場合は、既定のユーザー名(現在ログオンしているユーザーのユーザー名)が適用されます。これは、リソースに接続したいものの、そのリソースに対して別のユーザー名またはアカウントが割り当てられている場合に使用します。

たとえば、ユーザー名 "MyAccount" でログオンしていて、ユーザー名 "MyOtherAccount" という 2 つ目のアカウントだけが利用できるネットワークリソースに接続したい場合、lpUserName に "MyOtherAccount" を指定することでそのリソースに接続できます。その際、lpPassword には、この 2 つ目のアカウントのパスワードを指定します。

公式ドキュメント

NPAddConnection 関数は、ローカルデバイスをネットワークリソースに接続します。

戻り値

関数が成功した場合は WN_SUCCESS を返します。それ以外の場合は、次のいずれかのエラーコードを返します。

戻り値 説明
WN_BAD_NETNAME
lpNetResource に渡された構造体の lpRemoteName メンバーの値が、このプロバイダーでは無効です。
WN_BAD_LOCALNAME
lpNetResource に渡された構造体の lpLocalName メンバーの値が無効です。
WN_BAD_PASSWORD
指定されたパスワードが無効です。
WN_ALREADY_CONNECTED
lpNetResource に渡された構造体の lpLocalName メンバーで指定されたデバイスは、既に接続されています。
WN_ACCESS_DENIED
接続を確立する権限がありません。
WN_NO_NETWORK
ネットワークが存在しません。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)