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 を返します

エラーが発生した場合、RasEntryDlgRASENTRYDLG 構造体の 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

こちらもご覧ください

RASENTRYDLG

RasCreatePhonebookEntry

RasCustomEntryDlg

RasEditPhonebookEntry

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

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