Compartir a través de


Función RasDeleteEntryA (ras.h)

La función RasDeleteEntry elimina una entrada de una libreta de teléfonos.

Sintaxis

DWORD RasDeleteEntryA(
  [in] LPCSTR unnamedParam1,
  [in] LPCSTR unnamedParam2
);

Parámetros

[in] unnamedParam1

Puntero a una cadena terminada en NULL que especifica la ruta de acceso completa y el nombre de archivo de un archivo de libreta de teléfonos (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.

Windows Me/98/95: Este parámetro siempre debe ser NULL. Las redes de acceso telefónico almacenan entradas de libreta de teléfonos en el registro en lugar de en un archivo de libreta de teléfonos.

[in] unnamedParam2

Puntero a una cadena terminada en NULL que especifica el nombre de una entrada existente que se va a eliminar.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es ERROR_SUCCESS.

Si se produce un error en la función, el valor devuelto es uno de los siguientes códigos de error o un valor de Códigos de error de enrutamiento y acceso remoto o Winerror.h.

Valor Significado
ERROR_ACCESS_DENIED
El usuario no tiene privilegios correctos. Solo un administrador puede completar esta tarea.
ERROR_INVALID_NAME
El nombre de entrada especificado en lpszEntry no existe.

Observaciones

El código de ejemplo siguiente elimina la entrada de la libreta de teléfono especificada por la variable lpszEntry.

#include <stdio.h>
#include <windows.h>
#include "ras.h"
#include "strsafe.h"

#define PHONE_NUMBER_LENGTH 7
#define DEVICE_NAME_LENGTH 5
#define DEVICE_TYPE_LENGTH 5

DWORD __cdecl wmain(){

    DWORD dwRet = ERROR_SUCCESS;
    LPTSTR lpszEntry = L"RASEntryName";
    LPTSTR lpszphonenumber = L"5555555";
    LPTSTR lpszdevicename = L"Modem";
    LPTSTR lpszdevicetype = RASDT_Modem;

    // Allocate heap memory for the RASENTRY structure
    LPRASENTRY lpentry = (LPRASENTRY)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(RASENTRY));
    if (lpentry == NULL){
        printf("HeapAlloc failed");
        return 0;
       }
  
    // The RASENTRY->dwSize member has to be initialized or the RRAS APIs will fail below.
    lpentry->dwSize = sizeof(RASENTRY);
    lpentry->dwFramingProtocol = RASFP_Ppp;
    lpentry->dwfOptions = 0;
    lpentry->dwType = RASET_Phone;
    dwRet |= StringCchCopyN(lpentry->szLocalPhoneNumber, RAS_MaxPhoneNumber, lpszphonenumber, PHONE_NUMBER_LENGTH);
    dwRet |= StringCchCopyN(lpentry->szDeviceName, RAS_MaxDeviceName, lpszdevicename, DEVICE_NAME_LENGTH);
    dwRet |= StringCchCopyN(lpentry->szDeviceType, RAS_MaxDeviceType, lpszdevicetype, DEVICE_TYPE_LENGTH);
    if (dwRet != ERROR_SUCCESS){
        wprintf(L"RASENTRY structure initialization failed");
        HeapFree(GetProcessHeap(), 0, lpentry);
        return 0;
    }

    // Validate the new entry's name
    dwRet = RasValidateEntryName(NULL, lpszEntry);
    if (dwRet != ERROR_SUCCESS){
        wprintf(L"RasValidateEntryName failed: Error = %d\n", dwRet);
        HeapFree(GetProcessHeap(), 0, lpentry);
        return 0;
    }

    // Create and set the new entry's properties
    dwRet = RasSetEntryProperties(NULL, lpszEntry, lpentry, lpentry->dwSize, NULL, 0);
    if (dwRet != ERROR_SUCCESS){
        wprintf(L"RasSetEntryProperties failed: Error = %d\n", dwRet);
        HeapFree(GetProcessHeap(), 0, lpentry);
        return 0;
    }

    // Clean up: delete the new entry
    dwRet = RasDeleteEntry(NULL, lpszEntry);
    if (dwRet != ERROR_SUCCESS){
        wprintf(L"RasDeleteEntry failed: Error = %d\n", dwRet);
    }

    HeapFree(GetProcessHeap(), 0, lpentry);
    return 0;
}

Nota

El encabezado ras.h define RasDeleteEntry 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 ras.h
biblioteca de Rasapi32.lib
DLL de Rasapi32.dll

Consulte también

RasCreatePhonebookEntry

RasEnumEntries

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

funciones del servicio de acceso remoto