Headers diff for mprapi.dll between 6.0.6002.18005-Windows 6.0 and 6.1.7601.17514-Windows 7.0 versions



 mprapi.h (6.0.6002.18005-Windows 6.0)   mprapi.h (6.1.7601.17514-Windows 7.0) 
skipping to change at line 135 skipping to change at line 135
#ifndef __ROUTING_MPRADMIN_H__ #ifndef __ROUTING_MPRADMIN_H__
#define __ROUTING_MPRADMIN_H__ #define __ROUTING_MPRADMIN_H__
#if _MSC_VER > 1000 #if _MSC_VER > 1000
#pragma once #pragma once
#endif #endif
#include <lmcons.h> #include <lmcons.h>
#include <ras.h> #include <ras.h>
#include <in6addr.h> #include <in6addr.h>
#include <wincrypt.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
//#if(WINVER >= 0x0403)
// //
// Name of the Routing and RemoteAccess Service // Name of the Routing and RemoteAccess Service
// //
#define RRAS_SERVICE_NAME TEXT("RemoteAccess") #define RRAS_SERVICE_NAME TEXT("RemoteAccess")
// //
// Protocol IDs // Protocol IDs
// //
skipping to change at line 183 skipping to change at line 182
typedef enum _ROUTER_INTERFACE_TYPE typedef enum _ROUTER_INTERFACE_TYPE
{ {
ROUTER_IF_TYPE_CLIENT, ROUTER_IF_TYPE_CLIENT,
ROUTER_IF_TYPE_HOME_ROUTER, ROUTER_IF_TYPE_HOME_ROUTER,
ROUTER_IF_TYPE_FULL_ROUTER, ROUTER_IF_TYPE_FULL_ROUTER,
ROUTER_IF_TYPE_DEDICATED, ROUTER_IF_TYPE_DEDICATED,
ROUTER_IF_TYPE_INTERNAL, ROUTER_IF_TYPE_INTERNAL,
ROUTER_IF_TYPE_LOOPBACK, ROUTER_IF_TYPE_LOOPBACK,
ROUTER_IF_TYPE_TUNNEL1, ROUTER_IF_TYPE_TUNNEL1,
ROUTER_IF_TYPE_DIALOUT ROUTER_IF_TYPE_DIALOUT,
ROUTER_IF_TYPE_MAX // do not use.Illegal
} }
ROUTER_INTERFACE_TYPE; ROUTER_INTERFACE_TYPE;
typedef enum _ROUTER_CONNECTION_STATE typedef enum _ROUTER_CONNECTION_STATE
{ {
ROUTER_IF_STATE_UNREACHABLE, ROUTER_IF_STATE_UNREACHABLE,
ROUTER_IF_STATE_DISCONNECTED, ROUTER_IF_STATE_DISCONNECTED,
ROUTER_IF_STATE_CONNECTING, ROUTER_IF_STATE_CONNECTING,
ROUTER_IF_STATE_CONNECTED ROUTER_IF_STATE_CONNECTED
} }
skipping to change at line 295 skipping to change at line 294
#if (WINVER >= 0x501) #if (WINVER >= 0x501)
#define MPRIO_IpSecPreSharedKey 0x80000000 #define MPRIO_IpSecPreSharedKey 0x80000000
#endif #endif
// //
// MPR_INTERFACE_2 'dwProtocols' bit flags. // MPR_INTERFACE_2 'dwProtocols' bit flags.
// //
#define MPRNP_Ipx RASNP_Ipx #define MPRNP_Ipx RASNP_Ipx
#define MPRNP_Ip RASNP_Ip #define MPRNP_Ip RASNP_Ip
#if (WINVER >= 0x600)
#define MPRNP_Ipv6 RASNP_Ipv6
#endif
// //
// MPR_INTERFACE_2 'szDeviceType' default strings. // MPR_INTERFACE_2 'szDeviceType' default strings.
// //
#define MPRDT_Modem RASDT_Modem #define MPRDT_Modem RASDT_Modem
#define MPRDT_Isdn RASDT_Isdn #define MPRDT_Isdn RASDT_Isdn
#define MPRDT_X25 RASDT_X25 #define MPRDT_X25 RASDT_X25
#define MPRDT_Vpn RASDT_Vpn #define MPRDT_Vpn RASDT_Vpn
#define MPRDT_Pad RASDT_Pad #define MPRDT_Pad RASDT_Pad
#define MPRDT_Generic RASDT_Generic #define MPRDT_Generic RASDT_Generic
#define MPRDT_Serial RASDT_Serial #define MPRDT_Serial RASDT_Serial
#define MPRDT_FrameRelay RASDT_FrameRelay #define MPRDT_FrameRelay RASDT_FrameRelay
#define MPRDT_Atm RASDT_Atm #define MPRDT_Atm RASDT_Atm
#define MPRDT_Sonet RASDT_Sonet #define MPRDT_Sonet RASDT_Sonet
#define MPRDT_SW56 RASDT_SW56 #define MPRDT_SW56 RASDT_SW56
#define MPRDT_Irda RASDT_Irda #define MPRDT_Irda RASDT_Irda
#define MPRDT_Parallel RASDT_Parallel #define MPRDT_Parallel RASDT_Parallel
// //
// MPR_INTERFACE_2 'dwType' settings // MPR_INTERFACE_2 'dwType' settings
// //
skipping to change at line 350 skipping to change at line 352
#define MPR_ET_None ET_None #define MPR_ET_None ET_None
#define MPR_ET_Require ET_Require #define MPR_ET_Require ET_Require
#define MPR_ET_RequireMax ET_RequireMax #define MPR_ET_RequireMax ET_RequireMax
#define MPR_ET_Optional ET_Optional #define MPR_ET_Optional ET_Optional
// //
// MPR_INTERFACE_2 Vpn strategies // MPR_INTERFACE_2 Vpn strategies
// //
#define MPR_VS_Default VS_Default #define MPR_VS_Default VS_Default
#define MPR_VS_PptpOnly VS_PptpOnly #define MPR_VS_PptpOnly VS_PptpOnly
#define MPR_VS_PptpFirst VS_PptpFirst #define MPR_VS_PptpFirst VS_PptpFirst
#define MPR_VS_L2tpOnly VS_L2tpOnly #define MPR_VS_L2tpOnly VS_L2tpOnly
#define MPR_VS_L2tpFirst VS_L2tpFirst #define MPR_VS_L2tpFirst VS_L2tpFirst
// //
// Used to create/get/set a demand dial interface plus its // Used to create/get/set a demand dial interface plus its
// ras configuration. // ras configuration.
// //
typedef struct _MPR_INTERFACE_2 typedef struct _MPR_INTERFACE_2
{ {
IN OUT WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1]; IN OUT WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
OUT HANDLE hInterface; OUT HANDLE hInterface;
skipping to change at line 685 skipping to change at line 687
#define MPR_ENABLE_RAS_ON_DEVICE 0x00000001 #define MPR_ENABLE_RAS_ON_DEVICE 0x00000001
#define MPR_ENABLE_ROUTING_ON_DEVICE 0x00000002 #define MPR_ENABLE_ROUTING_ON_DEVICE 0x00000002
typedef struct _MPR_SERVER_1 typedef struct _MPR_SERVER_1
{ {
IN OUT DWORD dwNumPptpPorts; IN OUT DWORD dwNumPptpPorts;
IN OUT DWORD dwPptpPortFlags; IN OUT DWORD dwPptpPortFlags;
IN OUT DWORD dwNumL2tpPorts; IN OUT DWORD dwNumL2tpPorts;
IN OUT DWORD dwL2tpPortFlags; IN OUT DWORD dwL2tpPortFlags;
} }
MPR_SERVER_1, *PMPR_SERVER_1; MPR_SERVER_1, *PMPR_SERVER_1;
#endif #endif
#if (WINVER >= 0x600)
//
// MPR_SERVER_2 structure.
//
typedef struct _MPR_SERVER_2
{
IN OUT DWORD dwNumPptpPorts;
IN OUT DWORD dwPptpPortFlags;
IN OUT DWORD dwNumL2tpPorts;
IN OUT DWORD dwL2tpPortFlags;
IN OUT DWORD dwNumSstpPorts;
IN OUT DWORD dwSstpPortFlags;
}
MPR_SERVER_2, *PMPR_SERVER_2;
#endif
// //
// Port condition codes // Port condition codes
// //
typedef enum _RAS_PORT_CONDITION typedef enum _RAS_PORT_CONDITION
{ {
RAS_PORT_NON_OPERATIONAL, RAS_PORT_NON_OPERATIONAL,
RAS_PORT_DISCONNECTED, RAS_PORT_DISCONNECTED,
RAS_PORT_CALLING_BACK, RAS_PORT_CALLING_BACK,
RAS_PORT_LISTENING, RAS_PORT_LISTENING,
skipping to change at line 763 skipping to change at line 783
} }
RAS_PORT_1, *PRAS_PORT_1; RAS_PORT_1, *PRAS_PORT_1;
// //
// Maximum length of address string, e.g. "255.255.255.255" for IP. // Maximum length of address string, e.g. "255.255.255.255" for IP.
// //
#define IPADDRESSLEN 15 #define IPADDRESSLEN 15
#define IPXADDRESSLEN 22 #define IPXADDRESSLEN 22
#define ATADDRESSLEN 32 #define ATADDRESSLEN 32
#define IPV6ADRESSLEN 64 #define MAXIPADRESSLEN 64
typedef struct _PPP_NBFCP_INFO typedef struct _PPP_NBFCP_INFO
{ {
OUT DWORD dwError; OUT DWORD dwError;
OUT WCHAR wszWksta[ NETBIOS_NAME_LEN + 1 ]; OUT WCHAR wszWksta[ NETBIOS_NAME_LEN + 1 ];
} }
PPP_NBFCP_INFO; PPP_NBFCP_INFO;
typedef struct _PPP_IPCP_INFO typedef struct _PPP_IPCP_INFO
{ {
skipping to change at line 954 skipping to change at line 974
#define RAS_FLAGS_PPP_CONNECTION 0x00000001 #define RAS_FLAGS_PPP_CONNECTION 0x00000001
#define RAS_FLAGS_MESSENGER_PRESENT 0x00000002 #define RAS_FLAGS_MESSENGER_PRESENT 0x00000002
#if(WINVER < 0x0501) #if(WINVER < 0x0501)
#define RAS_FLAGS_RAS_CONNECTION 0x00000004 #define RAS_FLAGS_RAS_CONNECTION 0x00000004
#endif #endif
#define RAS_FLAGS_QUARANTINE_PRESENT 0x00000008 #define RAS_FLAGS_QUARANTINE_PRESENT 0x00000008
#if(WINVER >= 0x0601)
#define RAS_FLAGS_DORMANT 0x00000020
#endif
typedef struct _RAS_CONNECTION_0 typedef struct _RAS_CONNECTION_0
{ {
OUT HANDLE hConnection; OUT HANDLE hConnection;
OUT HANDLE hInterface; OUT HANDLE hInterface;
OUT DWORD dwConnectDuration; // In seconds OUT DWORD dwConnectDuration; // In seconds
OUT ROUTER_INTERFACE_TYPE dwInterfaceType; OUT ROUTER_INTERFACE_TYPE dwInterfaceType;
OUT DWORD dwConnectionFlags; OUT DWORD dwConnectionFlags;
OUT WCHAR wszInterfaceName[ MAX_INTERFACE_NAME_LEN + 1 ]; OUT WCHAR wszInterfaceName[ MAX_INTERFACE_NAME_LEN + 1 ];
OUT WCHAR wszUserName[ UNLEN + 1 ]; OUT WCHAR wszUserName[ UNLEN + 1 ];
OUT WCHAR wszLogonDomain[ DNLEN + 1 ]; OUT WCHAR wszLogonDomain[ DNLEN + 1 ];
skipping to change at line 1087 skipping to change at line 1111
#endif /* WINVER >= 0x0600 */ #endif /* WINVER >= 0x0600 */
// //
// Used as RPC binding handle to server // Used as RPC binding handle to server
// //
typedef HANDLE RAS_SERVER_HANDLE; typedef HANDLE RAS_SERVER_HANDLE;
typedef HANDLE MPR_SERVER_HANDLE; typedef HANDLE MPR_SERVER_HANDLE;
typedef HANDLE MIB_SERVER_HANDLE; typedef HANDLE MIB_SERVER_HANDLE;
#if(WINVER >= 0x0601)
typedef struct _MPRAPI_OBJECT_HEADER {
UCHAR revision;
UCHAR type;
USHORT size;
} MPRAPI_OBJECT_HEADER, *PMPRAPI_OBJECT_HEADER ;
typedef enum _MPRAPI_OBJECT_TYPE
{
MPRAPI_OBJECT_TYPE_RAS_CONNECTION_OBJECT = 1,
MPRAPI_OBJECT_TYPE_MPR_SERVER_OBJECT = 2,
MPRAPI_OBJECT_TYPE_MPR_SERVER_SET_CONFIG_OBJECT = 3,
MPRAPI_OBJECT_TYPE_AUTH_VALIDATION_OBJECT = 4,
MPRAPI_OBJECT_TYPE_UPDATE_CONNECTION_OBJECT = 5,
}MPRAPI_OBJECT_TYPE, *PMPRAPI_OBJECT_TYPE;
typedef struct _PPP_PROJECTION_INFO {
// IPv4 Projection Parameters
DWORD dwIPv4NegotiationError;
WCHAR wszAddress[IPADDRESSLEN + 1];
WCHAR wszRemoteAddress[IPADDRESSLEN + 1];
DWORD dwIPv4Options;
DWORD dwIPv4RemoteOptions;
ULONG64 IPv4SubInterfaceIndex;
// IPv6 Projection Parameters
DWORD dwIPv6NegotiationError;
BYTE bInterfaceIdentifier[8];
BYTE bRemoteInterfaceIdentifier[8];
BYTE bPrefix[8];
DWORD dwPrefixLength;
ULONG64 IPv6SubInterfaceIndex;
// LCP Options
DWORD dwLcpError;
DWORD dwAuthenticationProtocol;
DWORD dwAuthenticationData;
DWORD dwRemoteAuthenticationProtocol;
DWORD dwRemoteAuthenticationData;
DWORD dwLcpTerminateReason;
DWORD dwLcpRemoteTerminateReason;
DWORD dwLcpOptions;
DWORD dwLcpRemoteOptions;
DWORD dwEapTypeId;
DWORD dwRemoteEapTypeId;
// CCP options:
DWORD dwCcpError;
DWORD dwCompressionAlgorithm;
DWORD dwCcpOptions;
DWORD dwRemoteCompressionAlgorithm;
DWORD dwCcpRemoteOptions;
}PPP_PROJECTION_INFO, *PPPP_PROJECTION_INFO;
#define MPRAPI_IKEV2_AUTH_USING_CERT 1
#define MPRAPI_IKEV2_AUTH_USING_EAP 2
typedef struct _IKEV2_PROJECTION_INFO {
DWORD dwIPv4NegotiationError;
WCHAR wszAddress[IPADDRESSLEN + 1];
WCHAR wszRemoteAddress[IPADDRESSLEN + 1];
ULONG64 IPv4SubInterfaceIndex;
DWORD dwIPv6NegotiationError;
BYTE bInterfaceIdentifier[8];
BYTE bRemoteInterfaceIdentifier[8];
BYTE bPrefix[8];
DWORD dwPrefixLength;
ULONG64 IPv6SubInterfaceIndex;
DWORD dwOptions;
DWORD dwAuthenticationProtocol;
DWORD dwEapTypeId;
DWORD dwCompressionAlgorithm;
DWORD dwEncryptionMethod;
}IKEV2_PROJECTION_INFO, *PIKEV2_PROJECTION_INFO;
#define MPRAPI_PPP_PROJECTION_INFO_TYPE 1
#define MPRAPI_IKEV2_PROJECTION_INFO_TYPE 2
typedef struct _PROJECTION_INFO {
UCHAR projectionInfoType;
// Based on the connectionFlags, it should use appropriate projection info
union {
PPP_PROJECTION_INFO PppProjectionInfo;
IKEV2_PROJECTION_INFO Ikev2ProjectionInfo;
};
}PROJECTION_INFO, *PPROJECTION_INFO;
#define MPRAPI_RAS_CONNECTION_OBJECT_REVISION_1 0x1
typedef struct _RAS_CONNECTION_EX {
MPRAPI_OBJECT_HEADER Header;
DWORD dwConnectDuration;
ROUTER_INTERFACE_TYPE dwInterfaceType;
DWORD dwConnectionFlags;
WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1];
WCHAR wszUserName[UNLEN + 1];
WCHAR wszLogonDomain[DNLEN + 1];
WCHAR wszRemoteComputer[NETBIOS_NAME_LEN + 1];
GUID guid;
RAS_QUARANTINE_STATE rasQuarState;
FILETIME probationTime;
// Statistics:
DWORD dwBytesXmited;
DWORD dwBytesRcved;
DWORD dwFramesXmited;
DWORD dwFramesRcved;
DWORD dwCrcErr;
DWORD dwTimeoutErr;
DWORD dwAlignmentErr;
DWORD dwHardwareOverrunErr;
DWORD dwFramingErr;
DWORD dwBufferOverrunErr;
DWORD dwCompressionRatioIn;
DWORD dwCompressionRatioOut;
// Currently valid only for IKEV2:
DWORD dwNumSwitchOvers;
// Endpoint Information:
WCHAR wszRemoteEndpointAddress[MAXIPADRESSLEN+1];
WCHAR wszLocalEndpointAddress[MAXIPADRESSLEN+1];
//Projection result:
PROJECTION_INFO ProjectionInfo;
HANDLE hConnection;
HANDLE hInterface;
}RAS_CONNECTION_EX, *PRAS_CONNECTION_EX;
//----------- MPR_SERVER_EX object
typedef struct _IKEV2_TUNNEL_CONFIG_PARAMS {
DWORD dwIdleTimeout;
DWORD dwNetworkBlackoutTime;
DWORD dwSaLifeTime;
DWORD dwSaDataSizeForRenegotiation;
DWORD dwConfigOptions;
DWORD dwTotalCertificates;
CERT_NAME_BLOB * certificateNames;
}IKEV2_TUNNEL_CONFIG_PARAMS, *PIKEV2_TUNNEL_CONFIG_PARAMS;
#define MPRAPI_IKEV2_SET_TUNNEL_CONFIG_PARAMS 0x1
typedef struct _IKEV2_CONFIG_PARAMS {
DWORD dwNumPorts;
DWORD dwPortFlags;
DWORD dwTunnelConfigParamFlags;
IKEV2_TUNNEL_CONFIG_PARAMS TunnelConfigParams;
}IKEV2_CONFIG_PARAMS, *PIKEV2_CONFIG_PARAMS;
typedef struct _PPTP_CONFIG_PARAMS {
DWORD dwNumPorts;
DWORD dwPortFlags;
}PPTP_CONFIG_PARAMS, *PPPTP_CONFIG_PARAMS;
typedef struct _L2TP_CONFIG_PARAMS {
DWORD dwNumPorts;
DWORD dwPortFlags;
}L2TP_CONFIG_PARAMS, *PL2TP_CONFIG_PARAMS;
#define MAX_SSTP_HASH_SIZE 32 // SHA-256 Certificate hash size
typedef struct _SSTP_CERT_INFO
{
// Whether it is the default node [no cert config]
BOOL isDefault;
CRYPT_HASH_BLOB certBlob;
}SSTP_CERT_INFO, *PSSTP_CERT_INFO;
typedef struct _SSTP_CONFIG_PARAMS {
DWORD dwNumPorts;
DWORD dwPortFlags;
BOOL isUseHttps;
DWORD certAlgorithm; // Should always be CALG_SHA_256
SSTP_CERT_INFO sstpCertDetails;
}SSTP_CONFIG_PARAMS, *PSSTP_CONFIG_PARAMS;
typedef struct _MPRAPI_TUNNEL_CONFIG_PARAMS {
IKEV2_CONFIG_PARAMS IkeConfigParams;
PPTP_CONFIG_PARAMS PptpConfigParams;
L2TP_CONFIG_PARAMS L2tpConfigParams;
SSTP_CONFIG_PARAMS SstpConfigParams;
}MPRAPI_TUNNEL_CONFIG_PARAMS, *PMPRAPI_TUNNEL_CONFIG_PARAMS;
#define MPRAPI_MPR_SERVER_OBJECT_REVISION_1 0x1
typedef struct _MPR_SERVER_EX {
MPRAPI_OBJECT_HEADER Header;
DWORD fLanOnlyMode;
DWORD dwUpTime;
DWORD dwTotalPorts;
DWORD dwPortsInUse;
DWORD Reserved; // Added so that the structure is 8 by
te aligned
MPRAPI_TUNNEL_CONFIG_PARAMS ConfigParams;
}MPR_SERVER_EX, *PMPR_SERVER_EX;
#define MPRAPI_MPR_SERVER_SET_CONFIG_OBJECT_REVISION_1 0x1
#define MPRAPI_SET_CONFIG_PROTOCOL_FOR_PPTP 0x1
#define MPRAPI_SET_CONFIG_PROTOCOL_FOR_L2TP 0x2
#define MPRAPI_SET_CONFIG_PROTOCOL_FOR_SSTP 0x4
#define MPRAPI_SET_CONFIG_PROTOCOL_FOR_IKEV2 0x8
typedef struct _MPR_SERVER_SET_CONFIG_EX {
MPRAPI_OBJECT_HEADER Header;
DWORD setConfigForProtocols;
MPRAPI_TUNNEL_CONFIG_PARAMS ConfigParams;
}MPR_SERVER_SET_CONFIG_EX, *PMPR_SERVER_SET_CONFIG_EX;
#define ALLOW_NO_AUTH 1
#define DO_NOT_ALLOW_NO_AUTH 0
typedef struct _AUTH_VALIDATION_EX {
MPRAPI_OBJECT_HEADER Header;
HANDLE hRasConnection;
WCHAR wszUserName[UNLEN + 1 ];
WCHAR wszLogonDomain[DNLEN + 1 ];
DWORD AuthInfoSize;
BYTE AuthInfo[1];
} AUTH_VALIDATION_EX;
#define MPRAPI_RAS_UPDATE_CONNECTION_OBJECT_REVISION_1 0x1
typedef struct RAS_UPDATE_CONNECTION_
{
MPRAPI_OBJECT_HEADER Header;
DWORD dwIfIndex;
WCHAR wszLocalEndpointAddress[MAXIPADRESSLEN+1];
WCHAR wszRemoteEndpointAddress[MAXIPADRESSLEN+1];
}
RAS_UPDATE_CONNECTION,*PRAS_UPDATE_CONNECTION;
// RAS Admin Functions:
DWORD APIENTRY
MprAdminConnectionEnumEx(
__in RAS_SERVER_HANDLE hRasServer,
__in PMPRAPI_OBJECT_HEADER pObjectHeader,
__in DWORD dwPreferedMaxLen,
__out LPDWORD lpdwEntriesRead,
__out LPDWORD lpdwTotalEntries,
__out PRAS_CONNECTION_EX *ppRasConn,
__in LPDWORD lpdwResumeHandle);
DWORD APIENTRY MprAdminConnectionGetInfoEx(
__in RAS_SERVER_HANDLE hRasServer,
__in HANDLE hRasConnection,
__out PRAS_CONNECTION_EX pRasConnection
); // Use MprAdminBufferFree for freeing pRASCONN
// Router Admin Functions:
DWORD APIENTRY MprAdminServerGetInfoEx(
__in MPR_SERVER_HANDLE hMprServer,
__out MPR_SERVER_EX* pServerInfo);
DWORD APIENTRY MprAdminServerSetInfoEx(
__in MPR_SERVER_HANDLE hMprServer,
__in MPR_SERVER_SET_CONFIG_EX* pServerInfo);
// Router Config Functions:
DWORD APIENTRY MprConfigServerGetInfoEx(
__in HANDLE hMprConfig,
__out MPR_SERVER_EX* pServerInfo);
DWORD APIENTRY MprConfigServerSetInfoEx(
__in HANDLE hMprConfig,
__in MPR_SERVER_SET_CONFIG_EX* pSetServerConfig);
DWORD APIENTRY MprAdminUpdateConnection(
__in RAS_SERVER_HANDLE hRasServer,
__in HANDLE hRasConnection,
__in PRAS_UPDATE_CONNECTION pRasUpdateConnection);
// Admin DLL's:
#define MPRAPI_ADMIN_DLL_VERSION_1 0x1
#define MPRAPI_ADMIN_DLL_VERSION_2 0x2 // If the version is 2: it can u
se RAS_CONNECTION_EX supported in Windows 7.0
typedef DWORD (APIENTRY * PMPRADMINGETIPADDRESSFORUSER)(WCHAR *, WCHAR *, DWORD
*, BOOL *);
typedef VOID (APIENTRY * PMPRADMINRELEASEIPADRESS)(WCHAR *, WCHAR *, DWORD *);
typedef DWORD (APIENTRY * PMPRADMINGETIPV6ADDRESSFORUSER)(WCHAR *, WCHAR *, IN6_
ADDR *, BOOL *);
typedef VOID (APIENTRY * PMPRADMINRELEASEIPV6ADDRESSFORUSER)(WCHAR *, WCHAR *,
IN6_ADDR *);
typedef BOOL (APIENTRY * PMPRADMINACCEPTNEWCONNECTION)(RAS_CONNECTION_0 *, RAS_
CONNECTION_1 *);
typedef BOOL (APIENTRY * PMPRADMINACCEPTNEWCONNECTION2)(RAS_CONNECTION_0 *, RAS
_CONNECTION_1 *, RAS_CONNECTION_2 *);
typedef BOOL (APIENTRY * PMPRADMINACCEPTNEWCONNECTION3)(RAS_CONNECTION_0 *, RAS
_CONNECTION_1 *, RAS_CONNECTION_2 *, RAS_CONNECTION_3 *);
typedef BOOL (APIENTRY * PMPRADMINACCEPTNEWLINK)(RAS_PORT_0 *, RAS_PORT_1 *);
typedef VOID (APIENTRY * PMPRADMINCONNECTIONHANGUPNOTIFICATION)(RAS_CONNECTION_
0 *, RAS_CONNECTION_1 *);
typedef VOID (APIENTRY * PMPRADMINCONNECTIONHANGUPNOTIFICATION2)(RAS_CONNECTION
_0 *, RAS_CONNECTION_1 *, RAS_CONNECTION_2 *);
typedef VOID (APIENTRY * PMPRADMINCONNECTIONHANGUPNOTIFICATION3)(RAS_CONNECTION
_0 *, RAS_CONNECTION_1 *, RAS_CONNECTION_2 *, RAS_CONNECTION_3);
typedef VOID (APIENTRY * PMPRADMINLINKHANGUPNOTIFICATION)(RAS_PORT_0 *, RAS_POR
T_1 *);
typedef DWORD (APIENTRY * PMPRADMINTERMINATEDLL)();
typedef BOOL (APIENTRY * PMPRADMINACCEPTREAUTHENTICATION)(RAS_CONNECTION_0 *, R
AS_CONNECTION_1 *, RAS_CONNECTION_2 *, RAS_CONNECTION_3 *);
typedef BOOL (APIENTRY *PMPRADMINACCEPTNEWCONNECTIONEX)(RAS_CONNECTION_EX*);
typedef BOOL (APIENTRY *PMPRADMINACCEPTREAUTHENTICATIONEX)(RAS_CONNECTION_EX*);
typedef BOOL (APIENTRY *PMPRADMINACCEPTTUNNELENDPOINTCHANGEEX)(RAS_CONNECTION_E
X*);
typedef VOID (APIENTRY *PMPRADMINCONNECTIONHANGUPNOTIFICATIONEX)(RAS_CONNECTION
_EX*);
typedef DWORD (APIENTRY *PMPRADMINRASVALIDATEPREAUTHENTICATEDCONNECTIONEX) (AUTH
_VALIDATION_EX *);
typedef struct _MPRAPI_ADMIN_DLL_CALLBACKS
{
UCHAR revision;
PMPRADMINGETIPADDRESSFORUSER lpfnMprAdminGetIpAddressForU
ser;
PMPRADMINRELEASEIPADRESS lpfnMprAdminReleaseIpAddress
;
PMPRADMINGETIPV6ADDRESSFORUSER lpfnMprAdminGetIpv6AddressFo
rUser;
PMPRADMINRELEASEIPV6ADDRESSFORUSER lpfnMprAdminReleaseIpV6Addre
ssForUser;
PMPRADMINACCEPTNEWLINK lpfnRasAdminAcceptNewLink;
PMPRADMINLINKHANGUPNOTIFICATION lpfnRasAdminLinkHangupNotifi
cation;
PMPRADMINTERMINATEDLL lpfnRasAdminTerminateDll;
PMPRADMINACCEPTNEWCONNECTIONEX lpfnRasAdminAcceptNewConnect
ionEx;
PMPRADMINACCEPTTUNNELENDPOINTCHANGEEX lpfnRasAdminAcceptEndpointCh
angeEx;
PMPRADMINACCEPTREAUTHENTICATIONEX lpfnRasAdminAcceptReauthenti
cationEx;
PMPRADMINCONNECTIONHANGUPNOTIFICATIONEX lpfnRasAdminConnectionHangup
NotificationEx;
PMPRADMINRASVALIDATEPREAUTHENTICATEDCONNECTIONEX lpfnRASValidatePreAuthentic
atedConnectionEx;
} MPRAPI_ADMIN_DLL_CALLBACKS, *PMPRAPI_ADMIN_DLL_CALLBACKS;
BOOL APIENTRY MprAdminAcceptNewConnectionEx(
RAS_CONNECTION_EX* pRasConn
);
BOOL APIENTRY MprAdminAcceptReauthenticationEx(
RAS_CONNECTION_EX* pRasConn
);
void APIENTRY MprAdminConnectionHangupNotificationEx(
RAS_CONNECTION_EX* pRasConn
);
DWORD APIENTRY MprAdminInitializeDllEx(
PMPRAPI_ADMIN_DLL_CALLBACKS pAdminCallbacks
);
DWORD APIENTRY MprAdminIsServiceInitialized(
__in LPWSTR lpwsServerName,
__in BOOL *fIsServiceInitialized
);
#endif /* WINVER >= 0x0601 */
// //
// RAS ADMIN APIs // RAS ADMIN APIs
// //
DWORD APIENTRY DWORD APIENTRY
MprAdminConnectionEnum( MprAdminConnectionEnum(
IN RAS_SERVER_HANDLE hRasServer, __in RAS_SERVER_HANDLE hRasServer,
IN DWORD dwLevel, __in DWORD dwLevel,
OUT LPBYTE * lplpbBuffer, __out LPBYTE * lplpbBuffer,
IN DWORD dwPrefMaxLen, __in DWORD dwPrefMaxLen,
OUT LPDWORD lpdwEntriesRead, __out LPDWORD lpdwEntriesRead,
OUT LPDWORD lpdwTotalEntries, __out LPDWORD lpdwTotalEntries,
IN LPDWORD lpdwResumeHandle OPTIONAL __in_opt LPDWORD lpdwResumeHandle
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminPortEnum( MprAdminPortEnum(
IN RAS_SERVER_HANDLE hRasServer, __in RAS_SERVER_HANDLE hRasServer,
IN DWORD dwLevel, __in DWORD dwLevel,
IN HANDLE hConnection, __in HANDLE hRasConnection,
OUT LPBYTE * lplpbBuffer, __out LPBYTE * lplpbBuffer,
IN DWORD dwPrefMaxLen, __in DWORD dwPrefMaxLen,
OUT LPDWORD lpdwEntriesRead, __out LPDWORD lpdwEntriesRead,
OUT LPDWORD lpdwTotalEntries, __out LPDWORD lpdwTotalEntries,
IN LPDWORD lpdwResumeHandle OPTIONAL __in_opt LPDWORD lpdwResumeHandle
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminConnectionGetInfo( MprAdminConnectionGetInfo(
IN RAS_SERVER_HANDLE hRasServer, __in RAS_SERVER_HANDLE hRasServer,
IN DWORD dwLevel, __in DWORD dwLevel,
IN HANDLE hConnection, __in HANDLE hRasConnection,
OUT LPBYTE * lplpbBuffer __out LPBYTE * lplpbBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminPortGetInfo( MprAdminPortGetInfo(
IN RAS_SERVER_HANDLE hRasServer, __in RAS_SERVER_HANDLE hRasServer,
IN DWORD dwLevel, __in DWORD dwLevel,
IN HANDLE hPort, __in HANDLE hPort,
OUT LPBYTE * lplpbBuffer __out LPBYTE * lplpbBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminConnectionClearStats( MprAdminConnectionClearStats(
IN RAS_SERVER_HANDLE hRasServer, __in RAS_SERVER_HANDLE hRasServer,
IN HANDLE hConnection __in HANDLE hRasConnection
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminPortClearStats( MprAdminPortClearStats(
IN RAS_SERVER_HANDLE hRasServer, __in RAS_SERVER_HANDLE hRasServer,
IN HANDLE hPort __in HANDLE hPort
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminPortReset( MprAdminPortReset(
IN RAS_SERVER_HANDLE hRasServer, __in RAS_SERVER_HANDLE hRasServer,
IN HANDLE hPort __in HANDLE hPort
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminPortDisconnect( MprAdminPortDisconnect(
IN RAS_SERVER_HANDLE hRasServer, __in RAS_SERVER_HANDLE hRasServer,
IN HANDLE hPort __in HANDLE hPort
); );
BOOL APIENTRY BOOL APIENTRY
MprAdminAcceptNewConnection( MprAdminAcceptNewConnection(
IN RAS_CONNECTION_0 * pRasConnection0, __in RAS_CONNECTION_0 * pRasConnection0,
IN RAS_CONNECTION_1 * pRasConnection1 __in RAS_CONNECTION_1 * pRasConnection1
); );
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
BOOL APIENTRY BOOL APIENTRY
MprAdminAcceptNewConnection2( MprAdminAcceptNewConnection2(
IN RAS_CONNECTION_0 * pRasConnection0, __in RAS_CONNECTION_0 * pRasConnection0,
IN RAS_CONNECTION_1 * pRasConnection1, __in RAS_CONNECTION_1 * pRasConnection1,
IN RAS_CONNECTION_2 * pRasConnection2 __in RAS_CONNECTION_2 * pRasConnection2
); );
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
#if(WINVER >= 0x0600) #if(WINVER >= 0x0600)
BOOL APIENTRY BOOL APIENTRY
MprAdminAcceptNewConnection3( MprAdminAcceptNewConnection3(
IN RAS_CONNECTION_0 * pRasConnection0, __in RAS_CONNECTION_0 * pRasConnection0,
IN RAS_CONNECTION_1 * pRasConnection1, __in RAS_CONNECTION_1 * pRasConnection1,
IN RAS_CONNECTION_2 * pRasConnection2, __in RAS_CONNECTION_2 * pRasConnection2,
IN RAS_CONNECTION_3 * pRasConnection3 __in RAS_CONNECTION_3 * pRasConnection3
); );
BOOL APIENTRY BOOL APIENTRY
MprAdminAcceptReauthentication( MprAdminAcceptReauthentication(
IN RAS_CONNECTION_0 * pRasConnection0, __in RAS_CONNECTION_0 * pRasConnection0,
IN RAS_CONNECTION_1 * pRasConnection1, __in RAS_CONNECTION_1 * pRasConnection1,
IN RAS_CONNECTION_2 * pRasConnection2, __in RAS_CONNECTION_2 * pRasConnection2,
IN RAS_CONNECTION_3 * pRasConnection3 __in RAS_CONNECTION_3 * pRasConnection3
); );
#endif /* WINVER >= 0x0600 */ #endif /* WINVER >= 0x0600 */
BOOL APIENTRY BOOL APIENTRY
MprAdminAcceptNewLink ( MprAdminAcceptNewLink (
IN RAS_PORT_0 * pRasPort0, __in RAS_PORT_0 * pRasPort0,
IN RAS_PORT_1 * pRasPort1 __in RAS_PORT_1 * pRasPort1
); );
VOID APIENTRY VOID APIENTRY
MprAdminConnectionHangupNotification( MprAdminConnectionHangupNotification(
IN RAS_CONNECTION_0 * pRasConnection0, __in RAS_CONNECTION_0 * pRasConnection0,
IN RAS_CONNECTION_1 * pRasConnection1 __in RAS_CONNECTION_1 * pRasConnection1
); );
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
VOID APIENTRY VOID APIENTRY
MprAdminConnectionHangupNotification2( MprAdminConnectionHangupNotification2(
IN RAS_CONNECTION_0 * pRasConnection0, __in RAS_CONNECTION_0 * pRasConnection0,
IN RAS_CONNECTION_1 * pRasConnection1, __in RAS_CONNECTION_1 * pRasConnection1,
IN RAS_CONNECTION_2 * pRasConnection2 __in RAS_CONNECTION_2 * pRasConnection2
); );
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
#if(WINVER >= 0x0600) #if(WINVER >= 0x0600)
VOID APIENTRY VOID APIENTRY
MprAdminConnectionHangupNotification3( MprAdminConnectionHangupNotification3(
IN RAS_CONNECTION_0 * pRasConnection0, __in RAS_CONNECTION_0 * pRasConnection0,
IN RAS_CONNECTION_1 * pRasConnection1, __in RAS_CONNECTION_1 * pRasConnection1,
IN RAS_CONNECTION_2 * pRasConnection2, __in RAS_CONNECTION_2 * pRasConnection2,
IN RAS_CONNECTION_3 * pRasConnection3 __in RAS_CONNECTION_3 * pRasConnection3
); );
#endif /* WINVER >= 0x0600 */ #endif /* WINVER >= 0x0600 */
#if (WINVER >= 0x501) #if (WINVER >= 0x501)
DWORD APIENTRY DWORD APIENTRY
MprAdminConnectionRemoveQuarantine( MprAdminConnectionRemoveQuarantine(
IN HANDLE hRasServer, __in HANDLE hRasServer,
IN HANDLE hRasConnection, __in HANDLE hRasConnection,
IN BOOL fIsIpAddress __in BOOL fIsIpAddress
); );
#endif #endif
VOID APIENTRY VOID APIENTRY
MprAdminLinkHangupNotification ( MprAdminLinkHangupNotification (
IN RAS_PORT_0 * pRasPort0, __in RAS_PORT_0 * pRasPort0,
IN RAS_PORT_1 * pRasPort1 __in RAS_PORT_1 * pRasPort1
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminGetIpAddressForUser ( MprAdminGetIpAddressForUser (
IN WCHAR * lpwszUserName, __in WCHAR * lpwszUserName,
IN WCHAR * lpwszPortName, __in WCHAR * lpwszPortName,
IN OUT DWORD * lpdwIpAddress, __inout DWORD * lpdwIpAddress,
OUT BOOL * bNotifyRelease __out BOOL * bNotifyRelease
); );
VOID APIENTRY VOID APIENTRY
MprAdminReleaseIpAddress ( MprAdminReleaseIpAddress (
IN WCHAR * lpszUserName, __in WCHAR * lpszUserName,
IN WCHAR * lpszPortName, __in WCHAR * lpszPortName,
IN DWORD * lpdwIpAddress __in DWORD * lpdwIpAddress
); );
#if(WINVER >= 0x0600) #if(WINVER >= 0x0600)
VOID APIENTRY DWORD APIENTRY
MprAdminReleaseIpAddress2 ( MprAdminGetIpv6AddressForUser (
IN WCHAR * lpszUserName, __in WCHAR * lpwszUserName,
IN WCHAR * lpszPortName, __in WCHAR * lpwszPortName,
IN DWORD * lpdwIpAddress, __inout IN6_ADDR * lpdwIpv6Address, /* Currently Only 64 Bit
IN IN6_ADDR lpdwIpv6Address Identifier is supported */
__out BOOL * bNotifyRelease
); );
DWORD APIENTRY VOID MprAdminReleaseIpv6AddressForUser (
MprAdminGetIpAddressForUser2 ( __in WCHAR * lpszUserName,
IN WCHAR * lpwszUserName, __in WCHAR * lpszPortName,
IN WCHAR * lpwszPortName, __in IN6_ADDR * lpdwIpv6Address
IN OUT DWORD * lpdwIpAddress, /* IPv4 address */
IN OUT IN6_ADDR lpdwIpv6Address[], /* IPv6 Address */
OUT BOOL * bNotifyRelease
); );
#endif /* WINVER >= 0x0600 */ #endif /* WINVER >= 0x0600 */
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
DWORD APIENTRY DWORD APIENTRY
MprAdminInitializeDll( MprAdminInitializeDll(
VOID VOID
); );
skipping to change at line 1298 skipping to change at line 1710
); );
#endif #endif
// //
// MprAdminUser APIs // MprAdminUser APIs
// //
DWORD APIENTRY DWORD APIENTRY
MprAdminUserGetInfo( MprAdminUserGetInfo(
IN const WCHAR * lpszServer, __in const WCHAR * lpszServer,
IN const WCHAR * lpszUser, __in const WCHAR * lpszUser,
IN DWORD dwLevel, __in DWORD dwLevel,
OUT LPBYTE lpbBuffer __out LPBYTE lpbBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminUserSetInfo( MprAdminUserSetInfo(
IN const WCHAR * lpszServer, __in const WCHAR * lpszServer,
IN const WCHAR * lpszUser, __in const WCHAR * lpszUser,
IN DWORD dwLevel, __in DWORD dwLevel,
IN const LPBYTE lpbBuffer __in const LPBYTE lpbBuffer
); );
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
DWORD APIENTRY DWORD APIENTRY
MprAdminSendUserMessage( MprAdminSendUserMessage(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hConnection, __in HANDLE hConnection,
__in IN LPWSTR lpwszMessage __in LPWSTR lpwszMessage
); );
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
DWORD APIENTRY DWORD APIENTRY
MprAdminGetPDCServer( MprAdminGetPDCServer(
__in IN const WCHAR * lpszDomain, __in const WCHAR * lpszDomain,
__in IN const WCHAR * lpszServer, __in const WCHAR * lpszServer,
__out_ecount(UNCLEN+1) OUT LPWSTR lpszPDCServer __out_ecount(UNCLEN+1) LPWSTR lpszPDCServer
); );
// //
// Router APIs // Router APIs
// //
BOOL APIENTRY BOOL APIENTRY
MprAdminIsServiceRunning( MprAdminIsServiceRunning(
__in IN LPWSTR lpwsServerName __in LPWSTR lpwsServerName
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminServerConnect( MprAdminServerConnect(
__in IN LPWSTR lpwsServerName OPTIONAL, __in_opt LPWSTR lpwsServerName,
OUT MPR_SERVER_HANDLE * phMprServer __out MPR_SERVER_HANDLE * phMprServer
); );
VOID APIENTRY VOID APIENTRY
MprAdminServerDisconnect( MprAdminServerDisconnect(
IN MPR_SERVER_HANDLE hMprServer __in MPR_SERVER_HANDLE hMprServer
); );
#if (WINVER >= 0x501) #if (WINVER >= 0x501)
DWORD APIENTRY DWORD APIENTRY
MprAdminServerGetCredentials( MprAdminServerGetCredentials(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN DWORD dwLevel, __in DWORD dwLevel,
IN LPBYTE * lplpbBuffer __in LPBYTE * lplpbBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminServerSetCredentials( MprAdminServerSetCredentials(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN DWORD dwLevel, __in DWORD dwLevel,
IN LPBYTE lpbBuffer __in LPBYTE lpbBuffer
); );
#endif #endif
DWORD APIENTRY DWORD APIENTRY
MprAdminBufferFree( MprAdminBufferFree(
IN LPVOID pBuffer __in LPVOID pBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminGetErrorString( MprAdminGetErrorString(
IN DWORD dwError, __in DWORD dwError,
__out OUT LPWSTR * lpwsErrorString __out LPWSTR * lplpwsErrorString
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminServerGetInfo( MprAdminServerGetInfo(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN DWORD dwLevel, __in DWORD dwLevel,
OUT LPBYTE * lplpbBuffer __out LPBYTE * lplpbBuffer
); );
#if (WINVER >= 0x501) #if (WINVER >= 0x501)
DWORD APIENTRY DWORD APIENTRY
MprAdminServerSetInfo( MprAdminServerSetInfo(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN DWORD dwLevel, __in DWORD dwLevel,
IN LPBYTE lpbBuffer __in LPBYTE lpbBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminEstablishDomainRasServer ( MprAdminEstablishDomainRasServer (
__in IN PWCHAR pszDomain, __in LPWSTR pszDomain,
__in IN PWCHAR pszMachine, __in LPWSTR pszMachine,
IN BOOL bEnable __in BOOL bEnable
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminIsDomainRasServer ( MprAdminIsDomainRasServer (
__in IN PWCHAR pszDomain, __in LPWSTR pszDomain,
__in IN PWCHAR pszMachine, __in LPWSTR pszMachine,
OUT PBOOL pbIsRasServer __out PBOOL pbIsRasServer
); );
#endif #endif
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
DWORD APIENTRY DWORD APIENTRY
MprAdminTransportCreate( MprAdminTransportCreate(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN DWORD dwTransportId, __in DWORD dwTransportId,
__in_opt IN LPWSTR lpwsTransportName OPTIONA __in_opt LPWSTR lpwsTransportName,
L, __in LPBYTE pGlobalInfo,
IN LPBYTE pGlobalInfo, __in DWORD dwGlobalInfoSize,
IN DWORD dwGlobalInfoSize, __in_opt LPBYTE pClientInterfaceInfo,
IN LPBYTE pClientInterfaceInfo OPTIONAL, __in_opt DWORD dwClientInterfaceInfoSize,
IN DWORD dwClientInterfaceInfoSize OPTIONAL, __in LPWSTR lpwsDLLPath
__in IN LPWSTR lpwsDLLPath
); );
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
DWORD APIENTRY DWORD APIENTRY
MprAdminTransportSetInfo( MprAdminTransportSetInfo(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN DWORD dwTransportId, __in DWORD dwTransportId,
IN LPBYTE pGlobalInfo OPTIONAL, __in_opt LPBYTE pGlobalInfo,
IN DWORD dwGlobalInfoSize, __in DWORD dwGlobalInfoSize,
IN LPBYTE pClientInterfaceInfo OPTIONAL, __in_opt LPBYTE pClientInterfaceInfo,
IN DWORD dwClientInterfaceInfoSize __in DWORD dwClientInterfaceInfoSize
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminTransportGetInfo( MprAdminTransportGetInfo(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN DWORD dwTransportId, __in DWORD dwTransportId,
OUT LPBYTE * ppGlobalInfo OPTIONAL, __out_opt LPBYTE * ppGlobalInfo,
OUT LPDWORD lpdwGlobalInfoSize OPTIONAL, __out_opt LPDWORD lpdwGlobalInfoSize,
OUT LPBYTE * ppClientInterfaceInfo OPTIONAL, __out_opt LPBYTE * ppClientInterfaceInfo,
OUT LPDWORD lpdwClientInterfaceInfoSize OPTIONAL __out_opt LPDWORD lpdwClientInterfaceInfoSize
); );
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
DWORD APIENTRY DWORD APIENTRY
MprAdminDeviceEnum( MprAdminDeviceEnum(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN DWORD dwLevel, __in DWORD dwLevel,
OUT LPBYTE* lplpbBuffer, __out LPBYTE* lplpbBuffer,
OUT LPDWORD lpdwTotalEntries); __out LPDWORD lpdwTotalEntries);
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceGetHandle( MprAdminInterfaceGetHandle(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
__in IN LPWSTR lpwsInterfaceName, __in LPWSTR lpwsInterfaceName,
OUT HANDLE * phInterface, __out HANDLE * phInterface,
IN BOOL fIncludeClientInterfaces __in BOOL fIncludeClientInterfaces
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceCreate( MprAdminInterfaceCreate(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN DWORD dwLevel, __in DWORD dwLevel,
IN LPBYTE lpbBuffer, __in LPBYTE lpbBuffer,
OUT HANDLE * phInterface __out HANDLE * phInterface
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceGetInfo( MprAdminInterfaceGetInfo(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN DWORD dwLevel, __in DWORD dwLevel,
IN LPBYTE * lplpbBuffer __in LPBYTE * lplpbBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceSetInfo( MprAdminInterfaceSetInfo(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN DWORD dwLevel, __in DWORD dwLevel,
IN LPBYTE lpbBuffer __in LPBYTE lpbBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceDelete( MprAdminInterfaceDelete(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface __in HANDLE hInterface
); );
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceDeviceGetInfo( MprAdminInterfaceDeviceGetInfo(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN DWORD dwIndex, __in DWORD dwIndex,
IN DWORD dwLevel, __in DWORD dwLevel,
OUT LPBYTE* lplpBuffer __out LPBYTE* lplpBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceDeviceSetInfo( MprAdminInterfaceDeviceSetInfo(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN DWORD dwIndex, __in DWORD dwIndex,
IN DWORD dwLevel, __in DWORD dwLevel,
IN LPBYTE lplpBuffer __in LPBYTE lpbBuffer
); );
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceTransportRemove( MprAdminInterfaceTransportRemove(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN DWORD dwTransportId __in DWORD dwTransportId
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceTransportAdd( MprAdminInterfaceTransportAdd(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN DWORD dwTransportId, __in DWORD dwTransportId,
IN LPBYTE pInterfaceInfo, __in LPBYTE pInterfaceInfo,
IN DWORD dwInterfaceInfoSize __in DWORD dwInterfaceInfoSize
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceTransportGetInfo( MprAdminInterfaceTransportGetInfo(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN DWORD dwTransportId, __in DWORD dwTransportId,
OUT LPBYTE * ppInterfaceInfo, __out LPBYTE * ppInterfaceInfo,
OUT LPDWORD lpdwpInterfaceInfoSize OPTIONAL __out_opt LPDWORD lpdwInterfaceInfoSize
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceTransportSetInfo( MprAdminInterfaceTransportSetInfo(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN DWORD dwTransportId, __in DWORD dwTransportId,
IN LPBYTE pInterfaceInfo, __in LPBYTE pInterfaceInfo,
IN DWORD dwInterfaceInfoSize __in DWORD dwInterfaceInfoSize
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceEnum( MprAdminInterfaceEnum(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN DWORD dwLevel, __in DWORD dwLevel,
OUT LPBYTE * lplpbBuffer, __out LPBYTE * lplpbBuffer,
IN DWORD dwPrefMaxLen, __in DWORD dwPrefMaxLen,
OUT LPDWORD lpdwEntriesRead, __out LPDWORD lpdwEntriesRead,
OUT LPDWORD lpdwTotalEntries, __out LPDWORD lpdwTotalEntries,
IN LPDWORD lpdwResumeHandle OPTIONAL __in_opt LPDWORD lpdwResumeHandle
); );
DWORD APIENTRY DWORD APIENTRY
MprSetupIpInIpInterfaceFriendlyNameEnum( MprSetupIpInIpInterfaceFriendlyNameEnum(
__in PWCHAR pwszMachineName, __in PWCHAR pwszMachineName,
OUT LPBYTE* lplpBuffer, __out LPBYTE* lplpBuffer,
OUT LPDWORD lpdwEntriesRead __out LPDWORD lpdwEntriesRead
); );
DWORD APIENTRY DWORD APIENTRY
MprSetupIpInIpInterfaceFriendlyNameFree( MprSetupIpInIpInterfaceFriendlyNameFree(
IN LPVOID lpBuffer __in LPVOID lpBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprSetupIpInIpInterfaceFriendlyNameCreate( MprSetupIpInIpInterfaceFriendlyNameCreate(
PWCHAR pwszMachineName, PWCHAR pwszMachineName,
PMPR_IPINIP_INTERFACE_0 pNameInformation PMPR_IPINIP_INTERFACE_0 pNameInformation
); );
DWORD APIENTRY DWORD APIENTRY
MprSetupIpInIpInterfaceFriendlyNameDelete( MprSetupIpInIpInterfaceFriendlyNameDelete(
IN PWCHAR pwszMachineName, __in PWCHAR pwszMachineName,
IN GUID *pGuid __in GUID *pGuid
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceSetCredentials( MprAdminInterfaceSetCredentials(
__in_opt IN LPWSTR lpwsServer OPTIONAL, __in_opt LPWSTR lpwsServer,
__in IN LPWSTR lpwsInterfaceName, __in LPWSTR lpwsInterfaceName,
__in_opt IN LPWSTR lpwsUserName OPTIONAL, __in_opt LPWSTR lpwsUserName,
__in_opt IN LPWSTR lpwsDomainName OPTIONAL, __in_opt LPWSTR lpwsDomainName,
__in_opt IN LPWSTR lpwsPassword OPTIONAL __in_opt LPWSTR lpwsPassword
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceGetCredentials( MprAdminInterfaceGetCredentials(
__in_opt IN LPWSTR lpwsServer OPTIONAL, __in_opt LPWSTR lpwsServer,
__in IN LPWSTR lpwsInterfaceName, __in LPWSTR lpwsInterfaceName,
__out_ecount_opt(UNLEN+1) OUT LPWSTR lpwsUserName __out_ecount_opt(UNLEN+1) LPWSTR lpwsUserName,
OPTIONAL, __out_ecount_opt(PWLEN+1) LPWSTR lpwsPassword,
__out_ecount_opt(PWLEN+1) OUT LPWSTR lpwsPassword __out_ecount_opt(DNLEN+1) LPWSTR lpwsDomainName
OPTIONAL,
__out_ecount_opt(DNLEN+1) OUT LPWSTR lpwsDomainName
OPTIONAL
); );
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceSetCredentialsEx( MprAdminInterfaceSetCredentialsEx(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN DWORD dwLevel, __in DWORD dwLevel,
IN LPBYTE lpbBuffer __in LPBYTE lpbBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceGetCredentialsEx( MprAdminInterfaceGetCredentialsEx(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN DWORD dwLevel, __in DWORD dwLevel,
OUT LPBYTE * lplpbBuffer __out LPBYTE * lplpbBuffer
); );
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceConnect( MprAdminInterfaceConnect(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN HANDLE hEvent, __in HANDLE hEvent,
IN BOOL fSynchronous __in BOOL fSynchronous
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceDisconnect( MprAdminInterfaceDisconnect(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface __in HANDLE hInterface
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceUpdateRoutes( MprAdminInterfaceUpdateRoutes(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN DWORD dwProtocolId, __in DWORD dwProtocolId,
IN HANDLE hEvent __in HANDLE hEvent
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceQueryUpdateResult( MprAdminInterfaceQueryUpdateResult(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface, __in HANDLE hInterface,
IN DWORD dwProtocolId, __in DWORD dwProtocolId,
OUT LPDWORD lpdwUpdateResult __out LPDWORD lpdwUpdateResult
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminInterfaceUpdatePhonebookInfo( MprAdminInterfaceUpdatePhonebookInfo(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hInterface __in HANDLE hInterface
); );
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
DWORD APIENTRY DWORD APIENTRY
MprAdminRegisterConnectionNotification( MprAdminRegisterConnectionNotification(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hEventNotification __in HANDLE hEventNotification
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminDeregisterConnectionNotification( MprAdminDeregisterConnectionNotification(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN HANDLE hEventNotification __in HANDLE hEventNotification
); );
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
// //
// MIB APIs // MIB APIs
// //
DWORD APIENTRY DWORD APIENTRY
MprAdminMIBServerConnect( MprAdminMIBServerConnect(
__in IN LPWSTR lpwsServerName OPTIONAL, __in_opt LPWSTR lpwsServerName,
OUT MIB_SERVER_HANDLE * phMibServer __out MIB_SERVER_HANDLE * phMibServer
); );
VOID APIENTRY VOID APIENTRY
MprAdminMIBServerDisconnect( MprAdminMIBServerDisconnect(
IN MIB_SERVER_HANDLE hMibServer __in MIB_SERVER_HANDLE hMibServer
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminMIBEntryCreate( MprAdminMIBEntryCreate(
IN MIB_SERVER_HANDLE hMibServer, __in MIB_SERVER_HANDLE hMibServer,
IN DWORD dwPid, __in DWORD dwPid,
IN DWORD dwRoutingPid, __in DWORD dwRoutingPid,
IN LPVOID lpEntry, __in LPVOID lpEntry,
IN DWORD dwEntrySize __in DWORD dwEntrySize
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminMIBEntryDelete( MprAdminMIBEntryDelete(
IN MIB_SERVER_HANDLE hMibServer, __in MIB_SERVER_HANDLE hMibServer,
IN DWORD dwProtocolId, __in DWORD dwProtocolId,
IN DWORD dwRoutingPid, __in DWORD dwRoutingPid,
IN LPVOID lpEntry, __in LPVOID lpEntry,
IN DWORD dwEntrySize __in DWORD dwEntrySize
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminMIBEntrySet( MprAdminMIBEntrySet(
IN MIB_SERVER_HANDLE hMibServer, __in MIB_SERVER_HANDLE hMibServer,
IN DWORD dwProtocolId, __in DWORD dwProtocolId,
IN DWORD dwRoutingPid, __in DWORD dwRoutingPid,
IN LPVOID lpEntry, __in LPVOID lpEntry,
IN DWORD dwEntrySize __in DWORD dwEntrySize
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminMIBEntryGet( MprAdminMIBEntryGet(
IN MIB_SERVER_HANDLE hMibServer, __in MIB_SERVER_HANDLE hMibServer,
IN DWORD dwProtocolId, __in DWORD dwProtocolId,
IN DWORD dwRoutingPid, __in DWORD dwRoutingPid,
IN LPVOID lpInEntry, __in LPVOID lpInEntry,
IN DWORD dwInEntrySize, __in DWORD dwInEntrySize,
OUT LPVOID* lplpOutEntry, __out LPVOID* lplpOutEntry,
OUT LPDWORD lpOutEntrySize __out LPDWORD lpOutEntrySize
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminMIBEntryGetFirst( MprAdminMIBEntryGetFirst(
IN MIB_SERVER_HANDLE hMibServer, __in MIB_SERVER_HANDLE hMibServer,
IN DWORD dwProtocolId, __in DWORD dwProtocolId,
IN DWORD dwRoutingPid, __in DWORD dwRoutingPid,
IN LPVOID lpInEntry, __in LPVOID lpInEntry,
IN DWORD dwInEntrySize, __in DWORD dwInEntrySize,
OUT LPVOID* lplpOutEntry, __out LPVOID* lplpOutEntry,
OUT LPDWORD lpOutEntrySize __out LPDWORD lpOutEntrySize
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminMIBEntryGetNext( MprAdminMIBEntryGetNext(
IN MIB_SERVER_HANDLE hMibServer, __in MIB_SERVER_HANDLE hMibServer,
IN DWORD dwProtocolId, __in DWORD dwProtocolId,
IN DWORD dwRoutingPid, __in DWORD dwRoutingPid,
IN LPVOID lpInEntry, __in LPVOID lpInEntry,
IN DWORD dwInEntrySize, __in DWORD dwInEntrySize,
OUT LPVOID* lplpOutEntry, __out LPVOID* lplpOutEntry,
OUT LPDWORD lpOutEntrySize __out LPDWORD lpOutEntrySize
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminMIBGetTrapInfo( MprAdminMIBGetTrapInfo(
IN MIB_SERVER_HANDLE hMibServer, __in MIB_SERVER_HANDLE hMibServer,
IN DWORD dwProtocolId, __in DWORD dwProtocolId,
IN DWORD dwRoutingPid, __in DWORD dwRoutingPid,
IN LPVOID lpInData, __in LPVOID lpInData,
IN DWORD dwInDataSize, __in DWORD dwInDataSize,
OUT LPVOID* lplpOutData, __out LPVOID* lplpOutData,
IN OUT LPDWORD lpOutDataSize __inout LPDWORD lpOutDataSize
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminMIBSetTrapInfo( MprAdminMIBSetTrapInfo(
IN DWORD dwProtocolId, __in DWORD dwProtocolId,
IN DWORD dwRoutingPid, __in DWORD dwRoutingPid,
IN HANDLE hEvent, __in HANDLE hEvent,
IN LPVOID lpInData, __in LPVOID lpInData,
IN DWORD dwInDataSize, __in DWORD dwInDataSize,
OUT LPVOID* lplpOutData, __out LPVOID* lplpOutData,
IN OUT LPDWORD lpOutDataSize __inout LPDWORD lpOutDataSize
); );
DWORD APIENTRY DWORD APIENTRY
MprAdminMIBBufferFree( MprAdminMIBBufferFree(
IN LPVOID pBuffer __in LPVOID pBuffer
); );
// //
// Configuration APIs // Configuration APIs
// //
DWORD APIENTRY DWORD APIENTRY
MprConfigServerInstall( MprConfigServerInstall(
IN DWORD dwLevel, __in DWORD dwLevel,
IN PVOID pBuffer __in PVOID pBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigServerConnect( MprConfigServerConnect(
__in IN LPWSTR lpwsServerName, __in LPWSTR lpwsServerName,
OUT HANDLE* phMprConfig __out HANDLE* phMprConfig
); );
VOID APIENTRY VOID APIENTRY
MprConfigServerDisconnect( MprConfigServerDisconnect(
IN HANDLE hMprConfig __in HANDLE hMprConfig
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigServerRefresh( MprConfigServerRefresh(
IN HANDLE hMprConfig __in HANDLE hMprConfig
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigBufferFree( MprConfigBufferFree(
IN LPVOID pBuffer __in LPVOID pBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigServerGetInfo( MprConfigServerGetInfo(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN DWORD dwLevel, __in DWORD dwLevel,
OUT LPBYTE * lplpbBuffer __out LPBYTE * lplpbBuffer
); );
#if (WINVER >= 0x501) #if (WINVER >= 0x501)
DWORD APIENTRY DWORD APIENTRY
MprConfigServerSetInfo( MprConfigServerSetInfo(
IN MPR_SERVER_HANDLE hMprServer, __in MPR_SERVER_HANDLE hMprServer,
IN DWORD dwLevel, __in DWORD dwLevel,
IN LPBYTE lpbBuffer __in LPBYTE lpbBuffer
); );
#endif #endif
DWORD APIENTRY DWORD APIENTRY
MprConfigServerBackup( MprConfigServerBackup(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
__in IN LPWSTR lpwsPath __in LPWSTR lpwsPath
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigServerRestore( MprConfigServerRestore(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
__in IN LPWSTR lpwsPath __in IN LPWSTR lpwsPath
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigTransportCreate( MprConfigTransportCreate(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN DWORD dwTransportId, __in DWORD dwTransportId,
__in_opt IN LPWSTR lpwsTransportName OPTIONA __in_opt LPWSTR lpwsTransportName,
L, __in_bcount(dwGlobalInfoSize) LPBYTE pGlobalI
__in_bcount(dwGlobalInfoSize) IN LPBYTE pGlobalInfo, nfo,
IN DWORD dwGlobalInfoSize, __in DWORD dwGlobalInfoSize,
__in_bcount_opt(dwClientInterfaceInfoSize) IN LPBYTE p __in_bcount_opt(dwClientInterfaceInfoSize) LPBYTE pClientI
ClientInterfaceInfo OPTIONAL, nterfaceInfo,
IN DWORD dwClientInterfaceInfoSize OPTIONAL, __in_opt DWORD dwClientInterfaceInfoSize,
__in_opt IN LPWSTR lpwsDLLPath, __in_opt LPWSTR lpwsDLLPath,
OUT HANDLE* phRouterTransport __out HANDLE* phRouterTransport
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigTransportDelete( MprConfigTransportDelete(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN HANDLE hRouterTransport __in HANDLE hRouterTransport
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigTransportGetHandle( MprConfigTransportGetHandle(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN DWORD dwTransportId, __in DWORD dwTransportId,
OUT HANDLE* phRouterTransport __out HANDLE* phRouterTransport
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigTransportSetInfo( MprConfigTransportSetInfo(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN HANDLE hRouterTransport, __in HANDLE hRouterTransport,
__in_bcount_opt(dwGlobalInfoSize) IN LPBYTE pGlobalInf __in_bcount_opt(dwGlobalInfoSize) LPBYTE pGlobalInfo
o OPTIONAL, ,
IN DWORD dwGlobalInfoSize OPTIONAL, __in_opt DWORD dwGlobalInfoSize,
__in_bcount_opt(dwClientInterfaceInfoSize) IN LPBYTE p __in_bcount_opt(dwClientInterfaceInfoSize) LPBYTE pClientInte
ClientInterfaceInfo OPTIONAL, rfaceInfo,
IN DWORD dwClientInterfaceInfoSize OPTIONAL, __in_opt DWORD dwClientInterfaceInfoSize,
__in_opt IN LPWSTR lpwsDLLPath OPTIONA __in_opt LPWSTR lpwsDLLPath
L
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigTransportGetInfo( MprConfigTransportGetInfo(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN HANDLE hRouterTransport, __in HANDLE hRouterTransport,
IN OUT LPBYTE* ppGlobalInfo OPTIONAL, __inout_opt LPBYTE* ppGlobalInfo,
OUT LPDWORD lpdwGlobalInfoSize OPTIONAL, __out_opt LPDWORD lpdwGlobalInfoSize,
IN OUT LPBYTE* ppClientInterfaceInfo OPTIONAL, __inout_opt LPBYTE* ppClientInterfaceInfo,
OUT LPDWORD lpdwClientInterfaceInfoSize OPTIONAL, __out_opt LPDWORD lpdwClientInterfaceInfoSize,
__deref_opt_out IN OUT LPWSTR* lplpwsDLLPath __deref_opt_out __inout LPWSTR* lplpwsDLLPath
OPTIONAL
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigTransportEnum( MprConfigTransportEnum(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN DWORD dwLevel, __in DWORD dwLevel,
IN OUT LPBYTE* lplpBuffer, __inout LPBYTE* lplpBuffer,
IN DWORD dwPrefMaxLen, __in DWORD dwPrefMaxLen,
OUT LPDWORD lpdwEntriesRead, __out LPDWORD lpdwEntriesRead,
OUT LPDWORD lpdwTotalEntries, __out LPDWORD lpdwTotalEntries,
IN OUT LPDWORD lpdwResumeHandle OPTIONAL __inout_opt LPDWORD lpdwResumeHandle
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigInterfaceCreate( MprConfigInterfaceCreate(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN DWORD dwLevel, __in DWORD dwLevel,
IN LPBYTE lpbBuffer, __in LPBYTE lpbBuffer,
OUT HANDLE* phRouterInterface __out HANDLE* phRouterInterface
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigInterfaceDelete( MprConfigInterfaceDelete(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN HANDLE hRouterInterface __in HANDLE hRouterInterface
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigInterfaceGetHandle( MprConfigInterfaceGetHandle(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
__in IN LPWSTR lpwsInterfaceName, __in LPWSTR lpwsInterfaceName,
OUT HANDLE* phRouterInterface __out HANDLE* phRouterInterface
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigInterfaceGetInfo( MprConfigInterfaceGetInfo(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN HANDLE hRouterInterface, __in HANDLE hRouterInterface,
IN DWORD dwLevel, __in DWORD dwLevel,
IN OUT LPBYTE* lplpBuffer, __inout LPBYTE* lplpBuffer,
OUT LPDWORD lpdwBufferSize __out LPDWORD lpdwBufferSize
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigInterfaceSetInfo( MprConfigInterfaceSetInfo(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN HANDLE hRouterInterface, __in HANDLE hRouterInterface,
IN DWORD dwLevel, __in DWORD dwLevel,
IN LPBYTE lpbBuffer __in LPBYTE lpbBuffer
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigInterfaceEnum( MprConfigInterfaceEnum(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN DWORD dwLevel, __in DWORD dwLevel,
IN OUT LPBYTE* lplpBuffer, __inout LPBYTE* lplpBuffer,
IN DWORD dwPrefMaxLen, __in DWORD dwPrefMaxLen,
OUT LPDWORD lpdwEntriesRead, __out LPDWORD lpdwEntriesRead,
OUT LPDWORD lpdwTotalEntries, __out LPDWORD lpdwTotalEntries,
IN OUT LPDWORD lpdwResumeHandle OPTIONAL __inout_opt LPDWORD lpdwResumeHandle
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigInterfaceTransportAdd( MprConfigInterfaceTransportAdd(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN HANDLE hRouterInterface, __in HANDLE hRouterInterface,
IN DWORD dwTransportId, __in DWORD dwTransportId,
__in_opt IN LPWSTR lpwsTransportName OPTIONA __in_opt LPWSTR lpwsTransportName,
L, __in LPBYTE pInterfaceInfo,
IN LPBYTE pInterfaceInfo, __in DWORD dwInterfaceInfoSize,
IN DWORD dwInterfaceInfoSize, __out HANDLE* phRouterIfTransport
OUT HANDLE* phRouterIfTransport
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigInterfaceTransportRemove( MprConfigInterfaceTransportRemove(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN HANDLE hRouterInterface, __in HANDLE hRouterInterface,
IN HANDLE hRouterIfTransport __in HANDLE hRouterIfTransport
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigInterfaceTransportGetHandle( MprConfigInterfaceTransportGetHandle(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN HANDLE hRouterInterface, __in HANDLE hRouterInterface,
IN DWORD dwTransportId, __in DWORD dwTransportId,
OUT HANDLE* phRouterIfTransport __out HANDLE* phRouterIfTransport
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigInterfaceTransportGetInfo( MprConfigInterfaceTransportGetInfo(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN HANDLE hRouterInterface, __in HANDLE hRouterInterface,
IN HANDLE hRouterIfTransport, __in HANDLE hRouterIfTransport,
IN OUT LPBYTE* ppInterfaceInfo OPTIONAL, __inout LPBYTE* ppInterfaceInfo,
OUT LPDWORD lpdwInterfaceInfoSize OPTIONAL __out_opt LPDWORD lpdwInterfaceInfoSize
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigInterfaceTransportSetInfo( MprConfigInterfaceTransportSetInfo(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN HANDLE hRouterInterface, __in HANDLE hRouterInterface,
IN HANDLE hRouterIfTransport, __in HANDLE hRouterIfTransport,
IN LPBYTE pInterfaceInfo OPTIONAL, __in_opt LPBYTE pInterfaceInfo,
IN DWORD dwInterfaceInfoSize OPTIONAL __in_opt DWORD dwInterfaceInfoSize
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigInterfaceTransportEnum( MprConfigInterfaceTransportEnum(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN HANDLE hRouterInterface, __in HANDLE hRouterInterface,
IN DWORD dwLevel, __in DWORD dwLevel,
IN OUT LPBYTE* lplpBuffer, // MPR_IFTRANSPORT_0 __inout LPBYTE* lplpBuffer, // MPR_IFTRANSPORT_0
IN DWORD dwPrefMaxLen, __in DWORD dwPrefMaxLen,
OUT LPDWORD lpdwEntriesRead, __out LPDWORD lpdwEntriesRead,
OUT LPDWORD lpdwTotalEntries, __out LPDWORD lpdwTotalEntries,
IN OUT LPDWORD lpdwResumeHandle OPTIONAL __inout_opt LPDWORD lpdwResumeHandle
); );
DWORD APIENTRY DWORD APIENTRY
MprConfigGetFriendlyName( MprConfigGetFriendlyName(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
__in IN PWCHAR pszGuidName, __in PWSTR pszGuidName,
__out_bcount(dwBufferSize) OUT PWCHAR pszBuffer, __out_bcount(dwBufferSize) PWCHAR pszBuffer,
IN DWORD dwBufferSize); __in DWORD dwBufferSize);
DWORD APIENTRY DWORD APIENTRY
MprConfigGetGuidName( MprConfigGetGuidName(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
__in IN PWCHAR pszFriendlyName, __in PWSTR pszFriendlyName,
__out_bcount(dwBufferSize) OUT PWCHAR pszBuffer, __out_bcount(dwBufferSize) PWCHAR pszBuffer,
IN DWORD dwBufferSize); __in DWORD dwBufferSize);
#if(WINVER >= 0x0600) #if(WINVER >= 0x0600)
DWORD APIENTRY DWORD APIENTRY
MprConfigFilterGetInfo( MprConfigFilterGetInfo(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN DWORD dwLevel, __in DWORD dwLevel,
OUT LPBYTE lpBuffer); __in DWORD dwTransportId,
__out LPBYTE lpBuffer);
DWORD APIENTRY DWORD APIENTRY
MprConfigFilterSetInfo( MprConfigFilterSetInfo(
IN HANDLE hMprConfig, __in HANDLE hMprConfig,
IN DWORD dwLevel, __in DWORD dwLevel,
IN LPBYTE lpBuffer); __in DWORD dwTransportId,
__in LPBYTE lpBuffer);
#endif /* WINVER >= 0x0600 */ #endif /* WINVER >= 0x0600 */
// //
// Information block APIs // Information block APIs
// //
DWORD APIENTRY DWORD APIENTRY
MprInfoCreate( MprInfoCreate(
IN DWORD dwVersion, __in DWORD dwVersion,
OUT LPVOID* lplpNewHeader __out LPVOID* lplpNewHeader
); );
DWORD APIENTRY DWORD APIENTRY
MprInfoDelete( MprInfoDelete(
IN LPVOID lpHeader __in LPVOID lpHeader
); );
DWORD APIENTRY DWORD APIENTRY
MprInfoRemoveAll( MprInfoRemoveAll(
IN LPVOID lpHeader, __in LPVOID lpHeader,
OUT LPVOID* lplpNewHeader __out LPVOID* lplpNewHeader
); );
DWORD APIENTRY DWORD APIENTRY
MprInfoDuplicate( MprInfoDuplicate(
IN LPVOID lpHeader, __in LPVOID lpHeader,
OUT LPVOID* lplpNewHeader __out LPVOID* lplpNewHeader
); );
DWORD APIENTRY DWORD APIENTRY
MprInfoBlockAdd( MprInfoBlockAdd(
IN LPVOID lpHeader, __in LPVOID lpHeader,
IN DWORD dwInfoType, __in DWORD dwInfoType,
IN DWORD dwItemSize, __in DWORD dwItemSize,
IN DWORD dwItemCount, __in DWORD dwItemCount,
IN LPBYTE lpItemData, __in LPBYTE lpItemData,
OUT LPVOID* lplpNewHeader __out LPVOID* lplpNewHeader
); );
DWORD APIENTRY DWORD APIENTRY
MprInfoBlockRemove( MprInfoBlockRemove(
IN LPVOID lpHeader, __in LPVOID lpHeader,
IN DWORD dwInfoType, __in DWORD dwInfoType,
OUT LPVOID* lplpNewHeader __out LPVOID* lplpNewHeader
); );
DWORD APIENTRY DWORD APIENTRY
MprInfoBlockSet( MprInfoBlockSet(
IN LPVOID lpHeader, __in LPVOID lpHeader,
IN DWORD dwInfoType, __in DWORD dwInfoType,
IN DWORD dwItemSize, __in DWORD dwItemSize,
IN DWORD dwItemCount, __in DWORD dwItemCount,
IN LPBYTE lpItemData, __in LPBYTE lpItemData,
OUT LPVOID* lplpNewHeader __out LPVOID* lplpNewHeader
); );
DWORD APIENTRY DWORD APIENTRY
MprInfoBlockFind( MprInfoBlockFind(
IN LPVOID lpHeader, __in LPVOID lpHeader,
IN DWORD dwInfoType, __in DWORD dwInfoType,
OUT LPDWORD lpdwItemSize, // OPTIONAL __out LPDWORD lpdwItemSize, // OPTIONAL
OUT LPDWORD lpdwItemCount, // OPTIONAL __out LPDWORD lpdwItemCount, // OPTIONAL
OUT LPBYTE* lplpItemData // OPTIONAL __out LPBYTE* lplpItemData // OPTIONAL
); );
DWORD APIENTRY DWORD APIENTRY
MprInfoBlockQuerySize( MprInfoBlockQuerySize(
IN LPVOID lpHeader __in LPVOID lpHeader
); );
// //
// BOOL APIENTRY // BOOL APIENTRY
// MprInfoBlockExists( // MprInfoBlockExists(
// IN LPVOID lpHeader, // __in LPVOID lpHeader,
// IN DWORD dwInfoType // __in DWORD dwInfoType
// ); // );
// //
#define MprInfoBlockExists(h,t) \ #define MprInfoBlockExists(h,t) \
(MprInfoBlockFind((h),(t),NULL,NULL,NULL) == NO_ERROR) (MprInfoBlockFind((h),(t),NULL,NULL,NULL) == NO_ERROR)
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
//#endif /* WINVER >= 0x0403 */
#endif // __ROUTING_MPRADMIN_H__ #endif // __ROUTING_MPRADMIN_H__
 End of changes. 131 change blocks. 
470 lines changed or deleted 903 lines changed or added

This html diff was produced by rfcdiff 1.41.