RasEntryDlg

BOOL RasEntryDlg(
  _In_ LPTSTR        lpszPhonebook,
  _In_ LPTSTR        lpszEntry,
  _In_ LPRASENTRYDLG lpInfo
);

说明

该函数显示模式属性窗口让用户维护电话簿条目。当用户关闭属性窗口时该函数才会返回。

参数

lpszPhonebook [in]

指向一个包含完整路径的电话簿文件(PBK)。如果参数为空,则该函数使用默认的电话簿文件。默认的电话簿文件由用户在拨号网络对话框的[user preferences]属性窗口中选择。

lpszEntry [in]

指向一个包含要创建、修改或复制的电话簿条目。

如果是编辑或复制条目,该参数为电话簿中已存在的条目名称。当复制条目时,lpInfo参数指向的RASENTRYDLG结构中dwFlags成员必须设置RASEDFLAG_CloneEntry标志位。

标记RASEDFLAG_CloneEntry已不建议在Windows Vista/Windows Server2008及以上版本中使用。后续版本中该标志位可能被修改或不能使用。修改一个条目时,建议使用RasGetEntryProperties获取该条目并且使用一个新的条目名称调用RasSetEntryProperties函数来保存条目。

如果是创建新条目,该名称为新条目名称。该参数为空时,自动使用一个默认的名称。创建新条目时,lpInfo参数指向的RASENTRYDLG结构中dwFlags成员必须设置RASEDFLAG_NewEntry标志位。

lpInfo [in]

指向一个包含附加输入输出参数的RASDIALDLG结构。作为输入参数,结构成员dwSize必须设置为sizeof(RASDIALDLG)。设置dwFlags成员以明确创建、修改或复制操作。当有错误发生时,结构成员dwError返回错误码,否则返回0。

返回值

如果用户创建、修改或者复制了电话簿,应返回TRUE,否则返回FALSE。

当有错误发生时,RasCustomEntryDlg函数应设置RASENTRYDLG结构中的dwError成员为来自Routing and 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;
}

系统支持

客户端最小支持Windows 2000专业版
服务端最小支持Windows 2000 Server
HeaderRasdlg.h
LibraryRasdlg.lib
DLLRasdlg.dll
Unicode和ANSI名称RasEntryDlgW(Unicode)和RasEntryDlgA(ANSI)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值