Solved

RAS Win32 API:  Does anyone have experience with RasEnumConnections?

Posted on 1998-09-16
4
452 Views
Last Modified: 2012-06-21
Does anyone have experience with RasEnumConnections?  I need to get all the connections and see if one of the existing connections is the connection I am trying to make.  The reason I need this is that I get a non-zero (failure) return code when I call RasDial on  a specific phonebook entry if the connection for this entry already exists.  Does anyone know a workaround for this or do I have to use RasEnumConnections?  If so, anyone have any sample implementations of this method?

Thank you
0
Comment
Question by:ext3awf
  • 2
4 Comments
 
LVL 4

Accepted Solution

by:
agreen earned 100 total points
ID: 1172908
Take a look at the RASberry sample:
http://192.116.171.100/rasberry.zip
0
 

Expert Comment

by:msiegenthaler
ID: 1172909
try this. It should work correctly.

  RASCONN l_RASConnections[10];
  l_RASConnections[0].dwSize=sizeof(l_RASConnections[0]);
  DWORD l_BufferSize=sizeof(l_RASConnections);
  DWORD l_ConnectionCount=0;

  if (RasEnumConnections(&l_RASConnections[0], &l_BufferSize, &l_ConnectionCount)==0)  
  {
    for (DWORD i=0; i<l_ConnectionCount; i++)
    {
      if (m_CheckAll || l_RASConnections[i].szEntryName==m_Line)
        RasHangUp(l_RASConnections[i].hrasconn);
    }
  }
0
 

Author Comment

by:ext3awf
ID: 1172910
msiegenthaler,
When I try this code I get the following errors:

1. I get an Unknown character 0x0a0  for  l_RASConnections[10]

2. I get no conversion from int to char* for
if (m_CheckAll || l_RASConnections[i].szEntryName == m_Line)

3. What are m_CheckAll and m_Line defined as?

4. When I make the call to DWORD rc = RasDIAL(NULL, NULL, &rdParams, NULL, NULL, l_RASConnections[i].hrasconn);      It doesn't like the
last parameter.  The complier gives me: struct HRASCONN__ *' to 'struct HRASCONN__ ** '                                                   
0
 

Expert Comment

by:msiegenthaler
ID: 1172911
The part inside the FOR doesn't matter. I've copied this code out of one of my programs.'l_RASConnections[i].szEntryName' is the name of RAS connections and 'l_RASConnections[i].hrasconn' can be used for dial or hang up a connection.
To the 4. question: I'm not sure what's up, but I'd recommend you to read to help

U understand how the stuff works?
0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Unlike C#, C++ doesn't have native support for sealing classes (so they cannot be sub-classed). At the cost of a virtual base class pointer it is possible to implement a pseudo sealing mechanism The trick is to virtually inherit from a base class…
Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question