Files
Work/rasapi/MAIN.CPP
2024-08-07 09:16:27 -04:00

43 lines
1.7 KiB
C++

#include <rasapi/rasapi.hpp>
#include <rasapi/rassrv.hpp>
#include <rasapi/dialparm.hpp>
WORD findEntry(Block<RasEntryName> &rasEntryNames,RasEntryName &rasEntryName);
int PASCAL WinMain(HINSTANCE /*hInstance*/,HINSTANCE /*hPrevInstance*/,LPSTR /*lpszCmdLine*/,int /*nCmdShow*/)
{
RemoteAccessServer remoteServerInterface;
RasConnectionStatus rasConnectionStatus;
RasConnectionState rasConnectionState;
RasDialParams rasDialParams;
Block<RasEntryName> entryNames;
RasEntryName rasEntryName;
HRASCONN hRasConn(0);
if(!remoteServerInterface.isOkay())return FALSE;
remoteServerInterface.rasEnumEntries(entryNames);
if(!entryNames.size())return FALSE;
rasEntryName.entryName("Long Island Link");
if(!findEntry(entryNames,rasEntryName))return FALSE;
rasDialParams.entryName(rasEntryName.entryName());
rasDialParams.phoneNumber("");
rasDialParams.callbackNumber("");
rasDialParams.userName("sean");
rasDialParams.password("Cygnus");
rasDialParams.domain("");
if(remoteServerInterface.rasDial(0,0,&((tagRASDIALPARAMSA&)rasDialParams),0,0,&hRasConn))return FALSE;
remoteServerInterface.rasGetConnectStatus(hRasConn,rasConnectionStatus);
rasConnectionState=rasConnectionStatus.rasConnectionState();
if(!rasConnectionState.connected())::MessageBox(::GetFocus(),(LPSTR)"No connection.",(LPSTR)rasDialParams.entryName(),MB_OK);
remoteServerInterface.rasHangUp(hRasConn);
return FALSE;
}
WORD findEntry(Block<RasEntryName> &rasEntryNames,RasEntryName &rasEntryName)
{
for(short entryIndex=0;entryIndex<rasEntryNames.size();entryIndex++)
if(rasEntryNames[entryIndex].entryName()==rasEntryName.entryName())return TRUE;
return FALSE;
}