123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791 |
- /*++
- Copyright (c) Microsoft Corporation. All rights reserved.
- Module Name:
- mpradmin.h
- Abstract:
- This file contains the structures, defines and function prototypes for the
- following APIs:
- MprAdminIsServiceRunning
- MprAdminServerConnect
- MprAdminServerDisconnect
- MprAdminBufferFree
- MprAdminPortEnum
- MprAdminConnectionEnum
- MprAdminPortGetInfo
- MprAdminConnectionGetInfo
- MprAdminPortClearStats
- MprAdminPortReset
- MprAdminConnectionClearStats
- MprAdminPortDisconnect
- MprAdminGetErrorString
- MprAdminAcceptNewConnection
- MprAdminAcceptNewLink
- MprAdminConnectionHangupNotification
- MprAdminLinkHangupNotification
- MprAdminGetIpAddressForUser
- MprAdminReleaseIpAddress
- MprAdminInitializeDll
- MprAdminTerminateDll
- MprAdminAcceptNewConnection2
- MprAdminConnectionHangupNotification2
- MprAdminUserGetInfo
- MprAdminUserSetInfo
- MprAdminSendUserMessage
- MprAdminGetPDCServer
- MprAdminRegisterConnectionNotification
- MprAdminDeregisterConnectionNotification
- MprAdminIsServiceRunning
- MprAdminServerConnect
- MprAdminServerDisconnect
- MprAdminBufferFree
- MprAdminServerGetInfo
- MprAdminGetErrorString
- MprAdminTransportCreate
- MprAdminTransportSetInfo
- MprAdminTransportGetInfo
- MprAdminInterfaceCreate
- MprAdminInterfaceDelete
- MprAdminInterfaceGetInfo
- MprAdminInterfaceTransportAdd
- MprAdminInterfaceTransportGetInfo
- MprAdminInterfaceTransportSetInfo
- MprAdminInterfaceTransportRemove
- MprAdminInterfaceGetHandle
- MprAdminInterfaceSetCredentials
- MprAdminInterfaceGetCredentials
- MprAdminInterfaceEnum
- MprAdminInterfaceConnect
- MprAdminInterfaceDisconnect
- MprAdminInterfaceUpdateRoutes
- MprAdminInterfaceQueryUpdateResult
- MprAdminInterfaceUpdatePhonebookInfo
- MprAdminMIBServerConnect
- MprAdminMIBServerDisconnect
- MprAdminMIBBufferFree
- MprAdminMIBEntryCreate
- MprAdminMIBEntryDelete
- MprAdminMIBEntryGet
- MprAdminMIBEntrySet
- MprAdminMIBEntryGetFirst
- MprAdminMIBEntryGetNext
- MprAdminMIBSetTrapInfo
- MprAdminMIBGetTrapInfo
- All MIB APIs operate with the conceptual MIB row.
- MprConfigServerConnect
- MprConfigServerDisconnect
- MprConfigBufferFree
- MprConfigServerGetInfo
- MprConfigServerBackup
- MprConfigServerRestore
- MprConfigTransportCreate
- MprConfigTransportDelete
- MprConfigTransportGetHandle
- MprConfigTransportSetInfo
- MprConfigTransportGetInfo
- MprConfigTransportEnum
- MprConfigInterfaceCreate
- MprConfigInterfaceDelete
- MprConfigInterfaceGetHandle
- MprConfigInterfaceGetInfo
- MprConfigInterfaceEnum
- MprConfigInterfaceTransportAdd
- MprConfigInterfaceTransportRemove
- MprConfigInterfaceTransportGetHandle
- MprConfigInterfaceTransportGetInfo
- MprConfigInterfaceTransportSetInfo
- MprConfigInterfaceTransportEnum
- MprSetupIpInIpInterfaceFriendlyNameEnum
- MprSetupIpInIpInterfaceFriendlyNameFree
- MprSetupIpInIpInterfaceFriendlyNameCreate
- MprSetupIpInIpInterfaceFriendlyNameDelete
- --*/
- #ifndef __ROUTING_MPRADMIN_H__
- #define __ROUTING_MPRADMIN_H__
- #if _MSC_VER > 1000
- #pragma once
- #endif
- #include <lmcons.h>
- #include <ras.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- //#if(WINVER >= 0x0403)
- //
- // Name of the Routing and RemoteAccess Service
- //
- #define RRAS_SERVICE_NAME TEXT("RemoteAccess")
- //
- // Protocol IDs
- //
- #define PID_IPX 0x0000002B
- #define PID_IP 0x00000021
- #define PID_NBF 0x0000003F
- #define PID_ATALK 0x00000029
- #define MAX_INTERFACE_NAME_LEN 256
- #define MAX_TRANSPORT_NAME_LEN 40
- #define MAX_MEDIA_NAME 16
- #define MAX_PORT_NAME 16
- #define MAX_DEVICE_NAME 128
- #define MAX_PHONE_NUMBER_LEN 128
- #define MAX_DEVICETYPE_NAME 16
- //
- // MPR Interface structures and definitions.
- //
- //
- // MPR Interface types
- //
- typedef enum _ROUTER_INTERFACE_TYPE
- {
- ROUTER_IF_TYPE_CLIENT,
- ROUTER_IF_TYPE_HOME_ROUTER,
- ROUTER_IF_TYPE_FULL_ROUTER,
- ROUTER_IF_TYPE_DEDICATED,
- ROUTER_IF_TYPE_INTERNAL,
- ROUTER_IF_TYPE_LOOPBACK,
- ROUTER_IF_TYPE_TUNNEL1,
- ROUTER_IF_TYPE_DIALOUT
- }
- ROUTER_INTERFACE_TYPE;
- typedef enum _ROUTER_CONNECTION_STATE
- {
- ROUTER_IF_STATE_UNREACHABLE,
- ROUTER_IF_STATE_DISCONNECTED,
- ROUTER_IF_STATE_CONNECTING,
- ROUTER_IF_STATE_CONNECTED
- }
- ROUTER_CONNECTION_STATE;
- #define MPR_INTERFACE_OUT_OF_RESOURCES 0x00000001
- #define MPR_INTERFACE_ADMIN_DISABLED 0x00000002
- #define MPR_INTERFACE_CONNECTION_FAILURE 0x00000004
- #define MPR_INTERFACE_SERVICE_PAUSED 0x00000008
- #define MPR_INTERFACE_DIALOUT_HOURS_RESTRICTION 0x00000010
- #define MPR_INTERFACE_NO_MEDIA_SENSE 0x00000020
- #define MPR_INTERFACE_NO_DEVICE 0x00000040
- typedef struct _MPR_INTERFACE_0
- {
- IN OUT WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
- OUT HANDLE hInterface;
- IN OUT BOOL fEnabled;
- IN OUT ROUTER_INTERFACE_TYPE dwIfType;
- OUT ROUTER_CONNECTION_STATE dwConnectionState;
- OUT DWORD fUnReachabilityReasons;
- OUT DWORD dwLastError;
- }
- MPR_INTERFACE_0, *PMPR_INTERFACE_0;
- typedef struct _MPR_IPINIP_INTERFACE_0
- {
- WCHAR wszFriendlyName[MAX_INTERFACE_NAME_LEN+1];
- GUID Guid;
- }MPR_IPINIP_INTERFACE_0, *PMPR_IPINIP_INTERFACE_0;
- #if(WINVER >= 0x0500)
- typedef struct _MPR_INTERFACE_1
- {
- IN OUT WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
- OUT HANDLE hInterface;
- IN OUT BOOL fEnabled;
- IN OUT ROUTER_INTERFACE_TYPE dwIfType;
- OUT ROUTER_CONNECTION_STATE dwConnectionState;
- OUT DWORD fUnReachabilityReasons;
- OUT DWORD dwLastError;
- OUT LPWSTR lpwsDialoutHoursRestriction;
- }
- MPR_INTERFACE_1, *PMPR_INTERFACE_1;
- //
- // MPR_INTERFACE_2 definitions
- //
- #define MPR_MaxDeviceType RAS_MaxDeviceType
- #define MPR_MaxPhoneNumber RAS_MaxPhoneNumber
- #define MPR_MaxIpAddress RAS_MaxIpAddress
- #define MPR_MaxIpxAddress RAS_MaxIpxAddress
- #define MPR_MaxEntryName RAS_MaxEntryName
- #define MPR_MaxDeviceName RAS_MaxDeviceName
- #define MPR_MaxCallbackNumber RAS_MaxCallbackNumber
- #define MPR_MaxAreaCode RAS_MaxAreaCode
- #define MPR_MaxPadType RAS_MaxPadType
- #define MPR_MaxX25Address RAS_MaxX25Address
- #define MPR_MaxFacilities RAS_MaxFacilities
- #define MPR_MaxUserData RAS_MaxUserData
- //
- // MPR_INTERFACE_2 'dwfOptions' bit flags.
- //
- #define MPRIO_SpecificIpAddr RASEO_SpecificIpAddr
- #define MPRIO_SpecificNameServers RASEO_SpecificNameServers
- #define MPRIO_IpHeaderCompression RASEO_IpHeaderCompression
- #define MPRIO_RemoteDefaultGateway RASEO_RemoteDefaultGateway
- #define MPRIO_DisableLcpExtensions RASEO_DisableLcpExtensions
- #define MPRIO_SwCompression RASEO_SwCompression
- #define MPRIO_RequireEncryptedPw RASEO_RequireEncryptedPw
- #define MPRIO_RequireMsEncryptedPw RASEO_RequireMsEncryptedPw
- #define MPRIO_RequireDataEncryption RASEO_RequireDataEncryption
- #define MPRIO_NetworkLogon RASEO_NetworkLogon
- #define MPRIO_PromoteAlternates RASEO_PromoteAlternates
- #define MPRIO_SecureLocalFiles RASEO_SecureLocalFiles
- #define MPRIO_RequireEAP RASEO_RequireEAP
- #define MPRIO_RequirePAP RASEO_RequirePAP
- #define MPRIO_RequireSPAP RASEO_RequireSPAP
- #define MPRIO_SharedPhoneNumbers RASEO_SharedPhoneNumbers
- #define MPRIO_RequireCHAP RASEO_RequireCHAP
- #define MPRIO_RequireMsCHAP RASEO_RequireMsCHAP
- #define MPRIO_RequireMsCHAP2 RASEO_RequireMsCHAP2
- #if (WINVER >= 0x501)
- #define MPRIO_IpSecPreSharedKey 0x80000000
- #endif
- //
- // MPR_INTERFACE_2 'dwProtocols' bit flags.
- //
- #define MPRNP_Ipx RASNP_Ipx
- #define MPRNP_Ip RASNP_Ip
- //
- // MPR_INTERFACE_2 'szDeviceType' default strings.
- //
- #define MPRDT_Modem RASDT_Modem
- #define MPRDT_Isdn RASDT_Isdn
- #define MPRDT_X25 RASDT_X25
- #define MPRDT_Vpn RASDT_Vpn
- #define MPRDT_Pad RASDT_Pad
- #define MPRDT_Generic RASDT_Generic
- #define MPRDT_Serial RASDT_Serial
- #define MPRDT_FrameRelay RASDT_FrameRelay
- #define MPRDT_Atm RASDT_Atm
- #define MPRDT_Sonet RASDT_Sonet
- #define MPRDT_SW56 RASDT_SW56
- #define MPRDT_Irda RASDT_Irda
- #define MPRDT_Parallel RASDT_Parallel
- //
- // MPR_INTERFACE_2 'dwType' settings
- //
- #define MPRET_Phone RASET_Phone
- #define MPRET_Vpn RASET_Vpn
- #define MPRET_Direct RASET_Direct
- //
- // MPR_INTERFACE_2 'dwDialMode' values.
- //
- #define MPRDM_DialFirst 0
- #define MPRDM_DialAll RASEDM_DialAll
- #define MPRDM_DialAsNeeded RASEDM_DialAsNeeded
- //
- // MPR_INTERFACE_2 'dwIdleDisconnectSeconds' constants.
- //
- #define MPRIDS_Disabled RASIDS_Disabled
- #define MPRIDS_UseGlobalValue RASIDS_UseGlobalValue
- //
- // MPR_INTERFACE_2 encryption types.
- //
- #define MPR_ET_None ET_None
- #define MPR_ET_Require ET_Require
- #define MPR_ET_RequireMax ET_RequireMax
- #define MPR_ET_Optional ET_Optional
- //
- // MPR_INTERFACE_2 Vpn strategies
- //
- #define MPR_VS_Default VS_Default
- #define MPR_VS_PptpOnly VS_PptpOnly
- #define MPR_VS_PptpFirst VS_PptpFirst
- #define MPR_VS_L2tpOnly VS_L2tpOnly
- #define MPR_VS_L2tpFirst VS_L2tpFirst
- //
- // Used to create/get/set a demand dial interface plus its
- // ras configuration.
- //
- typedef struct _MPR_INTERFACE_2
- {
- IN OUT WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
- OUT HANDLE hInterface;
- IN OUT BOOL fEnabled;
- IN OUT ROUTER_INTERFACE_TYPE dwIfType;
- OUT ROUTER_CONNECTION_STATE dwConnectionState;
- OUT DWORD fUnReachabilityReasons;
- OUT DWORD dwLastError;
- //
- // Demand dial-specific properties
- //
- DWORD dwfOptions;
- //
- // Location/phone number
- //
- WCHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
- PWCHAR szAlternates;
- //
- // PPP/Ip
- //
- DWORD ipaddr;
- DWORD ipaddrDns;
- DWORD ipaddrDnsAlt;
- DWORD ipaddrWins;
- DWORD ipaddrWinsAlt;
- //
- // NetProtocols
- //
- DWORD dwfNetProtocols;
- //
- // Device
- //
- WCHAR szDeviceType[ MPR_MaxDeviceType + 1 ];
- WCHAR szDeviceName[ MPR_MaxDeviceName + 1 ];
- //
- // X.25
- //
- WCHAR szX25PadType[ MPR_MaxPadType + 1 ];
- WCHAR szX25Address[ MPR_MaxX25Address + 1 ];
- WCHAR szX25Facilities[ MPR_MaxFacilities + 1 ];
- WCHAR szX25UserData[ MPR_MaxUserData + 1 ];
- DWORD dwChannels;
- //
- // Multilink
- //
- DWORD dwSubEntries;
- DWORD dwDialMode;
- DWORD dwDialExtraPercent;
- DWORD dwDialExtraSampleSeconds;
- DWORD dwHangUpExtraPercent;
- DWORD dwHangUpExtraSampleSeconds;
- //
- // Idle timeout
- //
- DWORD dwIdleDisconnectSeconds;
- //
- // Entry Type
- //
- DWORD dwType;
- //
- // EncryptionType
- //
- DWORD dwEncryptionType;
- //
- // EAP information
- //
- DWORD dwCustomAuthKey;
- DWORD dwCustomAuthDataSize;
- LPBYTE lpbCustomAuthData;
- //
- // Guid of the connection
- //
- GUID guidId;
- //
- // Vpn Strategy
- //
- DWORD dwVpnStrategy;
- } MPR_INTERFACE_2, *PMPR_INTERFACE_2;
- //
- // Used to set/get per-link information for multilinked demand
- // dial interfaces.
- //
- typedef struct _MPR_DEVICE_0
- {
- //
- // Device
- //
- WCHAR szDeviceType[ MPR_MaxDeviceType + 1 ];
- WCHAR szDeviceName[ MPR_MaxDeviceName + 1 ];
- }
- MPR_DEVICE_0, *PMPR_DEVICE_0;
- typedef struct _MPR_DEVICE_1
- {
- //
- // Device
- //
- WCHAR szDeviceType[ MPR_MaxDeviceType + 1 ];
- WCHAR szDeviceName[ MPR_MaxDeviceName + 1 ];
- //
- // Phone numbers
- //
- WCHAR szLocalPhoneNumber[ MPR_MaxPhoneNumber + 1 ];
- PWCHAR szAlternates;
- }
- MPR_DEVICE_1, *PMPR_DEVICE_1;
- //
- // Used to get/set extended credentials information such as
- // eap credentials info.
- //
- typedef struct _MPR_CREDENTIALSEX_0
- {
- DWORD dwSize;
- LPBYTE lpbCredentialsInfo;
- }
- MPR_CREDENTIALSEX_0, *PMPR_CREDENTIALSEX_0;
- typedef struct _MPR_CREDENTIALSEX_1
- {
- DWORD dwSize;
- LPBYTE lpbCredentialsInfo;
- }
- MPR_CREDENTIALSEX_1, *PMPR_CREDENTIALSEX_1;
- #endif /* WINVER >= 0x0500 */
- typedef struct _MPR_TRANSPORT_0
- {
- OUT DWORD dwTransportId;
- OUT HANDLE hTransport;
- OUT WCHAR wszTransportName[MAX_TRANSPORT_NAME_LEN+1];
- }
- MPR_TRANSPORT_0, *PMPR_TRANSPORT_0;
- typedef struct _MPR_IFTRANSPORT_0
- {
- OUT DWORD dwTransportId;
- OUT HANDLE hIfTransport;
- OUT WCHAR wszIfTransportName[MAX_TRANSPORT_NAME_LEN+1];
- }
- MPR_IFTRANSPORT_0, *PMPR_IFTRANSPORT_0;
- typedef struct _MPR_SERVER_0
- {
- OUT BOOL fLanOnlyMode;
- OUT DWORD dwUpTime; // In seconds
- OUT DWORD dwTotalPorts;
- OUT DWORD dwPortsInUse;
- }
- MPR_SERVER_0, *PMPR_SERVER_0;
- //
- // Port condition codes
- //
- typedef enum _RAS_PORT_CONDITION
- {
- RAS_PORT_NON_OPERATIONAL,
- RAS_PORT_DISCONNECTED,
- RAS_PORT_CALLING_BACK,
- RAS_PORT_LISTENING,
- RAS_PORT_AUTHENTICATING,
- RAS_PORT_AUTHENTICATED,
- RAS_PORT_INITIALIZING
- }
- RAS_PORT_CONDITION;
- //
- // Hardware condition codes
- //
- typedef enum _RAS_HARDWARE_CONDITION
- {
- RAS_HARDWARE_OPERATIONAL,
- RAS_HARDWARE_FAILURE
- }
- RAS_HARDWARE_CONDITION;
- typedef struct _RAS_PORT_0
- {
- OUT HANDLE hPort;
- OUT HANDLE hConnection;
- OUT RAS_PORT_CONDITION dwPortCondition;
- OUT DWORD dwTotalNumberOfCalls;
- OUT DWORD dwConnectDuration; // In seconds
- OUT WCHAR wszPortName[ MAX_PORT_NAME + 1 ];
- OUT WCHAR wszMediaName[ MAX_MEDIA_NAME + 1 ];
- OUT WCHAR wszDeviceName[ MAX_DEVICE_NAME + 1 ];
- OUT WCHAR wszDeviceType[ MAX_DEVICETYPE_NAME + 1 ];
- }
- RAS_PORT_0, *PRAS_PORT_0;
- typedef struct _RAS_PORT_1
- {
- OUT HANDLE hPort;
- OUT HANDLE hConnection;
- OUT RAS_HARDWARE_CONDITION dwHardwareCondition;
- OUT DWORD dwLineSpeed; // in bits/second
- OUT DWORD dwBytesXmited;
- OUT DWORD dwBytesRcved;
- OUT DWORD dwFramesXmited;
- OUT DWORD dwFramesRcved;
- OUT DWORD dwCrcErr;
- OUT DWORD dwTimeoutErr;
- OUT DWORD dwAlignmentErr;
- OUT DWORD dwHardwareOverrunErr;
- OUT DWORD dwFramingErr;
- OUT DWORD dwBufferOverrunErr;
- OUT DWORD dwCompressionRatioIn;
- OUT DWORD dwCompressionRatioOut;
- }
- RAS_PORT_1, *PRAS_PORT_1;
- //
- // Maximum length of address string, e.g. "255.255.255.255" for IP.
- //
- #define IPADDRESSLEN 15
- #define IPXADDRESSLEN 22
- #define ATADDRESSLEN 32
- typedef struct _PPP_NBFCP_INFO
- {
- OUT DWORD dwError;
- OUT WCHAR wszWksta[ NETBIOS_NAME_LEN + 1 ];
- }
- PPP_NBFCP_INFO;
- typedef struct _PPP_IPCP_INFO
- {
- OUT DWORD dwError;
- OUT WCHAR wszAddress[ IPADDRESSLEN + 1 ];
- OUT WCHAR wszRemoteAddress[ IPADDRESSLEN + 1 ];
- }
- PPP_IPCP_INFO;
- //
- // PPP_IPCP_INFO2 dwOptions values.
- //
- #define PPP_IPCP_VJ 0x00000001
- typedef struct _PPP_IPCP_INFO2
- {
- OUT DWORD dwError;
- OUT WCHAR wszAddress[ IPADDRESSLEN + 1 ];
- OUT WCHAR wszRemoteAddress[ IPADDRESSLEN + 1 ];
- OUT DWORD dwOptions;
- OUT DWORD dwRemoteOptions;
- }
- PPP_IPCP_INFO2;
- typedef struct _PPP_IPXCP_INFO
- {
- OUT DWORD dwError;
- OUT WCHAR wszAddress[ IPXADDRESSLEN + 1 ];
- }
- PPP_IPXCP_INFO;
- typedef struct _PPP_ATCP_INFO
- {
- OUT DWORD dwError;
- OUT WCHAR wszAddress[ ATADDRESSLEN + 1 ];
- }
- PPP_ATCP_INFO;
- typedef struct _PPP_INFO
- {
- OUT PPP_NBFCP_INFO nbf;
- OUT PPP_IPCP_INFO ip;
- OUT PPP_IPXCP_INFO ipx;
- OUT PPP_ATCP_INFO at;
- } PPP_INFO;
- #if(WINVER >= 0x0500)
- //
- // PPP_CCP dwCompressionAlgorithm values.
- //
- #define RASCCPCA_MPPC 0x00000006
- #define RASCCPCA_STAC 0x00000005
- //
- // PPP_CCP dwOptions values.
- //
- #define PPP_CCP_COMPRESSION 0x00000001
- #define PPP_CCP_ENCRYPTION40BITOLD 0x00000010
- #define PPP_CCP_ENCRYPTION40BIT 0x00000020
- #define PPP_CCP_ENCRYPTION128BIT 0x00000040
- #define PPP_CCP_ENCRYPTION56BIT 0x00000080
- #define PPP_CCP_HISTORYLESS 0x01000000
- typedef struct _PPP_CCP_INFO
- {
- OUT DWORD dwError;
- OUT DWORD dwCompressionAlgorithm;
- OUT DWORD dwOptions;
- OUT DWORD dwRemoteCompressionAlgorithm;
- OUT DWORD dwRemoteOptions;
- }
- PPP_CCP_INFO;
- //
- // PPP_LCP dwAuthenticatonProtocol values.
- //
- #define PPP_LCP_PAP 0xC023
- #define PPP_LCP_SPAP 0xC123
- #define PPP_LCP_CHAP 0xC223
- #define PPP_LCP_EAP 0xC227
- //
- // PPP_LCP dwAuthenticatonData values.
- //
- #define PPP_LCP_CHAP_MD5 0x05
- #define PPP_LCP_CHAP_MS 0x80
- #define PPP_LCP_CHAP_MSV2 0x81
- //
- // PPP_LCP dwOption values
- //
- #define PPP_LCP_MULTILINK_FRAMING 0x00000001
- #define PPP_LCP_PFC 0x00000002
- #define PPP_LCP_ACFC 0x00000004
- #define PPP_LCP_SSHF 0x00000008
- #define PPP_LCP_DES_56 0x00000010
- #define PPP_LCP_3_DES 0x00000020
- typedef struct _PPP_LCP_INFO
- {
- OUT DWORD dwError;
- OUT DWORD dwAuthenticationProtocol;
- OUT DWORD dwAuthenticationData;
- OUT DWORD dwRemoteAuthenticationProtocol;
- OUT DWORD dwRemoteAuthenticationData;
- OUT DWORD dwTerminateReason;
- OUT DWORD dwRemoteTerminateReason;
- OUT DWORD dwOptions;
- OUT DWORD dwRemoteOptions;
- OUT DWORD dwEapTypeId;
- OUT DWORD dwRemoteEapTypeId;
- }
- PPP_LCP_INFO;
- typedef struct _PPP_INFO_2
- {
- OUT PPP_NBFCP_INFO nbf;
- OUT PPP_IPCP_INFO2 ip;
- OUT PPP_IPXCP_INFO ipx;
- OUT PPP_ATCP_INFO at;
- OUT PPP_CCP_INFO ccp;
- OUT PPP_LCP_INFO lcp;
- }
- PPP_INFO_2;
- #endif /* WINVER >= 0x0500 */
- //
- // Possible bits set in Connection Flags field
- //
- #define RAS_FLAGS_PPP_CONNECTION 0x00000001
- #define RAS_FLAGS_MESSENGER_PRESENT 0x00000002
- #if(WINVER < 0x0501)
- #define RAS_FLAGS_RAS_CONNECTION 0x00000004
- #endif
- typedef struct _RAS_CONNECTION_0
- {
- OUT HANDLE hConnection;
- OUT HANDLE hInterface;
- OUT DWORD dwConnectDuration; // In seconds
- OUT ROUTER_INTERFACE_TYPE dwInterfaceType;
- OUT DWORD dwConnectionFlags;
- OUT WCHAR wszInterfaceName[ MAX_INTERFACE_NAME_LEN + 1 ];
- OUT WCHAR wszUserName[ UNLEN + 1 ];
- OUT WCHAR wszLogonDomain[ DNLEN + 1 ];
- OUT WCHAR wszRemoteComputer[ NETBIOS_NAME_LEN + 1 ];
- }
- RAS_CONNECTION_0, *PRAS_CONNECTION_0;
- typedef struct _RAS_CONNECTION_1
- {
- OUT HANDLE hConnection;
- OUT HANDLE hInterface;
- OUT PPP_INFO PppInfo;
- OUT DWORD dwBytesXmited;
- OUT DWORD dwBytesRcved;
- OUT DWORD dwFramesXmited;
- OUT DWORD dwFramesRcved;
- OUT DWORD dwCrcErr;
- OUT DWORD dwTimeoutErr;
- OUT DWORD dwAlignmentErr;
- OUT DWORD dwHardwareOverrunErr;
- OUT DWORD dwFramingErr;
- OUT DWORD dwBufferOverrunErr;
- OUT DWORD dwCompressionRatioIn;
- OUT DWORD dwCompressionRatioOut;
- }
- RAS_CONNECTION_1, *PRAS_CONNECTION_1;
- #if(WINVER >= 0x0500)
- typedef struct _RAS_CONNECTION_2
- {
- OUT HANDLE hConnection;
- OUT WCHAR wszUserName[ UNLEN + 1 ];
- OUT ROUTER_INTERFACE_TYPE dwInterfaceType;
- OUT GUID guid;
- OUT PPP_INFO_2 PppInfo2;
- }
- RAS_CONNECTION_2, *PRAS_CONNECTION_2;
- #endif /* WINVER >= 0x0500 */
- //
- // Structures used by the MPRADMIN USER APIs. Use level 0 to get/set this
- // structure.
- //
- //
- // Bits indicating user's Remote Access privileges and mask to isolate
- // call back privilege.
- //
- // Note: Bit 0 MUST represent NoCallback due to a quirk of the "userparms"
- // storage method. When a new LAN Manager user is created, bit 0 of the
- // userparms field is set to 1 and all other bits are 0. These bits are
- // arranged so this "no Dial-In info" state maps to the "default Dial-In
- // privilege" state.
- #define RASPRIV_NoCallback 0x01
- #define RASPRIV_AdminSetCallback 0x02
- #define RASPRIV_CallerSetCallback 0x04
- #define RASPRIV_DialinPrivilege 0x08
- //
- // The following are flags for the bfPrivilege2 member of RAS_USER_1
- // structure
- //
- #define RASPRIV2_DialinPolicy 0x1
- #define RASPRIV_CallbackType (RASPRIV_AdminSetCallback \
- | RASPRIV_CallerSetCallback \
- | RASPRIV_NoCallback)
- typedef struct _RAS_USER_0
- {
- OUT BYTE bfPrivilege;
- OUT WCHAR wszPhoneNumber[ MAX_PHONE_NUMBER_LEN + 1];
- }
- RAS_USER_0, *PRAS_USER_0;
- typedef struct _RAS_USER_1
- {
- OUT BYTE bfPrivilege;
- OUT WCHAR wszPhoneNumber[ MAX_PHONE_NUMBER_LEN + 1];
- OUT BYTE bfPrivilege2;
- }
- RAS_USER_1, *PRAS_USER_1;
- //
- // Used as RPC binding handle to server
- //
- typedef HANDLE RAS_SERVER_HANDLE;
- typedef HANDLE MPR_SERVER_HANDLE;
- typedef HANDLE MIB_SERVER_HANDLE;
- //
- // RAS ADMIN APIs
- //
- DWORD APIENTRY
- MprAdminConnectionEnum(
- IN RAS_SERVER_HANDLE hRasServer,
- IN DWORD dwLevel,
- OUT LPBYTE * lplpbBuffer,
- IN DWORD dwPrefMaxLen,
- OUT LPDWORD lpdwEntriesRead,
- OUT LPDWORD lpdwTotalEntries,
- IN LPDWORD lpdwResumeHandle OPTIONAL
- );
- DWORD APIENTRY
- MprAdminPortEnum(
- IN RAS_SERVER_HANDLE hRasServer,
- IN DWORD dwLevel,
- IN HANDLE hConnection,
- OUT LPBYTE * lplpbBuffer,
- IN DWORD dwPrefMaxLen,
- OUT LPDWORD lpdwEntriesRead,
- OUT LPDWORD lpdwTotalEntries,
- IN LPDWORD lpdwResumeHandle OPTIONAL
- );
- DWORD APIENTRY
- MprAdminConnectionGetInfo(
- IN RAS_SERVER_HANDLE hRasServer,
- IN DWORD dwLevel,
- IN HANDLE hConnection,
- OUT LPBYTE * lplpbBuffer
- );
- DWORD APIENTRY
- MprAdminPortGetInfo(
- IN RAS_SERVER_HANDLE hRasServer,
- IN DWORD dwLevel,
- IN HANDLE hPort,
- OUT LPBYTE * lplpbBuffer
- );
- DWORD APIENTRY
- MprAdminConnectionClearStats(
- IN RAS_SERVER_HANDLE hRasServer,
- IN HANDLE hConnection
- );
- DWORD APIENTRY
- MprAdminPortClearStats(
- IN RAS_SERVER_HANDLE hRasServer,
- IN HANDLE hPort
- );
- DWORD APIENTRY
- MprAdminPortReset(
- IN RAS_SERVER_HANDLE hRasServer,
- IN HANDLE hPort
- );
- DWORD APIENTRY
- MprAdminPortDisconnect(
- IN RAS_SERVER_HANDLE hRasServer,
- IN HANDLE hPort
- );
- BOOL APIENTRY
- MprAdminAcceptNewConnection(
- IN RAS_CONNECTION_0 * pRasConnection0,
- IN RAS_CONNECTION_1 * pRasConnection1
- );
- #if(WINVER >= 0x0500)
- BOOL APIENTRY
- MprAdminAcceptNewConnection2(
- IN RAS_CONNECTION_0 * pRasConnection0,
- IN RAS_CONNECTION_1 * pRasConnection1,
- IN RAS_CONNECTION_2 * pRasConnection2
- );
- #endif /* WINVER >= 0x0500 */
- BOOL APIENTRY
- MprAdminAcceptNewLink (
- IN RAS_PORT_0 * pRasPort0,
- IN RAS_PORT_1 * pRasPort1
- );
- VOID APIENTRY
- MprAdminConnectionHangupNotification(
- IN RAS_CONNECTION_0 * pRasConnection0,
- IN RAS_CONNECTION_1 * pRasConnection1
- );
- #if(WINVER >= 0x0500)
- VOID APIENTRY
- MprAdminConnectionHangupNotification2(
- IN RAS_CONNECTION_0 * pRasConnection0,
- IN RAS_CONNECTION_1 * pRasConnection1,
- IN RAS_CONNECTION_2 * pRasConnection2
- );
- #endif /* WINVER >= 0x0500 */
- VOID APIENTRY
- MprAdminLinkHangupNotification (
- IN RAS_PORT_0 * pRasPort0,
- IN RAS_PORT_1 * pRasPort1
- );
- DWORD APIENTRY
- MprAdminGetIpAddressForUser (
- IN WCHAR * lpwszUserName,
- IN WCHAR * lpwszPortName,
- IN OUT DWORD * lpdwIpAddress,
- OUT BOOL * bNotifyRelease
- );
- VOID APIENTRY
- MprAdminReleaseIpAddress (
- IN WCHAR * lpszUserName,
- IN WCHAR * lpszPortName,
- IN DWORD * lpdwIpAddress
- );
- #if(WINVER >= 0x0500)
- DWORD APIENTRY
- MprAdminInitializeDll(
- VOID
- );
- DWORD APIENTRY
- MprAdminTerminateDll(
- VOID
- );
- #endif
- //
- // MprAdminUser APIs
- //
- DWORD APIENTRY
- MprAdminUserGetInfo(
- IN const WCHAR * lpszServer,
- IN const WCHAR * lpszUser,
- IN DWORD dwLevel,
- OUT LPBYTE lpbBuffer
- );
- DWORD APIENTRY
- MprAdminUserSetInfo(
- IN const WCHAR * lpszServer,
- IN const WCHAR * lpszUser,
- IN DWORD dwLevel,
- IN const LPBYTE lpbBuffer
- );
- #if(WINVER >= 0x0500)
- DWORD APIENTRY
- MprAdminSendUserMessage(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hConnection,
- IN LPWSTR lpwszMessage
- );
- #endif /* WINVER >= 0x0500 */
- DWORD APIENTRY
- MprAdminGetPDCServer(
- IN const WCHAR * lpszDomain,
- IN const WCHAR * lpszServer,
- OUT LPWSTR lpszPDCServer
- );
- //
- // Router APIs
- //
- BOOL APIENTRY
- MprAdminIsServiceRunning(
- IN LPWSTR lpwsServerName
- );
- DWORD APIENTRY
- MprAdminServerConnect(
- IN LPWSTR lpwsServerName OPTIONAL,
- OUT MPR_SERVER_HANDLE * phMprServer
- );
- VOID APIENTRY
- MprAdminServerDisconnect(
- IN MPR_SERVER_HANDLE hMprServer
- );
- #if (WINVER >= 0x501)
- DWORD APIENTRY
- MprAdminServerGetCredentials(
- IN MPR_SERVER_HANDLE hMprServer,
- IN DWORD dwLevel,
- IN LPBYTE * lplpbBuffer
- );
- DWORD APIENTRY
- MprAdminServerSetCredentials(
- IN MPR_SERVER_HANDLE hMprServer,
- IN DWORD dwLevel,
- IN LPBYTE lpbBuffer
- );
- #endif
- DWORD APIENTRY
- MprAdminBufferFree(
- IN LPVOID pBuffer
- );
- DWORD APIENTRY
- MprAdminGetErrorString(
- IN DWORD dwError,
- OUT LPWSTR * lpwsErrorString
- );
- DWORD APIENTRY
- MprAdminServerGetInfo(
- IN MPR_SERVER_HANDLE hMprServer,
- IN DWORD dwLevel,
- OUT LPBYTE * lplpbBuffer
- );
- #if(WINVER >= 0x0500)
- DWORD APIENTRY
- MprAdminTransportCreate(
- IN MPR_SERVER_HANDLE hMprServer,
- IN DWORD dwTransportId,
- IN LPWSTR lpwsTransportName OPTIONAL,
- IN LPBYTE pGlobalInfo,
- IN DWORD dwGlobalInfoSize,
- IN LPBYTE pClientInterfaceInfo OPTIONAL,
- IN DWORD dwClientInterfaceInfoSize OPTIONAL,
- IN LPWSTR lpwsDLLPath
- );
- #endif /* WINVER >= 0x0500 */
- DWORD APIENTRY
- MprAdminTransportSetInfo(
- IN MPR_SERVER_HANDLE hMprServer,
- IN DWORD dwTransportId,
- IN LPBYTE pGlobalInfo OPTIONAL,
- IN DWORD dwGlobalInfoSize,
- IN LPBYTE pClientInterfaceInfo OPTIONAL,
- IN DWORD dwClientInterfaceInfoSize
- );
- DWORD APIENTRY
- MprAdminTransportGetInfo(
- IN MPR_SERVER_HANDLE hMprServer,
- IN DWORD dwTransportId,
- OUT LPBYTE * ppGlobalInfo OPTIONAL,
- OUT LPDWORD lpdwGlobalInfoSize OPTIONAL,
- OUT LPBYTE * ppClientInterfaceInfo OPTIONAL,
- OUT LPDWORD lpdwClientInterfaceInfoSize OPTIONAL
- );
- #if(WINVER >= 0x0500)
- DWORD APIENTRY
- MprAdminDeviceEnum(
- IN MPR_SERVER_HANDLE hMprServer,
- IN DWORD dwLevel,
- OUT LPBYTE* lplpbBuffer,
- OUT LPDWORD lpdwTotalEntries);
- #endif /* WINVER >= 0x0500 */
- DWORD APIENTRY
- MprAdminInterfaceGetHandle(
- IN MPR_SERVER_HANDLE hMprServer,
- IN LPWSTR lpwsInterfaceName,
- OUT HANDLE * phInterface,
- IN BOOL fIncludeClientInterfaces
- );
- DWORD APIENTRY
- MprAdminInterfaceCreate(
- IN MPR_SERVER_HANDLE hMprServer,
- IN DWORD dwLevel,
- IN LPBYTE lpbBuffer,
- OUT HANDLE * phInterface
- );
- DWORD APIENTRY
- MprAdminInterfaceGetInfo(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN DWORD dwLevel,
- IN LPBYTE * lplpbBuffer
- );
- DWORD APIENTRY
- MprAdminInterfaceSetInfo(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN DWORD dwLevel,
- IN LPBYTE lpbBuffer
- );
- DWORD APIENTRY
- MprAdminInterfaceDelete(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface
- );
- #if(WINVER >= 0x0500)
- DWORD APIENTRY
- MprAdminInterfaceDeviceGetInfo(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN DWORD dwIndex,
- IN DWORD dwLevel,
- OUT LPBYTE* lplpBuffer
- );
- DWORD APIENTRY
- MprAdminInterfaceDeviceSetInfo(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN DWORD dwIndex,
- IN DWORD dwLevel,
- IN LPBYTE lplpBuffer
- );
- #endif /* WINVER >= 0x0500 */
- DWORD APIENTRY
- MprAdminInterfaceTransportRemove(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN DWORD dwTransportId
- );
- DWORD APIENTRY
- MprAdminInterfaceTransportAdd(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN DWORD dwTransportId,
- IN LPBYTE pInterfaceInfo,
- IN DWORD dwInterfaceInfoSize
- );
- DWORD APIENTRY
- MprAdminInterfaceTransportGetInfo(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN DWORD dwTransportId,
- OUT LPBYTE * ppInterfaceInfo,
- OUT LPDWORD lpdwpInterfaceInfoSize OPTIONAL
- );
- DWORD APIENTRY
- MprAdminInterfaceTransportSetInfo(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN DWORD dwTransportId,
- IN LPBYTE pInterfaceInfo,
- IN DWORD dwInterfaceInfoSize
- );
- DWORD APIENTRY
- MprAdminInterfaceEnum(
- IN MPR_SERVER_HANDLE hMprServer,
- IN DWORD dwLevel,
- OUT LPBYTE * lplpbBuffer,
- IN DWORD dwPrefMaxLen,
- OUT LPDWORD lpdwEntriesRead,
- OUT LPDWORD lpdwTotalEntries,
- IN LPDWORD lpdwResumeHandle OPTIONAL
- );
- DWORD APIENTRY
- MprSetupIpInIpInterfaceFriendlyNameEnum(
- IN PWCHAR pwszMachineName,
- OUT LPBYTE* lplpBuffer,
- OUT LPDWORD lpdwEntriesRead
- );
- DWORD APIENTRY
- MprSetupIpInIpInterfaceFriendlyNameFree(
- IN LPVOID lpBuffer
- );
- DWORD APIENTRY
- MprSetupIpInIpInterfaceFriendlyNameCreate(
- PWCHAR pwszMachineName,
- PMPR_IPINIP_INTERFACE_0 pNameInformation
- );
- DWORD APIENTRY
- MprSetupIpInIpInterfaceFriendlyNameDelete(
- IN PWCHAR pwszMachineName,
- IN GUID *pGuid
- );
- DWORD APIENTRY
- MprAdminInterfaceSetCredentials(
- IN LPWSTR lpwsServer OPTIONAL,
- IN LPWSTR lpwsInterfaceName,
- IN LPWSTR lpwsUserName OPTIONAL,
- IN LPWSTR lpwsDomainName OPTIONAL,
- IN LPWSTR lpwsPassword OPTIONAL
- );
- DWORD APIENTRY
- MprAdminInterfaceGetCredentials(
- IN LPWSTR lpwsServer OPTIONAL,
- IN LPWSTR lpwsInterfaceName,
- OUT LPWSTR lpwsUserName OPTIONAL,
- OUT LPWSTR lpwsPassword OPTIONAL,
- OUT LPWSTR lpwsDomainName OPTIONAL
- );
- #if(WINVER >= 0x0500)
- DWORD APIENTRY
- MprAdminInterfaceSetCredentialsEx(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN DWORD dwLevel,
- IN LPBYTE lpbBuffer
- );
- DWORD APIENTRY
- MprAdminInterfaceGetCredentialsEx(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN DWORD dwLevel,
- OUT LPBYTE * lplpbBuffer
- );
- #endif /* WINVER >= 0x0500 */
- DWORD APIENTRY
- MprAdminInterfaceConnect(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN HANDLE hEvent,
- IN BOOL fSynchronous
- );
- DWORD APIENTRY
- MprAdminInterfaceDisconnect(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface
- );
- DWORD APIENTRY
- MprAdminInterfaceUpdateRoutes(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN DWORD dwProtocolId,
- IN HANDLE hEvent
- );
- DWORD APIENTRY
- MprAdminInterfaceQueryUpdateResult(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface,
- IN DWORD dwProtocolId,
- OUT LPDWORD lpdwUpdateResult
- );
- DWORD APIENTRY
- MprAdminInterfaceUpdatePhonebookInfo(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hInterface
- );
- #if(WINVER >= 0x0500)
- DWORD APIENTRY
- MprAdminRegisterConnectionNotification(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hEventNotification
- );
- DWORD APIENTRY
- MprAdminDeregisterConnectionNotification(
- IN MPR_SERVER_HANDLE hMprServer,
- IN HANDLE hEventNotification
- );
- #endif /* WINVER >= 0x0500 */
- //
- // MIB APIs
- //
- DWORD APIENTRY
- MprAdminMIBServerConnect(
- IN LPWSTR lpwsServerName OPTIONAL,
- OUT MIB_SERVER_HANDLE * phMibServer
- );
- VOID APIENTRY
- MprAdminMIBServerDisconnect(
- IN MIB_SERVER_HANDLE hMibServer
- );
- DWORD APIENTRY
- MprAdminMIBEntryCreate(
- IN MIB_SERVER_HANDLE hMibServer,
- IN DWORD dwPid,
- IN DWORD dwRoutingPid,
- IN LPVOID lpEntry,
- IN DWORD dwEntrySize
- );
- DWORD APIENTRY
- MprAdminMIBEntryDelete(
- IN MIB_SERVER_HANDLE hMibServer,
- IN DWORD dwProtocolId,
- IN DWORD dwRoutingPid,
- IN LPVOID lpEntry,
- IN DWORD dwEntrySize
- );
- DWORD APIENTRY
- MprAdminMIBEntrySet(
- IN MIB_SERVER_HANDLE hMibServer,
- IN DWORD dwProtocolId,
- IN DWORD dwRoutingPid,
- IN LPVOID lpEntry,
- IN DWORD dwEntrySize
- );
- DWORD APIENTRY
- MprAdminMIBEntryGet(
- IN MIB_SERVER_HANDLE hMibServer,
- IN DWORD dwProtocolId,
- IN DWORD dwRoutingPid,
- IN LPVOID lpInEntry,
- IN DWORD dwInEntrySize,
- OUT LPVOID* lplpOutEntry,
- OUT LPDWORD lpOutEntrySize
- );
- DWORD APIENTRY
- MprAdminMIBEntryGetFirst(
- IN MIB_SERVER_HANDLE hMibServer,
- IN DWORD dwProtocolId,
- IN DWORD dwRoutingPid,
- IN LPVOID lpInEntry,
- IN DWORD dwInEntrySize,
- OUT LPVOID* lplpOutEntry,
- OUT LPDWORD lpOutEntrySize
- );
- DWORD APIENTRY
- MprAdminMIBEntryGetNext(
- IN MIB_SERVER_HANDLE hMibServer,
- IN DWORD dwProtocolId,
- IN DWORD dwRoutingPid,
- IN LPVOID lpInEntry,
- IN DWORD dwInEntrySize,
- OUT LPVOID* lplpOutEntry,
- OUT LPDWORD lpOutEntrySize
- );
- DWORD APIENTRY
- MprAdminMIBGetTrapInfo(
- IN MIB_SERVER_HANDLE hMibServer,
- IN DWORD dwProtocolId,
- IN DWORD dwRoutingPid,
- IN LPVOID lpInData,
- IN DWORD dwInDataSize,
- OUT LPVOID* lplpOutData,
- IN OUT LPDWORD lpOutDataSize
- );
- DWORD APIENTRY
- MprAdminMIBSetTrapInfo(
- IN DWORD dwProtocolId,
- IN DWORD dwRoutingPid,
- IN HANDLE hEvent,
- IN LPVOID lpInData,
- IN DWORD dwInDataSize,
- OUT LPVOID* lplpOutData,
- IN OUT LPDWORD lpOutDataSize
- );
- DWORD APIENTRY
- MprAdminMIBBufferFree(
- IN LPVOID pBuffer
- );
- //
- // Configuration APIs
- //
- DWORD APIENTRY
- MprConfigServerInstall(
- IN DWORD dwLevel,
- IN PVOID pBuffer
- );
- DWORD APIENTRY
- MprConfigServerConnect(
- IN LPWSTR lpwsServerName,
- OUT HANDLE* phMprConfig
- );
- VOID APIENTRY
- MprConfigServerDisconnect(
- IN HANDLE hMprConfig
- );
- DWORD APIENTRY
- MprConfigServerRefresh(
- IN HANDLE hMprConfig
- );
- DWORD APIENTRY
- MprConfigBufferFree(
- IN LPVOID pBuffer
- );
- DWORD APIENTRY
- MprConfigServerGetInfo(
- IN HANDLE hMprConfig,
- IN DWORD dwLevel,
- OUT LPBYTE * lplpbBuffer
- );
- DWORD APIENTRY
- MprConfigServerBackup(
- IN HANDLE hMprConfig,
- IN LPWSTR lpwsPath
- );
- DWORD APIENTRY
- MprConfigServerRestore(
- IN HANDLE hMprConfig,
- IN LPWSTR lpwsPath
- );
- DWORD APIENTRY
- MprConfigTransportCreate(
- IN HANDLE hMprConfig,
- IN DWORD dwTransportId,
- IN LPWSTR lpwsTransportName OPTIONAL,
- IN LPBYTE pGlobalInfo,
- IN DWORD dwGlobalInfoSize,
- IN LPBYTE pClientInterfaceInfo OPTIONAL,
- IN DWORD dwClientInterfaceInfoSize OPTIONAL,
- IN LPWSTR lpwsDLLPath,
- OUT HANDLE* phRouterTransport
- );
- DWORD APIENTRY
- MprConfigTransportDelete(
- IN HANDLE hMprConfig,
- IN HANDLE hRouterTransport
- );
- DWORD APIENTRY
- MprConfigTransportGetHandle(
- IN HANDLE hMprConfig,
- IN DWORD dwTransportId,
- OUT HANDLE* phRouterTransport
- );
- DWORD APIENTRY
- MprConfigTransportSetInfo(
- IN HANDLE hMprConfig,
- IN HANDLE hRouterTransport,
- IN LPBYTE pGlobalInfo OPTIONAL,
- IN DWORD dwGlobalInfoSize OPTIONAL,
- IN LPBYTE pClientInterfaceInfo OPTIONAL,
- IN DWORD dwClientInterfaceInfoSize OPTIONAL,
- IN LPWSTR lpwsDLLPath OPTIONAL
- );
- DWORD APIENTRY
- MprConfigTransportGetInfo(
- IN HANDLE hMprConfig,
- IN HANDLE hRouterTransport,
- IN OUT LPBYTE* ppGlobalInfo OPTIONAL,
- OUT LPDWORD lpdwGlobalInfoSize OPTIONAL,
- IN OUT LPBYTE* ppClientInterfaceInfo OPTIONAL,
- OUT LPDWORD lpdwClientInterfaceInfoSize OPTIONAL,
- IN OUT LPWSTR* lplpwsDLLPath OPTIONAL
- );
- DWORD APIENTRY
- MprConfigTransportEnum(
- IN HANDLE hMprConfig,
- IN DWORD dwLevel,
- IN OUT LPBYTE* lplpBuffer,
- IN DWORD dwPrefMaxLen,
- OUT LPDWORD lpdwEntriesRead,
- OUT LPDWORD lpdwTotalEntries,
- IN OUT LPDWORD lpdwResumeHandle OPTIONAL
- );
- DWORD APIENTRY
- MprConfigInterfaceCreate(
- IN HANDLE hMprConfig,
- IN DWORD dwLevel,
- IN LPBYTE lpbBuffer,
- OUT HANDLE* phRouterInterface
- );
- DWORD APIENTRY
- MprConfigInterfaceDelete(
- IN HANDLE hMprConfig,
- IN HANDLE hRouterInterface
- );
- DWORD APIENTRY
- MprConfigInterfaceGetHandle(
- IN HANDLE hMprConfig,
- IN LPWSTR lpwsInterfaceName,
- OUT HANDLE* phRouterInterface
- );
- DWORD APIENTRY
- MprConfigInterfaceGetInfo(
- IN HANDLE hMprConfig,
- IN HANDLE hRouterInterface,
- IN DWORD dwLevel,
- IN OUT LPBYTE* lplpBuffer,
- OUT LPDWORD lpdwBufferSize
- );
- DWORD APIENTRY
- MprConfigInterfaceSetInfo(
- IN HANDLE hMprConfig,
- IN HANDLE hRouterInterface,
- IN DWORD dwLevel,
- IN LPBYTE lpbBuffer
- );
- DWORD APIENTRY
- MprConfigInterfaceEnum(
- IN HANDLE hMprConfig,
- IN DWORD dwLevel,
- IN OUT LPBYTE* lplpBuffer,
- IN DWORD dwPrefMaxLen,
- OUT LPDWORD lpdwEntriesRead,
- OUT LPDWORD lpdwTotalEntries,
- IN OUT LPDWORD lpdwResumeHandle OPTIONAL
- );
- DWORD APIENTRY
- MprConfigInterfaceTransportAdd(
- IN HANDLE hMprConfig,
- IN HANDLE hRouterInterface,
- IN DWORD dwTransportId,
- IN LPWSTR lpwsTransportName OPTIONAL,
- IN LPBYTE pInterfaceInfo,
- IN DWORD dwInterfaceInfoSize,
- OUT HANDLE* phRouterIfTransport
- );
- DWORD APIENTRY
- MprConfigInterfaceTransportRemove(
- IN HANDLE hMprConfig,
- IN HANDLE hRouterInterface,
- IN HANDLE hRouterIfTransport
- );
- DWORD APIENTRY
- MprConfigInterfaceTransportGetHandle(
- IN HANDLE hMprConfig,
- IN HANDLE hRouterInterface,
- IN DWORD dwTransportId,
- OUT HANDLE* phRouterIfTransport
- );
- DWORD APIENTRY
- MprConfigInterfaceTransportGetInfo(
- IN HANDLE hMprConfig,
- IN HANDLE hRouterInterface,
- IN HANDLE hRouterIfTransport,
- IN OUT LPBYTE* ppInterfaceInfo OPTIONAL,
- OUT LPDWORD lpdwInterfaceInfoSize OPTIONAL
- );
- DWORD APIENTRY
- MprConfigInterfaceTransportSetInfo(
- IN HANDLE hMprConfig,
- IN HANDLE hRouterInterface,
- IN HANDLE hRouterIfTransport,
- IN LPBYTE pInterfaceInfo OPTIONAL,
- IN DWORD dwInterfaceInfoSize OPTIONAL
- );
- DWORD APIENTRY
- MprConfigInterfaceTransportEnum(
- IN HANDLE hMprConfig,
- IN HANDLE hRouterInterface,
- IN DWORD dwLevel,
- IN OUT LPBYTE* lplpBuffer, // MPR_IFTRANSPORT_0
- IN DWORD dwPrefMaxLen,
- OUT LPDWORD lpdwEntriesRead,
- OUT LPDWORD lpdwTotalEntries,
- IN OUT LPDWORD lpdwResumeHandle OPTIONAL
- );
- DWORD APIENTRY
- MprConfigGetFriendlyName(
- IN HANDLE hMprConfig,
- IN PWCHAR pszGuidName,
- OUT PWCHAR pszBuffer,
- IN DWORD dwBufferSize);
- DWORD APIENTRY
- MprConfigGetGuidName(
- IN HANDLE hMprConfig,
- IN PWCHAR pszFriendlyName,
- OUT PWCHAR pszBuffer,
- IN DWORD dwBufferSize);
- //
- // Information block APIs
- //
- DWORD APIENTRY
- MprInfoCreate(
- IN DWORD dwVersion,
- OUT LPVOID* lplpNewHeader
- );
- DWORD APIENTRY
- MprInfoDelete(
- IN LPVOID lpHeader
- );
- DWORD APIENTRY
- MprInfoRemoveAll(
- IN LPVOID lpHeader,
- OUT LPVOID* lplpNewHeader
- );
- DWORD APIENTRY
- MprInfoDuplicate(
- IN LPVOID lpHeader,
- OUT LPVOID* lplpNewHeader
- );
- DWORD APIENTRY
- MprInfoBlockAdd(
- IN LPVOID lpHeader,
- IN DWORD dwInfoType,
- IN DWORD dwItemSize,
- IN DWORD dwItemCount,
- IN LPBYTE lpItemData,
- OUT LPVOID* lplpNewHeader
- );
- DWORD APIENTRY
- MprInfoBlockRemove(
- IN LPVOID lpHeader,
- IN DWORD dwInfoType,
- OUT LPVOID* lplpNewHeader
- );
- DWORD APIENTRY
- MprInfoBlockSet(
- IN LPVOID lpHeader,
- IN DWORD dwInfoType,
- IN DWORD dwItemSize,
- IN DWORD dwItemCount,
- IN LPBYTE lpItemData,
- OUT LPVOID* lplpNewHeader
- );
- DWORD APIENTRY
- MprInfoBlockFind(
- IN LPVOID lpHeader,
- IN DWORD dwInfoType,
- OUT LPDWORD lpdwItemSize, // OPTIONAL
- OUT LPDWORD lpdwItemCount, // OPTIONAL
- OUT LPBYTE* lplpItemData // OPTIONAL
- );
- DWORD APIENTRY
- MprInfoBlockQuerySize(
- IN LPVOID lpHeader
- );
- //
- // BOOL APIENTRY
- // MprInfoBlockExists(
- // IN LPVOID lpHeader,
- // IN DWORD dwInfoType
- // );
- //
- #define MprInfoBlockExists(h,t) \
- (MprInfoBlockFind((h),(t),NULL,NULL,NULL) == NO_ERROR)
- #ifdef __cplusplus
- }
- #endif
- //#endif /* WINVER >= 0x0403 */
- #endif // __ROUTING_MPRADMIN_H__
|