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
A RASPROJECTION enumerated type value that specifies the protocol of interest.
lpprojection
Points 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_PppNbf | RASPPPNBF |
RASP_PppIpx | RASPPPIPX |
RASP_PppIp | RASPPPIP |
lpcb
Points 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 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: 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.
See Also
RASAMB, RasDial, RasEnumConnections, RASPPPNBF, RASPPPIPX, RASPPPIP, RASPROJECTION