次の方法で共有


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 フラグを設定します。

Windows Vista および Windows Server 2008 の時点で、RASEDFLAG_CloneEntry フラグは非推奨になりました。 以降のバージョンでは、変更または使用できない場合があります。 代わりに、RasGetEntryProperties を呼び出してエントリを取得し、RasSetEntryProperties を呼び出して新しい名前でエントリを保存することで、エントリをコピーします。
 
エントリを作成する場合、このパラメーターは、ユーザーが変更できる既定の新しいエントリ名です。 このパラメーターが NULL場合、関数は既定の名前を提供します。 エントリを作成する場合は、RASENTRYDLG 構造体の dwFlags メンバーに RASEDFLAG_NewEntry フラグを設定します。

[in] lpInfo

追加の入力パラメーターと出力パラメーターを指定する RASENTRYDLG 構造体へのポインター。 この構造体の dwSize メンバーは sizeof(RASENTRYDLG) を指定する必要があります。 dwFlags メンバーを使用して、エントリを作成、編集、またはコピーするかどうかを指定します。 エラーが発生した場合、dwError メンバーはエラー コードを返します。それ以外の場合は 0 を返します。

戻り値

ユーザーが電話帳エントリを作成、コピー、または編集した場合、戻り値は TRUE。 それ以外の場合、関数は FALSE返します。

エラーが発生した場合、RasEntryDlg は、RASENTRYDLG 構造体の dwError メンバーを、Routing および Remote Access Error Codes または 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 を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

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

関連項目

RASENTRYDLG を する

RasCreatePhonebookEntry

RasCustomEntryDlg を する

RasEditPhonebookEntry

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

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