// Pega as propriedades das conexões
lpRasConn[0].dwSize = sizeof(RASCONN);
cb = sizeof(RASCONN) * cConnections;
if(RasEnumConnections(lpRasConn, &cb, &cConnections))
{
// Se falhar, libera memória e retorna -1
GlobalFree(lpRasConn);
return -1;
}
// Atribue o buffer ao ponteiro passado como parâmetro,
// nunca se esquecer de liberar a memória quando o buffer
// não for mais utilizado.
*lppRasConn = lpRasConn;
}
// Retorna o número de conexões
return cConnections;
}
//---------------------------------------------------------------------------
void main()
{
LPRASCONN lpRasConn;
int cConnections;
char key = 0;
int oldCount = -2;
Pergunta
codak@outlook.com.br
Boa noite! preciso urgente da ajuda de vocês, tenho um codigo aqui porem e para windows e c++, gostaria do mesmo para linux em c
#include <windows.h>
#include <ras.h>
#include <stdio.h>
#include <conio.h>
#ifndef __cplusplus
typedef enum { false, true } bool;
#endif
#define ESC 27
//---------------------------------------------------------------------------
int __fastcall EnumConnections(LPRASCONN *lppRasConn)
{
LPRASCONN lpRasConn;
DWORD cb = 0, cConnections = 0;
// Verifica quantas conexões estão ativas
RasEnumConnections(0, &cb, &cConnections);
if(cConnections)
{
// Aloca memória p/ as conexões
lpRasConn = (LPRASCONN)GlobalAlloc(GPTR, sizeof(RASCONN) * cConnections);
// Se falhar retorna -1
if(!lpRasConn)
return -1;
// Pega as propriedades das conexões
lpRasConn[0].dwSize = sizeof(RASCONN);
cb = sizeof(RASCONN) * cConnections;
if(RasEnumConnections(lpRasConn, &cb, &cConnections))
{
// Se falhar, libera memória e retorna -1
GlobalFree(lpRasConn);
return -1;
}
// Atribue o buffer ao ponteiro passado como parâmetro,
// nunca se esquecer de liberar a memória quando o buffer
// não for mais utilizado.
*lppRasConn = lpRasConn;
}
// Retorna o número de conexões
return cConnections;
}
//---------------------------------------------------------------------------
void main()
{
LPRASCONN lpRasConn;
int cConnections;
char key = 0;
int oldCount = -2;
while(key != ESC)
{
cConnections = EnumConnections(&lpRasConn);
if(kbhit())
key = getch();
if(oldCount != cConnections)
{
oldCount = cConnections;
clrscr();
switch(cConnections)
{
case -1:
printf("Erro verificando conexões.");
return;
case 0:
printf("Nenhuma conexão ativa.");
break;
default:
for(int c = 0; c < cConnections; c++)
{
RASCONNSTATUS RasConnStatus;
RasConnStatus.dwSize = sizeof(RASCONNSTATUS);
RasGetConnectStatus(lpRasConn[c].hrasconn, &RasConnStatus);
printf("%s - %s - %s\n", lpRasConn[c].szEntryName,
lpRasConn[c].szDeviceName,
RasConnStatus.rasconnstate ==
RASCS_Connected ? "Conectado" : "Não conectado");
}
}
GlobalFree(lpRasConn);
}
}
}
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.