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éfono 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 una cadena terminada en null que 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 telefónica predeterminado actual. El archivo de libreta telefónica predeterminado es el seleccionado por el usuario en la hoja de propiedades Preferencias de usuario del cuadro de diálogo Redes de acceso telefónico .

[in] lpszEntry

Puntero a una cadena terminada en null que especifica el nombre de la entrada de la libreta telefónica para editar, copiar o crear.

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

Nota La marca RASEDFLAG_CloneEntry ha quedado en desuso, a partir de Windows Vista y Windows Server 2008. En versiones posteriores podría modificarse o no estar disponible. En su lugar, copie una entrada mediante una llamada 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 nuevo nombre de entrada 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 RASEDFLAG_NewEntry en el miembro dwFlags de la estructura RASENTRYDLG .

[in] lpInfo

Puntero a una estructura 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 la libreta de teléfonos, el valor devuelto es TRUE. De lo contrario, la función devuelve FALSE.

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

Comentarios

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

El código de ejemplo siguiente muestra una hoja de propiedades para crear una nueva 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 Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado rasdlg.h
Library Rasdlg.lib
Archivo DLL Rasdlg.dll

Consulte también

RASENTRYDLG

RasCreatePhonebookEntry

RasCustomEntryDlg

RasEditPhonebookEntry

Información general sobre el servicio de acceso remoto (RAS)

Funciones del Servicio de acceso remoto