MPRAPI_ADMIN_DLL_CALLBACKS structure (mprapi.h)

The MPRAPI_ADMIN_DLL_CALLBACKS structure is used by the MprAdminInitializeDllEx function to register the callback function pointers.

Syntax

typedef struct _MPRAPI_ADMIN_DLL_CALLBACKS {
  UCHAR                                            revision;
  PMPRADMINGETIPADDRESSFORUSER                     lpfnMprAdminGetIpAddressForUser;
  PMPRADMINRELEASEIPADRESS                         lpfnMprAdminReleaseIpAddress;
  PMPRADMINGETIPV6ADDRESSFORUSER                   lpfnMprAdminGetIpv6AddressForUser;
  PMPRADMINRELEASEIPV6ADDRESSFORUSER               lpfnMprAdminReleaseIpV6AddressForUser;
  PMPRADMINACCEPTNEWLINK                           lpfnRasAdminAcceptNewLink;
  PMPRADMINLINKHANGUPNOTIFICATION                  lpfnRasAdminLinkHangupNotification;
  PMPRADMINTERMINATEDLL                            lpfnRasAdminTerminateDll;
  PMPRADMINACCEPTNEWCONNECTIONEX                   lpfnRasAdminAcceptNewConnectionEx;
  PMPRADMINACCEPTTUNNELENDPOINTCHANGEEX            lpfnRasAdminAcceptEndpointChangeEx;
  PMPRADMINACCEPTREAUTHENTICATIONEX                lpfnRasAdminAcceptReauthenticationEx;
  PMPRADMINCONNECTIONHANGUPNOTIFICATIONEX          lpfnRasAdminConnectionHangupNotificationEx;
  PMPRADMINRASVALIDATEPREAUTHENTICATEDCONNECTIONEX lpfnRASValidatePreAuthenticatedConnectionEx;
} MPRAPI_ADMIN_DLL_CALLBACKS, *PMPRAPI_ADMIN_DLL_CALLBACKS;

Members

revision

A value that represents the version of this structure.

Value Meaning
MPRAPI_ADMIN_DLL_VERSION_1
The RAS_CONNECTION_EX structure and the callback function pointers that use it as a parameter are not supported by this structure.
MPRAPI_ADMIN_DLL_VERSION_2
The RAS_CONNECTION_EX structure and the callback function pointers that use it as a parameter are supported by this structure.

lpfnMprAdminGetIpAddressForUser

A function pointer to an instance of the MprAdminGetIpAddressForUser callback. The callback prototype is defined as:

typedef DWORD (APIENTRY * PMPRADMINGETIPADDRESSFORUSER)(WCHAR *, WCHAR *, DWORD *, BOOL *);

lpfnMprAdminReleaseIpAddress

A function pointer to an instance of the MprAdminReleaseIpAddress callback. The callback prototype is defined as:

typedef VOID  (APIENTRY * PMPRADMINRELEASEIPADRESS)(WCHAR *, WCHAR *, DWORD *);

lpfnMprAdminGetIpv6AddressForUser

A function pointer to an instance of the MprAdminGetIpv6AddressForUser callback. The callback prototype is defined as:

typedef DWORD (APIENTRY * PMPRADMINGETIPV6ADDRESSFORUSER)(WCHAR *, WCHAR *, IN6_ADDR *, BOOL *);

lpfnMprAdminReleaseIpV6AddressForUser

A function pointer to an instance of the MprAdminReleaseIpv6AddressForUser callback. The callback prototype is defined as:

typedef VOID  (APIENTRY * PMPRADMINRELEASEIPV6ADDRESSFORUSER)(WCHAR *, WCHAR *, IN6_ADDR *);

lpfnRasAdminAcceptNewLink

A function pointer to an instance of the MprAdminAcceptNewLink callback. The callback prototype is defined as:

typedef BOOL  (APIENTRY * PMPRADMINACCEPTNEWLINK)(RAS_PORT_0 *, RAS_PORT_1 *);

lpfnRasAdminLinkHangupNotification

A function pointer to an instance of the MprAdminLinkHangupNotification callback. The callback prototype is defined as:

typedef VOID  (APIENTRY * PMPRADMINLINKHANGUPNOTIFICATION)(RAS_PORT_0 *, RAS_PORT_1 *);

lpfnRasAdminTerminateDll

A function pointer to an instance of the MprAdminTerminateDll callback. The callback prototype is defined as:

typedef DWORD (APIENTRY * PMPRADMINTERMINATEDLL)();

lpfnRasAdminAcceptNewConnectionEx

A function pointer to an instance of the MprAdminAcceptNewConnectionEx callback. The callback prototype is defined as:

typedef BOOL  (APIENTRY * PMPRADMINACCEPTNEWCONNECTIONEX)(RAS_CONNECTION_EX *);

lpfnRasAdminAcceptEndpointChangeEx

lpfnRasAdminAcceptReauthenticationEx

A function pointer to an instance of the MprAdminAcceptReauthenticationEx callback. The callback prototype is defined as:

typedef BOOL  (APIENTRY * PMPRADMINACCEPTREAUTHENTICATIONEX)(RAS_CONNECTION_EX *);

lpfnRasAdminConnectionHangupNotificationEx

A function pointer to an instance of the MprAdminConnectionHangupNotificationEx callback. The callback prototype is defined as:

typedef VOID  (APIENTRY * PMPRADMINCONNECTIONHANGUPNOTIFICATIONEX)(RAS_CONNECTION_EX *);

lpfnRASValidatePreAuthenticatedConnectionEx

Remarks

The following restrictions apply to the callback functions in the MPRAPI_ADMIN_DLL_CALLBACKS structure:

  • Both lpfnMprAdminGetIpv6AddressForUser and lpfnMprAdminReleaseIpV6AddressForUser must be implemented, or neither are implemented.
  • Both lpfnMprAdminGetIpAddressForUser and lpfnMprAdminReleaseIpAddress must be implemented, or neither are implemented.
  • Either lpfnRasAdminLinkHangupNotification or lpfnRasAdminAcceptNewLink must be implemented.
  • Either lpfnRasAdminAcceptNewConnectionEx or lpfnRasAdminConnectionHangupNotificationEx must be implemented.

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Header mprapi.h

See also

IN6_ADDR

MprAdminAcceptNewConnectionEx

MprAdminAcceptNewLink

MprAdminAcceptReauthenticationEx

MprAdminConnectionHangupNotificationEx

MprAdminGetIpAddressForUser

MprAdminGetIpv6AddressForUser

MprAdminInitializeDll

MprAdminLinkHangupNotification

MprAdminReleaseIpAddress

MprAdminReleaseIpv6AddressForUser

MprAdminTerminateDll

RAS Administration Structures

RAS_CONNECTION_EX

RAS_PORT_0

RAS_PORT_1

Remote Access Service Administration Reference