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 |
Header | Rasdlg.h |
Library | Rasdlg.lib |
DLL | Rasdlg.dll |
Unicode和ANSI名称 | RasEntryDlgW(Unicode)和RasEntryDlgA(ANSI) |