Compartir a través de


Función RasEntryDlgA (rasdlg.h)

La función RasEntryDlg muestra hojas de propiedades modales que permiten a un usuario manipular entradas de libreta de teléfonos. Si edita o copia una entrada de libreta de teléfonos existente, la función muestra una hoja de propiedades de entrada de libreta de teléfonos. La función RasEntryDlg devuelve cuando el usuario cierra la hoja de propiedades.

Sintaxis

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

Parámetros

[in] lpszPhonebook

Puntero a un cadena terminada en nullque especifica la ruta de acceso completa y el nombre de archivo de un archivo de libreta telefónica (PBK). Si este parámetro es NULL, la función usa el archivo de libreta de teléfono predeterminado actual. El archivo de libreta de teléfonos predeterminado es el seleccionado por el usuario en la hoja de propiedades preferencias de usuario de del cuadro de diálogo Redes de acceso telefónico.

[in] lpszEntry

Puntero a un cadena terminada en nullque especifica el nombre de la entrada de la libreta de teléfonos para editar, copiar o crear.

Si está editando o copiando una entrada, este parámetro es el nombre de una entrada de libreta de teléfonos existente. Si va a copiar una entrada, establezca la marca RASEDFLAG_CloneEntry en el miembro dwFlags de la estructura de RASENTRYDLG.

Nota La marca RASEDFLAG_CloneEntry ha quedado en desuso, a partir de Windows Vista y Windows Server 2008. Puede modificarse o no estar disponible en versiones posteriores. En su lugar, copie una entrada llamando a RasGetEntryProperties para obtener la entrada y, a continuación, llame a RasSetEntryProperties para guardar la entrada con un nuevo nombre.
 
Si va a crear una entrada, este parámetro es un nombre de entrada nuevo predeterminado que el usuario puede cambiar. Si este parámetro es NULL, la función proporciona un nombre predeterminado. Si va a crear una entrada, establezca la marca de RASEDFLAG_NewEntry en el miembro dwFlags de la estructura RASENTRYDLG.

[in] lpInfo

Puntero a una estructura de RASENTRYDLG que especifica parámetros de entrada y salida adicionales. El miembro dwSize de esta estructura debe especificar sizeof(RASENTRYDLG). Use el miembro dwFlags para indicar si está creando, editando o copiando una entrada. Si se produce un error, el miembro dwError devuelve un código de error; de lo contrario, devuelve cero.

Valor devuelto

Si el usuario crea, copia o edita una entrada de libreta de teléfonos, el valor devuelto se TRUE. De lo contrario, la función devuelve FALSE.

Si se produce un error, rasEntryDlg establece el miembro dwError de la estructura RASENTRYDLG de en un valor de Códigos de error de enrutamiento y acceso remoto o Winerror.h.

Observaciones

Las funciones RasCreatePhonebookEnt ry y RasEditPhonebookEntry llaman a la función RasEntryDlg.

El código de ejemplo siguiente muestra una hoja de propiedades para crear una entrada. La variable lpszEntry especifica el nombre predeterminado de la nueva entrada.

#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;
}

Nota

El encabezado rasdlg.h define RASENTRYDLG como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de rasdlg.h
biblioteca de Rasdlg.lib
DLL de Rasdlg.dll

Consulte también

RASENTRYDLG

RasCreatePhonebookEntry

RasCustomEntryDlg

RasEditPhonebookEntry

información general del servicio de acceso remoto (RAS)

funciones del servicio de acceso remoto