RasEntryDlgA 関数 (rasdlg.h)
RasEntryDlg 関数は、ユーザーが電話帳エントリを操作できるようにするモーダル プロパティ シートを表示します。 既存の電話帳エントリを編集またはコピーする場合、関数は電話帳エントリプロパティ シートを表示します。 RasEntryDlg 関数は、ユーザーがプロパティ シートを閉じるとを返します。
構文
BOOL RasEntryDlgA(
[in] LPSTR lpszPhonebook,
[in] LPSTR lpszEntry,
[in] LPRASENTRYDLGA lpInfo
);
パラメーター
[in] lpszPhonebook
電話帳 (PBK) ファイルの完全なパスとファイル名を指定する null で終わる文字列へのポインター。 このパラメーターが NULL の場合、関数は現在の既定の電話帳ファイルを使用します。 既定の電話帳ファイルは、[ダイヤルアップ ネットワーク] ダイアログ ボックスの [ユーザー設定] プロパティ シートでユーザーが選択したファイルです。
[in] lpszEntry
編集、コピー、または作成する電話帳エントリの名前を指定する null で終わる文字列へのポインター。
エントリを編集またはコピーする場合、このパラメーターは既存の電話帳エントリの名前です。 エントリをコピーする場合は、RASENTRYDLG 構造体の dwFlags メンバーに RASEDFLAG_CloneEntry フラグを設定します。
[in] lpInfo
追加の入力パラメーターと出力パラメーターを指定する RASENTRYDLG 構造体へのポインター。 この構造体の dwSize メンバーは sizeof(RASENTRYDLG) を指定する必要があります。 エントリを作成、編集、またはコピーするかどうかを示すには、 dwFlags メンバーを使用します。 エラーが発生した場合、 dwError メンバーは エラー コードを返します。それ以外の場合は、0 を返します。
戻り値
ユーザーが電話帳エントリを作成、コピー、または編集した場合、戻り値は TRUE になります。 それ以外の場合、関数は FALSE を返します。
エラーが発生した場合、RasEntryDlg は RASENTRYDLG 構造体の dwError メンバーをルーティングおよびリモート アクセス エラー コードまたは Winerror.h の値に設定します。
注釈
RasCreatePhonebookEntry 関数と RasEditPhonebookEntry 関数は、RasEntryDlg 関数を呼び出します。
次のサンプル コードでは、プロパティ シートを表示して新しいエントリを作成します。 lpszEntry 変数は、新しいエントリの既定の名前を指定します。
#include <windows.h>
#include <stdio.h>
#include "ras.h"
#include "rasdlg.h"
#include <tchar.h>
DWORD __cdecl wmain(){
DWORD dwRet = ERROR_SUCCESS;
BOOL nRet = TRUE;
LPTSTR lpszEntry = L"EntryName";
// Allocate heap memory and initialize RASENTRYDLG structure
LPRASENTRYDLG lpEntry = (LPRASENTRYDLG)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(RASENTRYDLG));
if (lpEntry == NULL){
wprintf(L"HeapAlloc failed.\n");
return 0;
}
// The RASENTRYDLG->dwSize member has to be initialized or the RRAS APIs will fail below.
lpEntry->dwSize = sizeof(RASENTRYDLG);
lpEntry->dwFlags |= RASEDFLAG_NewEntry;
// Create the new entry using a user dialog
nRet = RasEntryDlg(NULL, lpszEntry, lpEntry);
// Any error codes are returned in lpEntry
dwRet = lpEntry->dwError;
if (nRet == TRUE) {
wprintf(L"New entry created: %s\n", lpEntry->szEntry);
// Clean up: delete the new entry
dwRet = RasDeleteEntry(NULL, lpszEntry);
if (dwRet != ERROR_SUCCESS) {
wprintf(L"RasDeleteEntry failed: Error = %d\n", dwRet);
}
}
else {
if (dwRet != ERROR_SUCCESS) {
wprintf(L"RasEntryDlg failed: Error = %d\n", dwRet);
}
else {
wprintf(L"User pressed Cancel\n");
}
}
HeapFree(GetProcessHeap(), 0, lpEntry);
return 0;
}
注意
rasdlg.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RASENTRYDLG を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | rasdlg.h |
Library | Rasdlg.lib |
[DLL] | Rasdlg.dll |