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 플래그를 설정합니다.

참고RASEDFLAG_CloneEntry 플래그는 Windows Vista 및 Windows Server 2008부터 더 이상 사용되지 않습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. 대신 RasGetEntryProperties 를 호출하여 항목을 가져옵니다. 그런 다음 RasSetEntryProperties 를 호출하여 항목을 새 이름으로 저장합니다.
 
항목을 만드는 경우 이 매개 변수는 사용자가 변경할 수 있는 기본 새 항목 이름입니다. 이 매개 변수가 NULL인 경우 함수는 기본 이름을 제공합니다. 항목을 만드는 경우 RASENTRYDLG 구조체의 dwFlags 멤버에서 RASEDFLAG_NewEntry 플래그를 설정합니다.

[in] lpInfo

추가 입력 및 출력 매개 변수를 지정하는 RASENTRYDLG 구조체에 대한 포인터입니다. 이 구조체의 dwSize 멤버는 sizeof(RASENTRYDLG)를 지정해야 합니다. dwFlags 멤버를 사용하여 항목을 만들거나 편집하거나 복사하는지 여부를 나타냅니다. 오류가 발생하면 dwError 멤버가 오류 코드를 반환합니다. 그렇지 않으면 0을 반환합니다.

반환 값

사용자가 전화 번호부 항목을 만들거나 복사하거나 편집하는 경우 반환 값은 TRUE입니다. 그렇지 않으면 함수는 FALSE를 반환 합니다.

오류가 발생하면 RasEntryDlgRASENTRYDLG 구조체의 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 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 RASENTRYDLG를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 rasdlg.h
라이브러리 Rasdlg.lib
DLL Rasdlg.dll

추가 정보

RASENTRYDLG

RasCreatePhonebookEntry

RasCustomEntryDlg

RasEditPhonebookEntry

RAS(원격 액세스 서비스) 개요

원격 액세스 서비스 함수