35 lines
1.1 KiB
C++
35 lines
1.1 KiB
C++
#include <rasapi/rassrv.hpp>
|
|
|
|
WORD RemoteAccessServer::rasEnumEntries(Block<RasEntryName> &rasEntryNames)
|
|
{
|
|
tagRASENTRYNAMEA *lpEntryNames;
|
|
DWORD bytesNeeded(0);
|
|
DWORD entriesInBuff(0);
|
|
|
|
rasEntryNames.remove();
|
|
RasApi::rasEnumEntries(0,0,0,&bytesNeeded,&entriesInBuff);
|
|
if(!entriesInBuff)return rasEntryNames.size();
|
|
lpEntryNames=new tagRASENTRYNAMEA[bytesNeeded/sizeof(tagRASENTRYNAMEA)];
|
|
lpEntryNames[0].dwSize=sizeof(tagRASENTRYNAMEA);
|
|
RasApi::rasEnumEntries(0,0,lpEntryNames,&bytesNeeded,&entriesInBuff);
|
|
for(short entryIndex=0;entryIndex<entriesInBuff;entryIndex++)
|
|
{
|
|
RasEntryName rasEntryName;
|
|
rasEntryName.entryName(lpEntryNames[entryIndex].szEntryName);
|
|
rasEntryNames.insert(&rasEntryName);
|
|
}
|
|
delete[] lpEntryNames;
|
|
return rasEntryNames.size();
|
|
}
|
|
|
|
DWORD RemoteAccessServer::rasGetConnectStatus(HRASCONN hRasConn,RasConnectionStatus &someRasConnectionStatus)
|
|
{
|
|
DWORD returnCode;
|
|
RASCONNSTATUS rasConnStatus;
|
|
rasConnStatus.dwSize=sizeof(RASCONNSTATUS);
|
|
returnCode=RasApi::rasGetConnectStatus(hRasConn,&rasConnStatus);
|
|
someRasConnectionStatus=rasConnStatus;
|
|
return returnCode;
|
|
}
|
|
|