Функция RasEntryDlgA (rasdlg.h)

Функция RasEntryDlg отображает модальные страницы свойств, которые позволяют пользователю управлять записями телефонной книги. При редактировании или копировании существующей записи телефонной книги функция отображает лист свойств записи телефонной книги. Функция RasEntryDlg возвращает, когда пользователь закрывает страницу свойств.

Синтаксис

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

Параметры

[in] lpszPhonebook

Указатель на строку, завершающуюся значением NULL, которая указывает полный путь и имя файла телефонной книги (PBK). Если этот параметр имеет значение NULL, функция использует текущий файл телефонной книги по умолчанию. Файл телефонной книги по умолчанию — это файл, выбранный пользователем на странице свойств Пользовательские настройки диалогового окна Сеть удаленного доступа.

[in] lpszEntry

Указатель на строку, завершающуюся значением NULL, которая указывает имя записи телефонной книги для редактирования, копирования или создания.

Если вы редактируете или копируете запись, этот параметр является именем существующей записи телефонной книги. При копировании записи установите флаг RASEDFLAG_CloneEntry в элементе dwFlags структуры RASENTRYDLG .

Примечание Флаг RASEDFLAG_CloneEntry устарел, начиная с Windows Vista и Windows Server 2008. В последующих версиях он может быть изменен или недоступен. Вместо этого скопируйте запись, вызвав RasGetEntryProperties , чтобы получить запись, а затем вызвав RasSetEntryProperties , чтобы сохранить запись с новым именем.
 
При создании записи этот параметр является новым именем записи по умолчанию, которое пользователь может изменить. Если этот параметр имеет значение NULL, функция предоставляет имя по умолчанию. При создании записи установите флаг RASEDFLAG_NewEntry в элементе dwFlags структуры RASENTRYDLG .

[in] lpInfo

Указатель на структуру RASENTRYDLG , которая задает дополнительные входные и выходные параметры. Элемент dwSize этой структуры должен указывать sizeof(RASENTRYDLG). Используйте элемент dwFlags , чтобы указать, создаете ли вы, редактируете или копируете запись. При возникновении ошибки член dwError возвращает код ошибки; в противном случае возвращается ноль.

Возвращаемое значение

Если пользователь создает, копирует или изменяет запись телефонной книги, возвращается значение TRUE. В противном случае функция возвращает значение FALSE.

При возникновении ошибки RasEntryDlg задает члену dwError структуры RASENTRYDLG значение из раздела Коды ошибок маршрутизации и удаленного доступа или 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 определяет RASENTRYDLG как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header rasdlg.h
Библиотека Rasdlg.lib
DLL Rasdlg.dll

См. также раздел

RASENTRYDLG

RasCreatePhonebookEntry

RasCustomEntryDlg

RasEditPhonebookEntry

Общие сведения о службе удаленного доступа (RAS)

Функции службы удаленного доступа