次の方法で共有


RasSetCredentialsA 関数 (ras.h)

RasSetCredentials 関数は、指定された RAS 電話帳エントリに関連付けられているユーザー資格情報を設定します。

構文

DWORD RasSetCredentialsA(
  [in] LPCSTR            unnamedParam1,
  [in] LPCSTR            unnamedParam2,
  [in] LPRASCREDENTIALSA unnamedParam3,
  [in] BOOL              unnamedParam4
);

パラメーター

[in] unnamedParam1

電話帳 (PBK) ファイルの完全なパスとファイル名を指定する null で終わる文字列へのポインター。 このパラメーターが NULL場合、関数は現在の既定の電話帳ファイルを使用します。 既定の電話帳ファイルは、ダイヤルアップ ネットワーク] ダイアログ ボックスの [ユーザー設定 プロパティ シートでユーザーが選択したものです。

[in] unnamedParam2

電話帳エントリの名前を指定する null で終わる文字列へのポインター。

[in] unnamedParam3

指定した電話帳エントリに設定するユーザー資格情報を指定する RASCREDENTIALS 構造体へのポインター。 RasSetCredentials呼び出す前に、構造体の dwSize メンバーを に設定し、設定する資格情報を示す dwMask メンバーを設定します。

[in] unnamedParam4

RasSetCredentials 空の文字列 "" に設定して既存の資格情報をクリアするかどうかを指定する値。 このフラグが TRUE場合、RASCREDENTIALS 構造体の dwMask メンバーは、関数が空の文字列に設定する資格情報を示します。 このフラグが FALSE場合、関数は、対応する RASCREDENTIALS メンバーの内容に従って、指定された資格情報を設定します。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS

関数が失敗した場合、戻り値は次のいずれかのエラー コード、または Routing および Remote Access Error Codes または WinError.h からの値です。

価値 意味
ERROR_CANNOT_OPEN_PHONEBOOK
指定された電話帳が見つかりません。
ERROR_INVALID_PARAMETER
lpCredentials パラメーターが NULLされたか、指定されたエントリが電話帳に存在しません。
ERROR_ACCESS_DENIED
次のいずれかの条件が発生しました。
  • 呼び出し元のアプリケーションが、ユーザーごとの接続の既定の資格情報を設定しようとしました。 既定の資格情報は、すべてのユーザー接続に対してのみ設定できます。
  • ユーザーは、すべてのユーザー connectoid の場合に、すべてのユーザーに対して事前共有キーまたは資格情報を設定するための正しい特権を持っていません。 これらのタスクを実行できるのは管理者だけです。

備考

RasSetCredentials 関数は、指定された RAS 電話帳エントリに関連付けられているユーザー資格情報を設定します。 電話帳エントリと共に格納される資格情報は、指定された電話帳エントリを使用して正常に接続する最後のユーザーの資格情報、または後で電話帳エントリの RasSetCredentials または RasSetEntryDialParams 関数への呼び出しで指定された資格情報です。

RasSetCredentials 関数は、電話帳エントリを使用して資格情報を安全に格納する方法として推奨されます。 RasSetCredentials は、Windows オペレーティング システムの将来のリリースではサポートされない可能性がある RasSetEntryDialParams 関数よりも優先されます。

パスワード ハンドルは "****************" です (16 個のアスタリスク)。 RasGetCredentials を呼び出し、パスワード フィールドに 16 *s を返す場合は、パスワードが格納されており、セキュリティ上の理由から、プレーン テキストでは返されません。 RASCREDENTIALS 構造体の szPassword メンバーに、RasGetCredentials または rasGetEntryDialParamsによって返されるパスワード ハンドル (16 *s) が含まれている場合、次に RasSetCredential s 呼び出しを実行しても、保存されたパスワードは変更されません。

すべてのユーザー接続の既定の資格情報を設定するには、lpCredentials パラメーターが指す RASCREDENTIALS 構造体の dwMask メンバーに RASCM_DefaultCreds フラグを設定します。 ユーザーごとの接続に既定の資格情報を設定しようとすると、RasSetCredentials ERROR_ACCESS_DENIEDが返されます。

すべてのユーザー接続の資格情報を設定する場合、呼び出し元アプリケーションで電話帳パラメーターに NULL 以外の値が指定されている場合、lpszPhonebook、電話帳ファイルは、すべてのユーザー アプリケーション データ パスの下にある電話帳ディレクトリに配置する必要があります。 電話帳ファイルの正しい場所を取得するには、最初に CSIDL_COMMON_APPDATACSIDL 値を使用して SHGetFolderPath を呼び出します。 SHGetFolderPath は、すべてのユーザー アプリケーション データ パスを返します。 このパスに次の文字列を追加します。

Microsoft\Network\Connections\Pbk

結合されたパスは、電話帳ファイルの正しい場所です。

lpszPhonebook パラメーターに NULL 以外の値を指定することは、以降のバージョンの Windows オペレーティング システムではサポートされない場合があります。
 
事前共有キーを設定するには、RASCREDENTIALSRASCM_PreSharedKey フラグを使用します。dwMask フィールドをします。

手記

ras.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RasSetCredentials を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー ras.h
ライブラリ Rasapi32.lib
DLL Rasapi32.dll

関連項目

RASCREDENTIALS

RasDial

RasGetCredentials

RasSetEntryDialParams

リモート アクセス サービス (RAS) の概要

リモート アクセス サービス関数 の