共用方式為


RasEntryDlgA 函式 (rasdlg.h)

RasEntryDlg 函式會顯示強制響應屬性表,允許使用者操作電話簿專案。 如果編輯或複製現有的電話簿專案,則函式會顯示電話簿專案屬性表。 當使用者關閉屬性表時,RasEntryDlg 函式會傳回。

語法

BOOL RasEntryDlgA(
  [in] LPSTR          lpszPhonebook,
  [in] LPSTR          lpszEntry,
  [in] LPRASENTRYDLGA lpInfo
);

參數

[in] lpszPhonebook

null終止字串的指標,指定電話簿檔案的完整路徑和檔名。 如果此參數 NULL,則函式會使用目前的預設電話簿檔案。 默認的電話簿檔案是使用者在 [撥號網络] 對話框中 [使用者 喜好設定] 屬性表中選取的默認電話簿檔案。

[in] lpszEntry

null終止字串的指標,指定要編輯、複製或建立之電話簿項目的名稱。

如果您要編輯或複製專案,此參數是現有電話簿項目的名稱。 如果您要複製專案,請在 dwFlagsRASENTRYDLG 結構的成員中設定 RASEDFLAG_CloneEntry 旗標。

自 Windows Vista 和 Windows Server 2008 起,附註RASEDFLAG_CloneEntry 旗標已被取代。 後續版本可能會變更或無法使用。 相反地,請呼叫 RasGetEntryProperties 以取得專案,然後呼叫 RasSetEntryProperties 以儲存專案的新名稱。
 
如果您要建立專案,此參數是用戶可變更的預設新項目名稱。 如果此參數 NULL,則函式會提供預設名稱。 如果您要建立專案,請在 dwFlagsRASENTRYDLG 結構的成員中設定 RASEDFLAG_NewEntry 旗標。

[in] lpInfo

指定其他輸入和輸出參數之 RASENTRYDLG 結構的指標。 這個結構的 dwSize 成員必須指定 sizeof(RASENTRYDLG)。 使用 dwFlags 成員來指出您要建立、編輯或複製專案。 如果發生錯誤,dwError 成員會傳回錯誤碼;否則,它會傳回零。

傳回值

如果使用者建立、複製或編輯電話簿專案,則傳回值會 TRUE。 否則,函式會傳回 FALSE

如果發生錯誤,RasEntryDlg 會將 RASENTRYDLG 結構的 dwError 成員設定為 路由和遠端存取錯誤碼 或 Winerror.h 的值。

言論

RasCreatePhonebookEntryRasEditPhonebookEntry 函式會呼叫 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 預處理器常數的定義,將 RASENTRYDLG 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 rasdlg.h
連結庫 Rasdlg.lib
DLL Rasdlg.dll

另請參閱

RASENTRYDLG

RasCreatePhonebookEntry

RasCustomEntryDlg

RasEditPhonebookEntry

遠端存取服務 (RAS) 概觀

遠端訪問服務函式