Listconnexion (win32)

Description

Liste des connexions actives.
Fonction utilisées:
- GlobalAlloc(...)
- RasEnumConnections(...)
- RasGetProjectionInfo(...)

Source / Exemple :


//-----------------------------------------
// ListConnexion.c
// Necessite rasapi32.lib ou librasapi32.a
//-----------------------------------------

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

//-----------------------------------------
int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine,
                   int nCmdShow)
{
  DWORD     i, nbconn, bufsize;
  LPRASCONN lprascon;
  RASPPPIP  raspppip;
  CHAR      buffer[4096] = "\0";  

  lprascon = (LPRASCONN)GlobalAlloc(GPTR, sizeof(RASCONN));
  lprascon->dwSize = bufsize = sizeof(RASCONN);

  if(RasEnumConnections(lprascon, &bufsize, &nbconn) != 0)
  {
    MessageBox(NULL, 
               "Erreur fonction RasEnumConnections().", 
               "ListConnexion", 
               MB_OK | MB_ICONERROR);     
    return 1;
  }
  else 
  {
    for(i = 0; i < nbconn; i++) 
    {
      raspppip.dwSize = bufsize = sizeof(RASPPPIP);
      RasGetProjectionInfo(lprascon->hrasconn,
                           RASP_PppIp, 
                           &raspppip,
                           &bufsize);
      wsprintf(buffer + lstrlen(buffer), 
               "Connexion n° %d sur %d\n\n"
               "- Nom  :  %s\n"
               "- Type  :  %s\n"
               "- Device  :  %s\n"
               "- IP Locale  :  %s\n"
               "- IP Distante  :  %s\n\n",
               i + 1,
               nbconn, 
               lprascon->szEntryName,
               lprascon->szDeviceType,
               lprascon->szDeviceName,
               raspppip.szIpAddress,
               raspppip.szServerIpAddress); 
      lprascon++;
    }
    
    if(nbconn)
      MessageBox(NULL, 
                 buffer, 
                 "ListConnexion", 
                 MB_OK | MB_ICONINFORMATION);
    else
      MessageBox(NULL, 
                 "Pas de connexion active !", 
                 "ListConnexion", 
                 MB_OK | MB_ICONEXCLAMATION);    
  }
  return 0;
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.