PDA

View Full Version : [C++/Ras]Connessioni


Luc@s
24-01-2004, 12:38
Voglio enumerare le connessioni attive e ho scritto il seguente cod(modificato da un esempio MSDN):

#define STRICT
#define WIN32_LEAN_AND_MEAN
#include <iostream>
#include <cstdio>
#include <windows.h>
#include <Ras.h>
#include <RasError.h>

using std::cin;
using std::cout;

int main(int argc, char * argv[])
{
DWORD dwCb = sizeof(RASCONN);
DWORD dwErr = ERROR_SUCCESS;
DWORD dwRetries = 5;
DWORD dwConnections = 0;
RASCONN* lpRasConn = NULL;
while (dwRetries--)
{
lpRasConn = HeapAlloc(GetProcessHeap(), 0, dwCb); <<<<< 1 errore
if (NULL == lpRasConn)
{
dwErr = ERROR_NOT_ENOUGH_MEMORY;
break;
}
lpRasConn->dwSize = sizeof(RASCONN);
dwErr = RasEnumConnections(
lpRasConn,
&dwCb,
&dwConnections);
if (ERROR_BUFFER_TOO_SMALL != dwErr)
{
break;
}
}
if (ERROR_SUCCESS == dwErr)
{
DWORD i;

printf("The following RAS connections are currently active\n\n");
for (i = 0; i < dwConnections; i++)
{
printf("%s\n", lpRasConn[i]->szEntryName); <<<<< 2 errore
}
}
else
{
printf("RasEnumConnections failed: Error = %d\n", dwErr);
}
if (NULL != lpRasConn)
{
HeapFree(GetProcessHeap(), 0, lpRasConn);
lpRasConn = NULL;
}
cout << std::endl;
cin.get();
return 0;
}


Solo che mi da :(:(

ras.cpp: In function `int main(int, char**)':
ras.cpp:21: invalid conversion from `void*' to `RASCONN*'
ras.cpp:44: base operand of `->' has non-pointer type `tagRASCONNA'



Why???


Tnk 2000

cionci
24-01-2004, 12:48
lpRasConn = (RASCONN *)HeapAlloc(GetProcessHeap(), 0, dwCb);

Luc@s
24-01-2004, 12:50
cosi risolvo il 1° ma nn il 2° :(

cionci
24-01-2004, 13:02
Prova cosė: lpRasConn[i].szEntryName

maxithron
24-01-2004, 13:04
Originariamente inviato da cionci
Prova cosė: lpRasConn[i].szEntryName

EDIT: non dovevo rispondere qui :p

Luc@s
24-01-2004, 13:09
Originariamente inviato da maxithron
EDIT: non dovevo rispondere qui :p


ok tnk!

Luc@s
24-01-2004, 13:16
risolto tnk!