Files
Work/rasapi/Rassrv.cpp
2024-08-07 09:16:27 -04:00

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;
}