//---------------------------------------------------------------------------
// Funktion RasConnected() prüft ob eine Einwahlverbindung über das
// DFÜ-Netzwerk besteht.
//---------------------------------------------------------------------------
// Rückgabewert: true falls Verbindung besteht, false wenn keine Verbindung
// oder beim Auftreten von Fehlern
//---------------------------------------------------------------------------
// Hinweis:
// #define WINVER 0x400 - Anweisung muss vor #include <ras.h> stehen !
//---------------------------------------------------------------------------
#pragma warn -dup
#define WINVER 0x400
#include <ras.h>
bool RasConnected(void)
{
DWORD dwSizeBuf = 0;
DWORD dwConnections = 0;
RASCONN stRasConn;
bool blRetVal = false;
stRasConn.dwSize = sizeof(stRasConn);
RasEnumConnections(&stRasConn, &dwSizeBuf, &dwConnections);
RASCONN *lpRasConn = new RASCONN[dwConnections];
lpRasConn->dwSize = sizeof(*lpRasConn);
RasEnumConnections(lpRasConn, &dwSizeBuf, &dwConnections);
for(DWORD i = 0; i < dwConnections; i++)
{
RASCONNSTATUS stRasStatus;
stRasStatus.dwSize = sizeof(RASCONNSTATUS);
if(!RasGetConnectStatus(lpRasConn[i].hrasconn, &stRasStatus))
{
if(stRasStatus.rasconnstate == RASCS_Connected)
{
blRetVal = true;
break;
}
}
}
delete []lpRasConn;
return blRetVal;
}
|