Platform SDK: RAS/Routing and RAS

RasGetProjectionInfo

The RasGetProjectionInfo function obtains information about a remote access projection operation for a specified remote access component protocol.

DWORD RasGetProjectionInfo(
  HRASCONN hrasconn,            // handle that specifies
                                //  remote access connection of interest
  RASPROJECTION rasprojection,  // specifies type of
                                //  projection information to obtain
  LPVOID lpprojection,          // points to buffer that
                                //  receives projection information
  LPDWORD lpcb                  // points to variable that
                                //  specifies buffer size
);

Parameters

hrasconn
Handle to the remote access connection of interest. An application obtains a RAS connection handle from the RasDial or RasEnumConnections function.
rasprojection
Specifies a RASPROJECTION enumerated type value that specifies the protocol of interest.
lpprojection
Pointer to a buffer that will receive the information specified by the rasprojection parameter. The information will be in a structure appropriate to the rasprojection value.
rasprojection value Data structure
RASP_Amb RASAMB
RASP_PppCcp RASPPPCCP
RASP_PppIp RASPPPIP
RASP_PppIpx RASPPPIPX
RASP_PppLcp RASPPPLCP
RASP_PppNbf RASPPPNBF
RASP_Slip RASPSLIP

lpcb
Pointer to a variable that, on entry, specifies the size in bytes of the buffer pointed to by lpprojection. On exit, this variable contains the size of the buffer needed to contain the specified projection information.

Return Values

If the function succeeds, the return value is zero.

If the function fails, the return value is an error code. The function may return a nonzero RAS error code, or one of the following error codes.

Value Meaning
ERROR_BUFFER_TOO_SMALL The buffer pointed to by lpprojection is not large enough to contain the requested information.
ERROR_INVALID_HANDLE The hrasconn parameter is not a valid handle.
ERROR_INVALID_PARAMETER One of the parameters is invalid.
ERROR_INVALID_SIZE The dwSize member of the structure pointed to by lpprojection specifies an invalid size.
ERROR_PROTOCOL_NOT_CONFIGURED The control protocol for which information was requested neither succeeded nor failed, because the connection's phone-book entry did not require that an attempt to negotiate the protocol be made. This is a RAS error code.

Remarks

Remote access projection is the process whereby a remote access server and a remote client negotiate network protocol-specific information. A remote access server uses this network protocol-specific information to represent a remote client on the network.

Windows NT/2000: Remote access projection information is not available until the operating system has executed the RasDial RASCS_Projected state on the remote access connection. If RasGetProjectionInfo is called prior to the RASCS_Projected state, it returns ERROR_PROJECTION_NOT_COMPLETE.

Windows 95: Windows 95 Dial-Up Networking does not support the RASCS_Projected state. The projection phase may be done during the RASCS_Authenticate state. If the authentication is successful, the connection operation proceeds to the RASCS_Authenticated state, and projection information is available for successfully configured protocols. If RasGetProjectionInfo is called prior to the RASCS_Authenticated state, it returns ERROR_PROTOCOL_NOT_CONFIGURED.

Requirements

  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Ras.h.
  Library: Use Rasapi32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000.

See Also

Remote Access Service (RAS) Overview, Remote Access Service Functions, RASAMB, RasDial, RasEnumConnections, RASPPPNBF, RASPPPIPX, RASPPPIP, RASPROJECTION