Los rincones del API Win32: Introducción al API WinInet - Funciones para el marcado del módem

9 - Funciones para el marcado del módem

[editar]
Tutorial creado por Juan Manuel. Extraido de: http://www.lawebdejm.com
30 de Noviembre de 1999
Una vez que tenemos claro que nuestro sistema se conecta a través del módem debemos establecer la llamada telefónica. Para ello podemos hacer uso de la función InternetAttemptConnect, que nos mostrará la ventana de marcado, o si queremos un mayor control, llamar a alguna de las siguientes funciones:


InternetAutodial

Establecerá una conexión con el módem configurado como predeterminado (a partir de IE 4). Esta función sólo mostrará la ventana de marcado (según aparece en imágen de más abajo) cuando así se haya configurado en las opciones del sistema ( Panel de control - Opciones de internet - Conexiones).

BOOL InternetAutodial(
          DWORD  dwOpciones,
          HWND   hwndPadre
      );

El segundo parámetro será el descriptor de la ventana padre, al igual que en la función InternetGoOnline. El primer parámetro será un valor dentro de los siguientes posibles:

  • INTERNET_AUTODIAL_FORCE_ONLINE: desactiva la bandera de "Trabajar sin conexión".
  • INTERNET_AUTODIAL_FORCE_UNATTENDED: intenta hacer una conexión desatendida, marcando directamente el módem (aunque muestra una ventana de diálogo).

Esta función, como todas las demás, retorna un valor boolean indicando el éxito de la ejecución.


InternetAutodialHangup

Cuelga una llamada establecida con InternetAutodial:

BOOL InternetAutodialHangup(
          DWORD dwReservado
      );

El único parámetro debe pasarse como un 0, y el retorno nos indicará si se ha podido colgar la llamada o no.


InternetDial

Dado el carácter limitado de las funciones anteriores, se puede establecer el marcado del módem con esta otra función, que además nos permite utilizar distintos módems o configurar el comportamiento.

DWORD InternetDial(
            HWND     hwndPadre,
            LPTSTR   lpszIdConexión,
            DWORD    dwOpciones,
            LPDWORD  lpdwConexión,
            DWORD    dwReservado
        );

Los parámetros tienen los siguientes significados:

  • hwndPadre: el descriptor de la ventana padre, al igual que en InternetGoOnline.

  • lpszIdConexión: una cadena con el nombre de la conexión a marcar. Se puede pasar NULL para utilizar la conexión predeterminada, o bien utilizar la función RasEnumConnections para obtener los nombres de las conexiones disponibles.

  • dwOpciones: son las opciones de marcado. Puede utilizarse cualquiera de los siguientes valores:

    • INTERNET_AUTODIAL_FORCE_ONLINE: Fuerza a desactivar la bandera "Trabajar sin conexión".

    • INTERNET_AUTODIAL_FORCE_UNATTENDED: Intenta realizar el marcado sin la intervención del usuario. En caso de que sea necesaria esta intervención, la función fallará.

    • INTERNET_DIAL_FORCE_PROMPT: Ignora la configuración de "Marcar automáticamente" y muestra siempre la ventana de marcado.

    • INTERNET_DIAL_UNATTENDED: Intenta realizar el marcado sin mostrar ningún tipo de interfaz. Si esto no es posible, mostrará algún tipo de ventana para que el usuario configure la conexión.

    • INTERNET_DIAL_SHOW_OFFLINE: Muestra el botón "Trabajar sin conexión" en vez del botón "Cancelar".

  • lpdwConexión: es un puntero a una variable donde se almacenará el número asignado a la conexión. Este valor debe conservarse hasta la llamada a InternetHangup.

  • dwReservado: Debe ser 0.

La función retorna ERROR_SUCCESS si todo ha ido correctamente, o uno de los siguientes errores:

  • ERROR_INVALID_PARAMETER: Alguno de los parámetros es incorrecto.
  • ERROR_NO_CONNECTION: Ha habido un problema.
  • ERROR_USER_DISCONNECTION: el usuario ha pulsado en el botón "Cancelar" o "Trabajar sin conexión".


InternetHangup

Esta función debe utilizarse para colgar una conexión establecida con InternetHangup. Para ello, necesitamos conocer el número de conexión asignado por el sistema en la función InternetDial.

DWORD InternetHangUp(
           DWORD dwConexión,
           DWORD dwReservado
       );

En el primer parámetro debemos pasar el número de conexión, obtenido a través del cuarto parámetro de la función InternetDial. El segundo parámetro debe ser siempre 0.

La función retorna ERROR_SUCCESS si se ha conseguido colgar la conexión o un código de error en cualquier otro caso.

[editar]

Sé el primero en opinar


Tutoriales relacionados con 'Los rincones del API Win32: Introducción al API WinInet'

Comienzo con un nuevo tema dentro dentro de la serie Los rincones del API Win32.... Más »
El protocolo FTP desde el API WinInet. Con este curso aprenderás a hacer un pequeño... Más »
Entramos en temas interesantes: el acceso a recursos remotos a través del protocolo de aplicación... Más »
En el anterior curso dejamos muchos temas en el tintero, así que voy a terminar... Más »
Damos una visión detallada de una de las características más interesantes de esta tecnología de... Más »

Autor y licencia de 'Los rincones del API Win32: Introducción al API WinInet'


Tutorial de Juan Manuel. Extraido de: http://www.lawebdejm.com CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.