00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141 #ifndef __ROUTING_MPRADMIN_H__
00142 #define __ROUTING_MPRADMIN_H__
00143
00144 #if _MSC_VER > 1000
00145 #pragma once
00146 #endif
00147
00148 #include <lmcons.h>
00149 #include <ras.h>
00150
00151 #ifdef __cplusplus
00152 extern "C" {
00153 #endif
00154
00155
00156
00157
00158
00159
00160
00161 #define RRAS_SERVICE_NAME TEXT("RemoteAccess")
00162
00163
00164
00165
00166
00167 #define PID_IPX 0x0000002B
00168 #define PID_IP 0x00000021
00169 #define PID_NBF 0x0000003F
00170 #define PID_ATALK 0x00000029
00171
00172 #define MAX_INTERFACE_NAME_LEN 256
00173 #define MAX_TRANSPORT_NAME_LEN 40
00174 #define MAX_MEDIA_NAME 16
00175 #define MAX_PORT_NAME 16
00176 #define MAX_DEVICE_NAME 128
00177 #define MAX_PHONE_NUMBER_LEN 128
00178 #define MAX_DEVICETYPE_NAME 16
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188 typedef enum _ROUTER_INTERFACE_TYPE
00189 {
00190 ROUTER_IF_TYPE_CLIENT,
00191 ROUTER_IF_TYPE_HOME_ROUTER,
00192 ROUTER_IF_TYPE_FULL_ROUTER,
00193 ROUTER_IF_TYPE_DEDICATED,
00194 ROUTER_IF_TYPE_INTERNAL,
00195 ROUTER_IF_TYPE_LOOPBACK,
00196 ROUTER_IF_TYPE_TUNNEL1,
00197 ROUTER_IF_TYPE_DIALOUT
00198
00199 }
00200 ROUTER_INTERFACE_TYPE;
00201
00202 typedef enum _ROUTER_CONNECTION_STATE
00203 {
00204 ROUTER_IF_STATE_UNREACHABLE,
00205 ROUTER_IF_STATE_DISCONNECTED,
00206 ROUTER_IF_STATE_CONNECTING,
00207 ROUTER_IF_STATE_CONNECTED
00208 }
00209 ROUTER_CONNECTION_STATE;
00210
00211 #define MPR_INTERFACE_OUT_OF_RESOURCES 0x00000001
00212 #define MPR_INTERFACE_ADMIN_DISABLED 0x00000002
00213 #define MPR_INTERFACE_CONNECTION_FAILURE 0x00000004
00214 #define MPR_INTERFACE_SERVICE_PAUSED 0x00000008
00215 #define MPR_INTERFACE_DIALOUT_HOURS_RESTRICTION 0x00000010
00216 #define MPR_INTERFACE_NO_MEDIA_SENSE 0x00000020
00217 #define MPR_INTERFACE_NO_DEVICE 0x00000040
00218
00219 typedef struct _MPR_INTERFACE_0
00220 {
00221 IN OUT WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
00222 OUT HANDLE hInterface;
00223 IN OUT BOOL fEnabled;
00224 IN OUT ROUTER_INTERFACE_TYPE dwIfType;
00225 OUT ROUTER_CONNECTION_STATE dwConnectionState;
00226 OUT DWORD fUnReachabilityReasons;
00227 OUT DWORD dwLastError;
00228
00229 }
00230 MPR_INTERFACE_0, *PMPR_INTERFACE_0;
00231
00232 typedef struct _MPR_IPINIP_INTERFACE_0
00233 {
00234 WCHAR wszFriendlyName[MAX_INTERFACE_NAME_LEN+1];
00235
00236 GUID Guid;
00237
00238 }MPR_IPINIP_INTERFACE_0, *PMPR_IPINIP_INTERFACE_0;
00239
00240 #if(WINVER >= 0x0500)
00241
00242 typedef struct _MPR_INTERFACE_1
00243 {
00244 IN OUT WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
00245 OUT HANDLE hInterface;
00246 IN OUT BOOL fEnabled;
00247 IN OUT ROUTER_INTERFACE_TYPE dwIfType;
00248 OUT ROUTER_CONNECTION_STATE dwConnectionState;
00249 OUT DWORD fUnReachabilityReasons;
00250 OUT DWORD dwLastError;
00251 OUT LPWSTR lpwsDialoutHoursRestriction;
00252
00253 }
00254 MPR_INTERFACE_1, *PMPR_INTERFACE_1;
00255
00256
00257
00258
00259
00260 #define MPR_MaxDeviceType RAS_MaxDeviceType
00261 #define MPR_MaxPhoneNumber RAS_MaxPhoneNumber
00262 #define MPR_MaxIpAddress RAS_MaxIpAddress
00263 #define MPR_MaxIpxAddress RAS_MaxIpxAddress
00264
00265 #define MPR_MaxEntryName RAS_MaxEntryName
00266 #define MPR_MaxDeviceName RAS_MaxDeviceName
00267 #define MPR_MaxCallbackNumber RAS_MaxCallbackNumber
00268
00269 #define MPR_MaxAreaCode RAS_MaxAreaCode
00270 #define MPR_MaxPadType RAS_MaxPadType
00271 #define MPR_MaxX25Address RAS_MaxX25Address
00272 #define MPR_MaxFacilities RAS_MaxFacilities
00273 #define MPR_MaxUserData RAS_MaxUserData
00274
00275
00276
00277
00278
00279 #define MPRIO_SpecificIpAddr RASEO_SpecificIpAddr
00280 #define MPRIO_SpecificNameServers RASEO_SpecificNameServers
00281 #define MPRIO_IpHeaderCompression RASEO_IpHeaderCompression
00282 #define MPRIO_RemoteDefaultGateway RASEO_RemoteDefaultGateway
00283 #define MPRIO_DisableLcpExtensions RASEO_DisableLcpExtensions
00284 #define MPRIO_SwCompression RASEO_SwCompression
00285 #define MPRIO_RequireEncryptedPw RASEO_RequireEncryptedPw
00286 #define MPRIO_RequireMsEncryptedPw RASEO_RequireMsEncryptedPw
00287 #define MPRIO_RequireDataEncryption RASEO_RequireDataEncryption
00288 #define MPRIO_NetworkLogon RASEO_NetworkLogon
00289 #define MPRIO_PromoteAlternates RASEO_PromoteAlternates
00290 #define MPRIO_SecureLocalFiles RASEO_SecureLocalFiles
00291 #define MPRIO_RequireEAP RASEO_RequireEAP
00292 #define MPRIO_RequirePAP RASEO_RequirePAP
00293 #define MPRIO_RequireSPAP RASEO_RequireSPAP
00294 #define MPRIO_SharedPhoneNumbers RASEO_SharedPhoneNumbers
00295 #define MPRIO_RequireCHAP RASEO_RequireCHAP
00296 #define MPRIO_RequireMsCHAP RASEO_RequireMsCHAP
00297 #define MPRIO_RequireMsCHAP2 RASEO_RequireMsCHAP2
00298
00299 #if (WINVER >= 0x501)
00300 #define MPRIO_IpSecPreSharedKey 0x80000000
00301 #endif
00302
00303
00304
00305
00306
00307 #define MPRNP_Ipx RASNP_Ipx
00308 #define MPRNP_Ip RASNP_Ip
00309
00310
00311
00312
00313
00314 #define MPRDT_Modem RASDT_Modem
00315 #define MPRDT_Isdn RASDT_Isdn
00316 #define MPRDT_X25 RASDT_X25
00317 #define MPRDT_Vpn RASDT_Vpn
00318 #define MPRDT_Pad RASDT_Pad
00319 #define MPRDT_Generic RASDT_Generic
00320 #define MPRDT_Serial RASDT_Serial
00321 #define MPRDT_FrameRelay RASDT_FrameRelay
00322 #define MPRDT_Atm RASDT_Atm
00323 #define MPRDT_Sonet RASDT_Sonet
00324 #define MPRDT_SW56 RASDT_SW56
00325 #define MPRDT_Irda RASDT_Irda
00326 #define MPRDT_Parallel RASDT_Parallel
00327
00328
00329
00330
00331
00332 #define MPRET_Phone RASET_Phone
00333 #define MPRET_Vpn RASET_Vpn
00334 #define MPRET_Direct RASET_Direct
00335
00336
00337
00338
00339
00340 #define MPRDM_DialFirst 0
00341 #define MPRDM_DialAll RASEDM_DialAll
00342 #define MPRDM_DialAsNeeded RASEDM_DialAsNeeded
00343
00344
00345
00346
00347
00348 #define MPRIDS_Disabled RASIDS_Disabled
00349 #define MPRIDS_UseGlobalValue RASIDS_UseGlobalValue
00350
00351
00352
00353
00354
00355 #define MPR_ET_None ET_None
00356 #define MPR_ET_Require ET_Require
00357 #define MPR_ET_RequireMax ET_RequireMax
00358 #define MPR_ET_Optional ET_Optional
00359
00360
00361
00362
00363
00364 #define MPR_VS_Default VS_Default
00365 #define MPR_VS_PptpOnly VS_PptpOnly
00366 #define MPR_VS_PptpFirst VS_PptpFirst
00367 #define MPR_VS_L2tpOnly VS_L2tpOnly
00368 #define MPR_VS_L2tpFirst VS_L2tpFirst
00369
00370
00371
00372
00373
00374
00375 typedef struct _MPR_INTERFACE_2
00376 {
00377 IN OUT WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
00378 OUT HANDLE hInterface;
00379 IN OUT BOOL fEnabled;
00380 IN OUT ROUTER_INTERFACE_TYPE dwIfType;
00381 OUT ROUTER_CONNECTION_STATE dwConnectionState;
00382 OUT DWORD fUnReachabilityReasons;
00383 OUT DWORD dwLastError;
00384
00385
00386
00387
00388
00389 DWORD dwfOptions;
00390
00391
00392
00393
00394
00395 WCHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
00396 PWCHAR szAlternates;
00397
00398
00399
00400
00401
00402 DWORD ipaddr;
00403 DWORD ipaddrDns;
00404 DWORD ipaddrDnsAlt;
00405 DWORD ipaddrWins;
00406 DWORD ipaddrWinsAlt;
00407
00408
00409
00410
00411
00412 DWORD dwfNetProtocols;
00413
00414
00415
00416
00417
00418 WCHAR szDeviceType[ MPR_MaxDeviceType + 1 ];
00419 WCHAR szDeviceName[ MPR_MaxDeviceName + 1 ];
00420
00421
00422
00423
00424
00425 WCHAR szX25PadType[ MPR_MaxPadType + 1 ];
00426 WCHAR szX25Address[ MPR_MaxX25Address + 1 ];
00427 WCHAR szX25Facilities[ MPR_MaxFacilities + 1 ];
00428 WCHAR szX25UserData[ MPR_MaxUserData + 1 ];
00429 DWORD dwChannels;
00430
00431
00432
00433
00434
00435 DWORD dwSubEntries;
00436 DWORD dwDialMode;
00437 DWORD dwDialExtraPercent;
00438 DWORD dwDialExtraSampleSeconds;
00439 DWORD dwHangUpExtraPercent;
00440 DWORD dwHangUpExtraSampleSeconds;
00441
00442
00443
00444
00445
00446 DWORD dwIdleDisconnectSeconds;
00447
00448
00449
00450
00451
00452 DWORD dwType;
00453
00454
00455
00456
00457
00458 DWORD dwEncryptionType;
00459
00460
00461
00462
00463
00464 DWORD dwCustomAuthKey;
00465 DWORD dwCustomAuthDataSize;
00466 LPBYTE lpbCustomAuthData;
00467
00468
00469
00470
00471
00472 GUID guidId;
00473
00474
00475
00476
00477
00478 DWORD dwVpnStrategy;
00479
00480 } MPR_INTERFACE_2, *PMPR_INTERFACE_2;
00481
00482
00483
00484
00485
00486
00487 typedef struct _MPR_DEVICE_0
00488 {
00489
00490
00491
00492
00493 WCHAR szDeviceType[ MPR_MaxDeviceType + 1 ];
00494 WCHAR szDeviceName[ MPR_MaxDeviceName + 1 ];
00495
00496 }
00497 MPR_DEVICE_0, *PMPR_DEVICE_0;
00498
00499 typedef struct _MPR_DEVICE_1
00500 {
00501
00502
00503
00504
00505 WCHAR szDeviceType[ MPR_MaxDeviceType + 1 ];
00506 WCHAR szDeviceName[ MPR_MaxDeviceName + 1 ];
00507
00508
00509
00510
00511
00512 WCHAR szLocalPhoneNumber[ MPR_MaxPhoneNumber + 1 ];
00513 PWCHAR szAlternates;
00514
00515 }
00516 MPR_DEVICE_1, *PMPR_DEVICE_1;
00517
00518
00519
00520
00521
00522
00523 typedef struct _MPR_CREDENTIALSEX_0
00524 {
00525 DWORD dwSize;
00526 LPBYTE lpbCredentialsInfo;
00527 }
00528 MPR_CREDENTIALSEX_0, *PMPR_CREDENTIALSEX_0;
00529
00530 typedef struct _MPR_CREDENTIALSEX_1
00531 {
00532 DWORD dwSize;
00533 LPBYTE lpbCredentialsInfo;
00534 }
00535 MPR_CREDENTIALSEX_1, *PMPR_CREDENTIALSEX_1;
00536
00537 #endif
00538
00539 typedef struct _MPR_TRANSPORT_0
00540 {
00541 OUT DWORD dwTransportId;
00542 OUT HANDLE hTransport;
00543 OUT WCHAR wszTransportName[MAX_TRANSPORT_NAME_LEN+1];
00544
00545 }
00546 MPR_TRANSPORT_0, *PMPR_TRANSPORT_0;
00547
00548 typedef struct _MPR_IFTRANSPORT_0
00549 {
00550 OUT DWORD dwTransportId;
00551 OUT HANDLE hIfTransport;
00552 OUT WCHAR wszIfTransportName[MAX_TRANSPORT_NAME_LEN+1];
00553
00554 }
00555 MPR_IFTRANSPORT_0, *PMPR_IFTRANSPORT_0;
00556
00557 typedef struct _MPR_SERVER_0
00558 {
00559 OUT BOOL fLanOnlyMode;
00560 OUT DWORD dwUpTime;
00561 OUT DWORD dwTotalPorts;
00562 OUT DWORD dwPortsInUse;
00563
00564 }
00565 MPR_SERVER_0, *PMPR_SERVER_0;
00566
00567
00568
00569
00570
00571 typedef enum _RAS_PORT_CONDITION
00572 {
00573 RAS_PORT_NON_OPERATIONAL,
00574 RAS_PORT_DISCONNECTED,
00575 RAS_PORT_CALLING_BACK,
00576 RAS_PORT_LISTENING,
00577 RAS_PORT_AUTHENTICATING,
00578 RAS_PORT_AUTHENTICATED,
00579 RAS_PORT_INITIALIZING
00580
00581 }
00582 RAS_PORT_CONDITION;
00583
00584
00585
00586
00587
00588 typedef enum _RAS_HARDWARE_CONDITION
00589 {
00590 RAS_HARDWARE_OPERATIONAL,
00591 RAS_HARDWARE_FAILURE
00592
00593 }
00594 RAS_HARDWARE_CONDITION;
00595
00596 typedef struct _RAS_PORT_0
00597 {
00598 OUT HANDLE hPort;
00599 OUT HANDLE hConnection;
00600 OUT RAS_PORT_CONDITION dwPortCondition;
00601 OUT DWORD dwTotalNumberOfCalls;
00602 OUT DWORD dwConnectDuration;
00603 OUT WCHAR wszPortName[ MAX_PORT_NAME + 1 ];
00604 OUT WCHAR wszMediaName[ MAX_MEDIA_NAME + 1 ];
00605 OUT WCHAR wszDeviceName[ MAX_DEVICE_NAME + 1 ];
00606 OUT WCHAR wszDeviceType[ MAX_DEVICETYPE_NAME + 1 ];
00607
00608 }
00609 RAS_PORT_0, *PRAS_PORT_0;
00610
00611 typedef struct _RAS_PORT_1
00612 {
00613 OUT HANDLE hPort;
00614 OUT HANDLE hConnection;
00615 OUT RAS_HARDWARE_CONDITION dwHardwareCondition;
00616 OUT DWORD dwLineSpeed;
00617 OUT DWORD dwBytesXmited;
00618 OUT DWORD dwBytesRcved;
00619 OUT DWORD dwFramesXmited;
00620 OUT DWORD dwFramesRcved;
00621 OUT DWORD dwCrcErr;
00622 OUT DWORD dwTimeoutErr;
00623 OUT DWORD dwAlignmentErr;
00624 OUT DWORD dwHardwareOverrunErr;
00625 OUT DWORD dwFramingErr;
00626 OUT DWORD dwBufferOverrunErr;
00627 OUT DWORD dwCompressionRatioIn;
00628 OUT DWORD dwCompressionRatioOut;
00629 }
00630 RAS_PORT_1, *PRAS_PORT_1;
00631
00632
00633
00634
00635
00636 #define IPADDRESSLEN 15
00637 #define IPXADDRESSLEN 22
00638 #define ATADDRESSLEN 32
00639
00640 typedef struct _PPP_NBFCP_INFO
00641 {
00642 OUT DWORD dwError;
00643 OUT WCHAR wszWksta[ NETBIOS_NAME_LEN + 1 ];
00644 }
00645 PPP_NBFCP_INFO;
00646
00647 typedef struct _PPP_IPCP_INFO
00648 {
00649 OUT DWORD dwError;
00650 OUT WCHAR wszAddress[ IPADDRESSLEN + 1 ];
00651 OUT WCHAR wszRemoteAddress[ IPADDRESSLEN + 1 ];
00652 }
00653 PPP_IPCP_INFO;
00654
00655
00656
00657
00658
00659 #define PPP_IPCP_VJ 0x00000001
00660
00661 typedef struct _PPP_IPCP_INFO2
00662 {
00663 OUT DWORD dwError;
00664 OUT WCHAR wszAddress[ IPADDRESSLEN + 1 ];
00665 OUT WCHAR wszRemoteAddress[ IPADDRESSLEN + 1 ];
00666 OUT DWORD dwOptions;
00667 OUT DWORD dwRemoteOptions;
00668 }
00669 PPP_IPCP_INFO2;
00670
00671 typedef struct _PPP_IPXCP_INFO
00672 {
00673 OUT DWORD dwError;
00674 OUT WCHAR wszAddress[ IPXADDRESSLEN + 1 ];
00675 }
00676 PPP_IPXCP_INFO;
00677
00678 typedef struct _PPP_ATCP_INFO
00679 {
00680 OUT DWORD dwError;
00681 OUT WCHAR wszAddress[ ATADDRESSLEN + 1 ];
00682 }
00683 PPP_ATCP_INFO;
00684
00685 typedef struct _PPP_INFO
00686 {
00687 OUT PPP_NBFCP_INFO nbf;
00688 OUT PPP_IPCP_INFO ip;
00689 OUT PPP_IPXCP_INFO ipx;
00690 OUT PPP_ATCP_INFO at;
00691
00692 } PPP_INFO;
00693
00694 #if(WINVER >= 0x0500)
00695
00696
00697
00698
00699
00700 #define RASCCPCA_MPPC 0x00000006
00701 #define RASCCPCA_STAC 0x00000005
00702
00703
00704
00705
00706
00707 #define PPP_CCP_COMPRESSION 0x00000001
00708 #define PPP_CCP_ENCRYPTION40BITOLD 0x00000010
00709 #define PPP_CCP_ENCRYPTION40BIT 0x00000020
00710 #define PPP_CCP_ENCRYPTION128BIT 0x00000040
00711 #define PPP_CCP_ENCRYPTION56BIT 0x00000080
00712 #define PPP_CCP_HISTORYLESS 0x01000000
00713
00714 typedef struct _PPP_CCP_INFO
00715 {
00716 OUT DWORD dwError;
00717 OUT DWORD dwCompressionAlgorithm;
00718 OUT DWORD dwOptions;
00719 OUT DWORD dwRemoteCompressionAlgorithm;
00720 OUT DWORD dwRemoteOptions;
00721 }
00722 PPP_CCP_INFO;
00723
00724
00725
00726
00727
00728 #define PPP_LCP_PAP 0xC023
00729 #define PPP_LCP_SPAP 0xC027
00730 #define PPP_LCP_CHAP 0xC223
00731 #define PPP_LCP_EAP 0xC227
00732
00733
00734
00735
00736
00737 #define PPP_LCP_CHAP_MD5 0x05
00738 #define PPP_LCP_CHAP_MS 0x80
00739 #define PPP_LCP_CHAP_MSV2 0x81
00740
00741
00742
00743
00744
00745 #define PPP_LCP_MULTILINK_FRAMING 0x00000001
00746 #define PPP_LCP_PFC 0x00000002
00747 #define PPP_LCP_ACFC 0x00000004
00748 #define PPP_LCP_SSHF 0x00000008
00749 #define PPP_LCP_DES_56 0x00000010
00750 #define PPP_LCP_3_DES 0x00000020
00751
00752 typedef struct _PPP_LCP_INFO
00753 {
00754 OUT DWORD dwError;
00755 OUT DWORD dwAuthenticationProtocol;
00756 OUT DWORD dwAuthenticationData;
00757 OUT DWORD dwRemoteAuthenticationProtocol;
00758 OUT DWORD dwRemoteAuthenticationData;
00759 OUT DWORD dwTerminateReason;
00760 OUT DWORD dwRemoteTerminateReason;
00761 OUT DWORD dwOptions;
00762 OUT DWORD dwRemoteOptions;
00763 OUT DWORD dwEapTypeId;
00764 OUT DWORD dwRemoteEapTypeId;
00765 }
00766 PPP_LCP_INFO;
00767
00768 typedef struct _PPP_INFO_2
00769 {
00770 OUT PPP_NBFCP_INFO nbf;
00771 OUT PPP_IPCP_INFO2 ip;
00772 OUT PPP_IPXCP_INFO ipx;
00773 OUT PPP_ATCP_INFO at;
00774 OUT PPP_CCP_INFO ccp;
00775 OUT PPP_LCP_INFO lcp;
00776 }
00777 PPP_INFO_2;
00778
00779 #endif
00780
00781
00782
00783
00784
00785 #define RAS_FLAGS_PPP_CONNECTION 0x00000001
00786 #define RAS_FLAGS_MESSENGER_PRESENT 0x00000002
00787
00788 #if(WINVER < 0x0501)
00789 #define RAS_FLAGS_RAS_CONNECTION 0x00000004
00790 #endif
00791
00792 typedef struct _RAS_CONNECTION_0
00793 {
00794 OUT HANDLE hConnection;
00795 OUT HANDLE hInterface;
00796 OUT DWORD dwConnectDuration;
00797 OUT ROUTER_INTERFACE_TYPE dwInterfaceType;
00798 OUT DWORD dwConnectionFlags;
00799 OUT WCHAR wszInterfaceName[ MAX_INTERFACE_NAME_LEN + 1 ];
00800 OUT WCHAR wszUserName[ UNLEN + 1 ];
00801 OUT WCHAR wszLogonDomain[ DNLEN + 1 ];
00802 OUT WCHAR wszRemoteComputer[ NETBIOS_NAME_LEN + 1 ];
00803
00804 }
00805 RAS_CONNECTION_0, *PRAS_CONNECTION_0;
00806
00807 typedef struct _RAS_CONNECTION_1
00808 {
00809 OUT HANDLE hConnection;
00810 OUT HANDLE hInterface;
00811 OUT PPP_INFO PppInfo;
00812 OUT DWORD dwBytesXmited;
00813 OUT DWORD dwBytesRcved;
00814 OUT DWORD dwFramesXmited;
00815 OUT DWORD dwFramesRcved;
00816 OUT DWORD dwCrcErr;
00817 OUT DWORD dwTimeoutErr;
00818 OUT DWORD dwAlignmentErr;
00819 OUT DWORD dwHardwareOverrunErr;
00820 OUT DWORD dwFramingErr;
00821 OUT DWORD dwBufferOverrunErr;
00822 OUT DWORD dwCompressionRatioIn;
00823 OUT DWORD dwCompressionRatioOut;
00824 }
00825 RAS_CONNECTION_1, *PRAS_CONNECTION_1;
00826
00827 #if(WINVER >= 0x0500)
00828
00829 typedef struct _RAS_CONNECTION_2
00830 {
00831 OUT HANDLE hConnection;
00832 OUT WCHAR wszUserName[ UNLEN + 1 ];
00833 OUT ROUTER_INTERFACE_TYPE dwInterfaceType;
00834 OUT GUID guid;
00835 OUT PPP_INFO_2 PppInfo2;
00836 }
00837 RAS_CONNECTION_2, *PRAS_CONNECTION_2;
00838
00839 #endif
00840
00841
00842
00843
00844
00845
00846
00847
00848
00849
00850
00851
00852
00853
00854
00855 #define RASPRIV_NoCallback 0x01
00856 #define RASPRIV_AdminSetCallback 0x02
00857 #define RASPRIV_CallerSetCallback 0x04
00858 #define RASPRIV_DialinPrivilege 0x08
00859
00860
00861
00862
00863
00864 #define RASPRIV2_DialinPolicy 0x1
00865
00866 #define RASPRIV_CallbackType (RASPRIV_AdminSetCallback \
00867 | RASPRIV_CallerSetCallback \
00868 | RASPRIV_NoCallback)
00869
00870 typedef struct _RAS_USER_0
00871 {
00872 OUT BYTE bfPrivilege;
00873 OUT WCHAR wszPhoneNumber[ MAX_PHONE_NUMBER_LEN + 1];
00874 }
00875 RAS_USER_0, *PRAS_USER_0;
00876
00877 typedef struct _RAS_USER_1
00878 {
00879 OUT BYTE bfPrivilege;
00880 OUT WCHAR wszPhoneNumber[ MAX_PHONE_NUMBER_LEN + 1];
00881 OUT BYTE bfPrivilege2;
00882 }
00883 RAS_USER_1, *PRAS_USER_1;
00884
00885
00886
00887
00888
00889 typedef HANDLE RAS_SERVER_HANDLE;
00890 typedef HANDLE MPR_SERVER_HANDLE;
00891 typedef HANDLE MIB_SERVER_HANDLE;
00892
00893
00894
00895
00896
00897 DWORD APIENTRY
00898 MprAdminConnectionEnum(
00899 IN RAS_SERVER_HANDLE hRasServer,
00900 IN DWORD dwLevel,
00901 OUT LPBYTE * lplpbBuffer,
00902 IN DWORD dwPrefMaxLen,
00903 OUT LPDWORD lpdwEntriesRead,
00904 OUT LPDWORD lpdwTotalEntries,
00905 IN LPDWORD lpdwResumeHandle OPTIONAL
00906 );
00907
00908 DWORD APIENTRY
00909 MprAdminPortEnum(
00910 IN RAS_SERVER_HANDLE hRasServer,
00911 IN DWORD dwLevel,
00912 IN HANDLE hConnection,
00913 OUT LPBYTE * lplpbBuffer,
00914 IN DWORD dwPrefMaxLen,
00915 OUT LPDWORD lpdwEntriesRead,
00916 OUT LPDWORD lpdwTotalEntries,
00917 IN LPDWORD lpdwResumeHandle OPTIONAL
00918 );
00919
00920 DWORD APIENTRY
00921 MprAdminConnectionGetInfo(
00922 IN RAS_SERVER_HANDLE hRasServer,
00923 IN DWORD dwLevel,
00924 IN HANDLE hConnection,
00925 OUT LPBYTE * lplpbBuffer
00926 );
00927
00928 DWORD APIENTRY
00929 MprAdminPortGetInfo(
00930 IN RAS_SERVER_HANDLE hRasServer,
00931 IN DWORD dwLevel,
00932 IN HANDLE hPort,
00933 OUT LPBYTE * lplpbBuffer
00934 );
00935
00936 DWORD APIENTRY
00937 MprAdminConnectionClearStats(
00938 IN RAS_SERVER_HANDLE hRasServer,
00939 IN HANDLE hConnection
00940 );
00941
00942 DWORD APIENTRY
00943 MprAdminPortClearStats(
00944 IN RAS_SERVER_HANDLE hRasServer,
00945 IN HANDLE hPort
00946 );
00947
00948 DWORD APIENTRY
00949 MprAdminPortReset(
00950 IN RAS_SERVER_HANDLE hRasServer,
00951 IN HANDLE hPort
00952 );
00953
00954 DWORD APIENTRY
00955 MprAdminPortDisconnect(
00956 IN RAS_SERVER_HANDLE hRasServer,
00957 IN HANDLE hPort
00958 );
00959
00960 BOOL APIENTRY
00961 MprAdminAcceptNewConnection(
00962 IN RAS_CONNECTION_0 * pRasConnection0,
00963 IN RAS_CONNECTION_1 * pRasConnection1
00964 );
00965
00966 #if(WINVER >= 0x0500)
00967
00968 BOOL APIENTRY
00969 MprAdminAcceptNewConnection2(
00970 IN RAS_CONNECTION_0 * pRasConnection0,
00971 IN RAS_CONNECTION_1 * pRasConnection1,
00972 IN RAS_CONNECTION_2 * pRasConnection2
00973 );
00974
00975 #endif
00976
00977 BOOL APIENTRY
00978 MprAdminAcceptNewLink (
00979 IN RAS_PORT_0 * pRasPort0,
00980 IN RAS_PORT_1 * pRasPort1
00981 );
00982
00983 VOID APIENTRY
00984 MprAdminConnectionHangupNotification(
00985 IN RAS_CONNECTION_0 * pRasConnection0,
00986 IN RAS_CONNECTION_1 * pRasConnection1
00987 );
00988
00989 #if(WINVER >= 0x0500)
00990
00991 VOID APIENTRY
00992 MprAdminConnectionHangupNotification2(
00993 IN RAS_CONNECTION_0 * pRasConnection0,
00994 IN RAS_CONNECTION_1 * pRasConnection1,
00995 IN RAS_CONNECTION_2 * pRasConnection2
00996 );
00997
00998 #endif
00999
01000 #if (WINVER >= 0x501)
01001
01002 DWORD APIENTRY
01003 MprAdminConnectionRemoveQuarantine(
01004 IN HANDLE hRasServer,
01005 IN HANDLE hRasConnection,
01006 IN BOOL fIsIpAddress
01007 );
01008
01009 #endif
01010
01011 VOID APIENTRY
01012 MprAdminLinkHangupNotification (
01013 IN RAS_PORT_0 * pRasPort0,
01014 IN RAS_PORT_1 * pRasPort1
01015 );
01016
01017 DWORD APIENTRY
01018 MprAdminGetIpAddressForUser (
01019 IN WCHAR * lpwszUserName,
01020 IN WCHAR * lpwszPortName,
01021 IN OUT DWORD * lpdwIpAddress,
01022 OUT BOOL * bNotifyRelease
01023 );
01024
01025 VOID APIENTRY
01026 MprAdminReleaseIpAddress (
01027 IN WCHAR * lpszUserName,
01028 IN WCHAR * lpszPortName,
01029 IN DWORD * lpdwIpAddress
01030 );
01031
01032 #if(WINVER >= 0x0500)
01033
01034 DWORD APIENTRY
01035 MprAdminInitializeDll(
01036 VOID
01037 );
01038
01039 DWORD APIENTRY
01040 MprAdminTerminateDll(
01041 VOID
01042 );
01043
01044 #endif
01045
01046
01047
01048
01049
01050 DWORD APIENTRY
01051 MprAdminUserGetInfo(
01052 IN const WCHAR * lpszServer,
01053 IN const WCHAR * lpszUser,
01054 IN DWORD dwLevel,
01055 OUT LPBYTE lpbBuffer
01056 );
01057
01058
01059 DWORD APIENTRY
01060 MprAdminUserSetInfo(
01061 IN const WCHAR * lpszServer,
01062 IN const WCHAR * lpszUser,
01063 IN DWORD dwLevel,
01064 IN const LPBYTE lpbBuffer
01065 );
01066
01067
01068 #if(WINVER >= 0x0500)
01069
01070 DWORD APIENTRY
01071 MprAdminSendUserMessage(
01072 IN MPR_SERVER_HANDLE hMprServer,
01073 IN HANDLE hConnection,
01074 IN LPWSTR lpwszMessage
01075 );
01076
01077 #endif
01078
01079 DWORD APIENTRY
01080 MprAdminGetPDCServer(
01081 IN const WCHAR * lpszDomain,
01082 IN const WCHAR * lpszServer,
01083 OUT LPWSTR lpszPDCServer
01084 );
01085
01086
01087
01088
01089
01090 BOOL APIENTRY
01091 MprAdminIsServiceRunning(
01092 IN LPWSTR lpwsServerName
01093 );
01094
01095 DWORD APIENTRY
01096 MprAdminServerConnect(
01097 IN LPWSTR lpwsServerName OPTIONAL,
01098 OUT MPR_SERVER_HANDLE * phMprServer
01099 );
01100
01101 VOID APIENTRY
01102 MprAdminServerDisconnect(
01103 IN MPR_SERVER_HANDLE hMprServer
01104 );
01105
01106 #if (WINVER >= 0x501)
01107 DWORD APIENTRY
01108 MprAdminServerGetCredentials(
01109 IN MPR_SERVER_HANDLE hMprServer,
01110 IN DWORD dwLevel,
01111 IN LPBYTE * lplpbBuffer
01112 );
01113
01114 DWORD APIENTRY
01115 MprAdminServerSetCredentials(
01116 IN MPR_SERVER_HANDLE hMprServer,
01117 IN DWORD dwLevel,
01118 IN LPBYTE lpbBuffer
01119 );
01120
01121
01122 #endif
01123
01124 DWORD APIENTRY
01125 MprAdminBufferFree(
01126 IN LPVOID pBuffer
01127 );
01128
01129 DWORD APIENTRY
01130 MprAdminGetErrorString(
01131 IN DWORD dwError,
01132 OUT LPWSTR * lpwsErrorString
01133 );
01134
01135 DWORD APIENTRY
01136 MprAdminServerGetInfo(
01137 IN MPR_SERVER_HANDLE hMprServer,
01138 IN DWORD dwLevel,
01139 OUT LPBYTE * lplpbBuffer
01140 );
01141
01142 #if(WINVER >= 0x0500)
01143
01144 DWORD APIENTRY
01145 MprAdminTransportCreate(
01146 IN MPR_SERVER_HANDLE hMprServer,
01147 IN DWORD dwTransportId,
01148 IN LPWSTR lpwsTransportName OPTIONAL,
01149 IN LPBYTE pGlobalInfo,
01150 IN DWORD dwGlobalInfoSize,
01151 IN LPBYTE pClientInterfaceInfo OPTIONAL,
01152 IN DWORD dwClientInterfaceInfoSize OPTIONAL,
01153 IN LPWSTR lpwsDLLPath
01154 );
01155
01156 #endif
01157
01158 DWORD APIENTRY
01159 MprAdminTransportSetInfo(
01160 IN MPR_SERVER_HANDLE hMprServer,
01161 IN DWORD dwTransportId,
01162 IN LPBYTE pGlobalInfo OPTIONAL,
01163 IN DWORD dwGlobalInfoSize,
01164 IN LPBYTE pClientInterfaceInfo OPTIONAL,
01165 IN DWORD dwClientInterfaceInfoSize
01166 );
01167
01168 DWORD APIENTRY
01169 MprAdminTransportGetInfo(
01170 IN MPR_SERVER_HANDLE hMprServer,
01171 IN DWORD dwTransportId,
01172 OUT LPBYTE * ppGlobalInfo OPTIONAL,
01173 OUT LPDWORD lpdwGlobalInfoSize OPTIONAL,
01174 OUT LPBYTE * ppClientInterfaceInfo OPTIONAL,
01175 OUT LPDWORD lpdwClientInterfaceInfoSize OPTIONAL
01176 );
01177
01178 #if(WINVER >= 0x0500)
01179
01180 DWORD APIENTRY
01181 MprAdminDeviceEnum(
01182 IN MPR_SERVER_HANDLE hMprServer,
01183 IN DWORD dwLevel,
01184 OUT LPBYTE* lplpbBuffer,
01185 OUT LPDWORD lpdwTotalEntries);
01186
01187 #endif
01188
01189 DWORD APIENTRY
01190 MprAdminInterfaceGetHandle(
01191 IN MPR_SERVER_HANDLE hMprServer,
01192 IN LPWSTR lpwsInterfaceName,
01193 OUT HANDLE * phInterface,
01194 IN BOOL fIncludeClientInterfaces
01195 );
01196
01197 DWORD APIENTRY
01198 MprAdminInterfaceCreate(
01199 IN MPR_SERVER_HANDLE hMprServer,
01200 IN DWORD dwLevel,
01201 IN LPBYTE lpbBuffer,
01202 OUT HANDLE * phInterface
01203 );
01204
01205 DWORD APIENTRY
01206 MprAdminInterfaceGetInfo(
01207 IN MPR_SERVER_HANDLE hMprServer,
01208 IN HANDLE hInterface,
01209 IN DWORD dwLevel,
01210 IN LPBYTE * lplpbBuffer
01211 );
01212
01213 DWORD APIENTRY
01214 MprAdminInterfaceSetInfo(
01215 IN MPR_SERVER_HANDLE hMprServer,
01216 IN HANDLE hInterface,
01217 IN DWORD dwLevel,
01218 IN LPBYTE lpbBuffer
01219 );
01220
01221 DWORD APIENTRY
01222 MprAdminInterfaceDelete(
01223 IN MPR_SERVER_HANDLE hMprServer,
01224 IN HANDLE hInterface
01225 );
01226
01227 #if(WINVER >= 0x0500)
01228
01229 DWORD APIENTRY
01230 MprAdminInterfaceDeviceGetInfo(
01231 IN MPR_SERVER_HANDLE hMprServer,
01232 IN HANDLE hInterface,
01233 IN DWORD dwIndex,
01234 IN DWORD dwLevel,
01235 OUT LPBYTE* lplpBuffer
01236 );
01237
01238 DWORD APIENTRY
01239 MprAdminInterfaceDeviceSetInfo(
01240 IN MPR_SERVER_HANDLE hMprServer,
01241 IN HANDLE hInterface,
01242 IN DWORD dwIndex,
01243 IN DWORD dwLevel,
01244 IN LPBYTE lplpBuffer
01245 );
01246
01247 #endif
01248
01249 DWORD APIENTRY
01250 MprAdminInterfaceTransportRemove(
01251 IN MPR_SERVER_HANDLE hMprServer,
01252 IN HANDLE hInterface,
01253 IN DWORD dwTransportId
01254 );
01255
01256 DWORD APIENTRY
01257 MprAdminInterfaceTransportAdd(
01258 IN MPR_SERVER_HANDLE hMprServer,
01259 IN HANDLE hInterface,
01260 IN DWORD dwTransportId,
01261 IN LPBYTE pInterfaceInfo,
01262 IN DWORD dwInterfaceInfoSize
01263 );
01264
01265 DWORD APIENTRY
01266 MprAdminInterfaceTransportGetInfo(
01267 IN MPR_SERVER_HANDLE hMprServer,
01268 IN HANDLE hInterface,
01269 IN DWORD dwTransportId,
01270 OUT LPBYTE * ppInterfaceInfo,
01271 OUT LPDWORD lpdwpInterfaceInfoSize OPTIONAL
01272 );
01273
01274 DWORD APIENTRY
01275 MprAdminInterfaceTransportSetInfo(
01276 IN MPR_SERVER_HANDLE hMprServer,
01277 IN HANDLE hInterface,
01278 IN DWORD dwTransportId,
01279 IN LPBYTE pInterfaceInfo,
01280 IN DWORD dwInterfaceInfoSize
01281 );
01282
01283 DWORD APIENTRY
01284 MprAdminInterfaceEnum(
01285 IN MPR_SERVER_HANDLE hMprServer,
01286 IN DWORD dwLevel,
01287 OUT LPBYTE * lplpbBuffer,
01288 IN DWORD dwPrefMaxLen,
01289 OUT LPDWORD lpdwEntriesRead,
01290 OUT LPDWORD lpdwTotalEntries,
01291 IN LPDWORD lpdwResumeHandle OPTIONAL
01292 );
01293
01294 DWORD APIENTRY
01295 MprSetupIpInIpInterfaceFriendlyNameEnum(
01296 IN PWCHAR pwszMachineName,
01297 OUT LPBYTE* lplpBuffer,
01298 OUT LPDWORD lpdwEntriesRead
01299 );
01300
01301 DWORD APIENTRY
01302 MprSetupIpInIpInterfaceFriendlyNameFree(
01303 IN LPVOID lpBuffer
01304 );
01305
01306 DWORD APIENTRY
01307 MprSetupIpInIpInterfaceFriendlyNameCreate(
01308 PWCHAR pwszMachineName,
01309 PMPR_IPINIP_INTERFACE_0 pNameInformation
01310 );
01311
01312 DWORD APIENTRY
01313 MprSetupIpInIpInterfaceFriendlyNameDelete(
01314 IN PWCHAR pwszMachineName,
01315 IN GUID *pGuid
01316 );
01317
01318 DWORD APIENTRY
01319 MprAdminInterfaceSetCredentials(
01320 IN LPWSTR lpwsServer OPTIONAL,
01321 IN LPWSTR lpwsInterfaceName,
01322 IN LPWSTR lpwsUserName OPTIONAL,
01323 IN LPWSTR lpwsDomainName OPTIONAL,
01324 IN LPWSTR lpwsPassword OPTIONAL
01325 );
01326
01327 DWORD APIENTRY
01328 MprAdminInterfaceGetCredentials(
01329 IN LPWSTR lpwsServer OPTIONAL,
01330 IN LPWSTR lpwsInterfaceName,
01331 OUT LPWSTR lpwsUserName OPTIONAL,
01332 OUT LPWSTR lpwsPassword OPTIONAL,
01333 OUT LPWSTR lpwsDomainName OPTIONAL
01334 );
01335
01336 #if(WINVER >= 0x0500)
01337
01338 DWORD APIENTRY
01339 MprAdminInterfaceSetCredentialsEx(
01340 IN MPR_SERVER_HANDLE hMprServer,
01341 IN HANDLE hInterface,
01342 IN DWORD dwLevel,
01343 IN LPBYTE lpbBuffer
01344 );
01345
01346 DWORD APIENTRY
01347 MprAdminInterfaceGetCredentialsEx(
01348 IN MPR_SERVER_HANDLE hMprServer,
01349 IN HANDLE hInterface,
01350 IN DWORD dwLevel,
01351 OUT LPBYTE * lplpbBuffer
01352 );
01353
01354 #endif
01355
01356 DWORD APIENTRY
01357 MprAdminInterfaceConnect(
01358 IN MPR_SERVER_HANDLE hMprServer,
01359 IN HANDLE hInterface,
01360 IN HANDLE hEvent,
01361 IN BOOL fSynchronous
01362 );
01363
01364 DWORD APIENTRY
01365 MprAdminInterfaceDisconnect(
01366 IN MPR_SERVER_HANDLE hMprServer,
01367 IN HANDLE hInterface
01368 );
01369
01370 DWORD APIENTRY
01371 MprAdminInterfaceUpdateRoutes(
01372 IN MPR_SERVER_HANDLE hMprServer,
01373 IN HANDLE hInterface,
01374 IN DWORD dwProtocolId,
01375 IN HANDLE hEvent
01376 );
01377
01378 DWORD APIENTRY
01379 MprAdminInterfaceQueryUpdateResult(
01380 IN MPR_SERVER_HANDLE hMprServer,
01381 IN HANDLE hInterface,
01382 IN DWORD dwProtocolId,
01383 OUT LPDWORD lpdwUpdateResult
01384 );
01385
01386 DWORD APIENTRY
01387 MprAdminInterfaceUpdatePhonebookInfo(
01388 IN MPR_SERVER_HANDLE hMprServer,
01389 IN HANDLE hInterface
01390 );
01391
01392 #if(WINVER >= 0x0500)
01393
01394 DWORD APIENTRY
01395 MprAdminRegisterConnectionNotification(
01396 IN MPR_SERVER_HANDLE hMprServer,
01397 IN HANDLE hEventNotification
01398 );
01399
01400 DWORD APIENTRY
01401 MprAdminDeregisterConnectionNotification(
01402 IN MPR_SERVER_HANDLE hMprServer,
01403 IN HANDLE hEventNotification
01404 );
01405
01406 #endif
01407
01408
01409
01410
01411
01412 DWORD APIENTRY
01413 MprAdminMIBServerConnect(
01414 IN LPWSTR lpwsServerName OPTIONAL,
01415 OUT MIB_SERVER_HANDLE * phMibServer
01416 );
01417
01418 VOID APIENTRY
01419 MprAdminMIBServerDisconnect(
01420 IN MIB_SERVER_HANDLE hMibServer
01421 );
01422
01423 DWORD APIENTRY
01424 MprAdminMIBEntryCreate(
01425 IN MIB_SERVER_HANDLE hMibServer,
01426 IN DWORD dwPid,
01427 IN DWORD dwRoutingPid,
01428 IN LPVOID lpEntry,
01429 IN DWORD dwEntrySize
01430 );
01431
01432 DWORD APIENTRY
01433 MprAdminMIBEntryDelete(
01434 IN MIB_SERVER_HANDLE hMibServer,
01435 IN DWORD dwProtocolId,
01436 IN DWORD dwRoutingPid,
01437 IN LPVOID lpEntry,
01438 IN DWORD dwEntrySize
01439 );
01440
01441 DWORD APIENTRY
01442 MprAdminMIBEntrySet(
01443 IN MIB_SERVER_HANDLE hMibServer,
01444 IN DWORD dwProtocolId,
01445 IN DWORD dwRoutingPid,
01446 IN LPVOID lpEntry,
01447 IN DWORD dwEntrySize
01448 );
01449
01450 DWORD APIENTRY
01451 MprAdminMIBEntryGet(
01452 IN MIB_SERVER_HANDLE hMibServer,
01453 IN DWORD dwProtocolId,
01454 IN DWORD dwRoutingPid,
01455 IN LPVOID lpInEntry,
01456 IN DWORD dwInEntrySize,
01457 OUT LPVOID* lplpOutEntry,
01458 OUT LPDWORD lpOutEntrySize
01459 );
01460
01461 DWORD APIENTRY
01462 MprAdminMIBEntryGetFirst(
01463 IN MIB_SERVER_HANDLE hMibServer,
01464 IN DWORD dwProtocolId,
01465 IN DWORD dwRoutingPid,
01466 IN LPVOID lpInEntry,
01467 IN DWORD dwInEntrySize,
01468 OUT LPVOID* lplpOutEntry,
01469 OUT LPDWORD lpOutEntrySize
01470 );
01471
01472 DWORD APIENTRY
01473 MprAdminMIBEntryGetNext(
01474 IN MIB_SERVER_HANDLE hMibServer,
01475 IN DWORD dwProtocolId,
01476 IN DWORD dwRoutingPid,
01477 IN LPVOID lpInEntry,
01478 IN DWORD dwInEntrySize,
01479 OUT LPVOID* lplpOutEntry,
01480 OUT LPDWORD lpOutEntrySize
01481 );
01482
01483 DWORD APIENTRY
01484 MprAdminMIBGetTrapInfo(
01485 IN MIB_SERVER_HANDLE hMibServer,
01486 IN DWORD dwProtocolId,
01487 IN DWORD dwRoutingPid,
01488 IN LPVOID lpInData,
01489 IN DWORD dwInDataSize,
01490 OUT LPVOID* lplpOutData,
01491 IN OUT LPDWORD lpOutDataSize
01492 );
01493
01494 DWORD APIENTRY
01495 MprAdminMIBSetTrapInfo(
01496 IN DWORD dwProtocolId,
01497 IN DWORD dwRoutingPid,
01498 IN HANDLE hEvent,
01499 IN LPVOID lpInData,
01500 IN DWORD dwInDataSize,
01501 OUT LPVOID* lplpOutData,
01502 IN OUT LPDWORD lpOutDataSize
01503 );
01504
01505 DWORD APIENTRY
01506 MprAdminMIBBufferFree(
01507 IN LPVOID pBuffer
01508 );
01509
01510
01511
01512
01513
01514 DWORD APIENTRY
01515 MprConfigServerInstall(
01516 IN DWORD dwLevel,
01517 IN PVOID pBuffer
01518 );
01519
01520 DWORD APIENTRY
01521 MprConfigServerConnect(
01522 IN LPWSTR lpwsServerName,
01523 OUT HANDLE* phMprConfig
01524 );
01525
01526 VOID APIENTRY
01527 MprConfigServerDisconnect(
01528 IN HANDLE hMprConfig
01529 );
01530
01531 DWORD APIENTRY
01532 MprConfigServerRefresh(
01533 IN HANDLE hMprConfig
01534 );
01535
01536 DWORD APIENTRY
01537 MprConfigBufferFree(
01538 IN LPVOID pBuffer
01539 );
01540
01541 DWORD APIENTRY
01542 MprConfigServerGetInfo(
01543 IN HANDLE hMprConfig,
01544 IN DWORD dwLevel,
01545 OUT LPBYTE * lplpbBuffer
01546 );
01547
01548 DWORD APIENTRY
01549 MprConfigServerBackup(
01550 IN HANDLE hMprConfig,
01551 IN LPWSTR lpwsPath
01552 );
01553
01554 DWORD APIENTRY
01555 MprConfigServerRestore(
01556 IN HANDLE hMprConfig,
01557 IN LPWSTR lpwsPath
01558 );
01559
01560 DWORD APIENTRY
01561 MprConfigTransportCreate(
01562 IN HANDLE hMprConfig,
01563 IN DWORD dwTransportId,
01564 IN LPWSTR lpwsTransportName OPTIONAL,
01565 IN LPBYTE pGlobalInfo,
01566 IN DWORD dwGlobalInfoSize,
01567 IN LPBYTE pClientInterfaceInfo OPTIONAL,
01568 IN DWORD dwClientInterfaceInfoSize OPTIONAL,
01569 IN LPWSTR lpwsDLLPath,
01570 OUT HANDLE* phRouterTransport
01571 );
01572
01573 DWORD APIENTRY
01574 MprConfigTransportDelete(
01575 IN HANDLE hMprConfig,
01576 IN HANDLE hRouterTransport
01577 );
01578
01579 DWORD APIENTRY
01580 MprConfigTransportGetHandle(
01581 IN HANDLE hMprConfig,
01582 IN DWORD dwTransportId,
01583 OUT HANDLE* phRouterTransport
01584 );
01585
01586 DWORD APIENTRY
01587 MprConfigTransportSetInfo(
01588 IN HANDLE hMprConfig,
01589 IN HANDLE hRouterTransport,
01590 IN LPBYTE pGlobalInfo OPTIONAL,
01591 IN DWORD dwGlobalInfoSize OPTIONAL,
01592 IN LPBYTE pClientInterfaceInfo OPTIONAL,
01593 IN DWORD dwClientInterfaceInfoSize OPTIONAL,
01594 IN LPWSTR lpwsDLLPath OPTIONAL
01595 );
01596
01597 DWORD APIENTRY
01598 MprConfigTransportGetInfo(
01599 IN HANDLE hMprConfig,
01600 IN HANDLE hRouterTransport,
01601 IN OUT LPBYTE* ppGlobalInfo OPTIONAL,
01602 OUT LPDWORD lpdwGlobalInfoSize OPTIONAL,
01603 IN OUT LPBYTE* ppClientInterfaceInfo OPTIONAL,
01604 OUT LPDWORD lpdwClientInterfaceInfoSize OPTIONAL,
01605 IN OUT LPWSTR* lplpwsDLLPath OPTIONAL
01606 );
01607
01608 DWORD APIENTRY
01609 MprConfigTransportEnum(
01610 IN HANDLE hMprConfig,
01611 IN DWORD dwLevel,
01612 IN OUT LPBYTE* lplpBuffer,
01613 IN DWORD dwPrefMaxLen,
01614 OUT LPDWORD lpdwEntriesRead,
01615 OUT LPDWORD lpdwTotalEntries,
01616 IN OUT LPDWORD lpdwResumeHandle OPTIONAL
01617 );
01618
01619 DWORD APIENTRY
01620 MprConfigInterfaceCreate(
01621 IN HANDLE hMprConfig,
01622 IN DWORD dwLevel,
01623 IN LPBYTE lpbBuffer,
01624 OUT HANDLE* phRouterInterface
01625 );
01626
01627 DWORD APIENTRY
01628 MprConfigInterfaceDelete(
01629 IN HANDLE hMprConfig,
01630 IN HANDLE hRouterInterface
01631 );
01632
01633 DWORD APIENTRY
01634 MprConfigInterfaceGetHandle(
01635 IN HANDLE hMprConfig,
01636 IN LPWSTR lpwsInterfaceName,
01637 OUT HANDLE* phRouterInterface
01638 );
01639
01640 DWORD APIENTRY
01641 MprConfigInterfaceGetInfo(
01642 IN HANDLE hMprConfig,
01643 IN HANDLE hRouterInterface,
01644 IN DWORD dwLevel,
01645 IN OUT LPBYTE* lplpBuffer,
01646 OUT LPDWORD lpdwBufferSize
01647 );
01648
01649 DWORD APIENTRY
01650 MprConfigInterfaceSetInfo(
01651 IN HANDLE hMprConfig,
01652 IN HANDLE hRouterInterface,
01653 IN DWORD dwLevel,
01654 IN LPBYTE lpbBuffer
01655 );
01656
01657 DWORD APIENTRY
01658 MprConfigInterfaceEnum(
01659 IN HANDLE hMprConfig,
01660 IN DWORD dwLevel,
01661 IN OUT LPBYTE* lplpBuffer,
01662 IN DWORD dwPrefMaxLen,
01663 OUT LPDWORD lpdwEntriesRead,
01664 OUT LPDWORD lpdwTotalEntries,
01665 IN OUT LPDWORD lpdwResumeHandle OPTIONAL
01666 );
01667
01668 DWORD APIENTRY
01669 MprConfigInterfaceTransportAdd(
01670 IN HANDLE hMprConfig,
01671 IN HANDLE hRouterInterface,
01672 IN DWORD dwTransportId,
01673 IN LPWSTR lpwsTransportName OPTIONAL,
01674 IN LPBYTE pInterfaceInfo,
01675 IN DWORD dwInterfaceInfoSize,
01676 OUT HANDLE* phRouterIfTransport
01677 );
01678
01679 DWORD APIENTRY
01680 MprConfigInterfaceTransportRemove(
01681 IN HANDLE hMprConfig,
01682 IN HANDLE hRouterInterface,
01683 IN HANDLE hRouterIfTransport
01684 );
01685
01686 DWORD APIENTRY
01687 MprConfigInterfaceTransportGetHandle(
01688 IN HANDLE hMprConfig,
01689 IN HANDLE hRouterInterface,
01690 IN DWORD dwTransportId,
01691 OUT HANDLE* phRouterIfTransport
01692 );
01693
01694 DWORD APIENTRY
01695 MprConfigInterfaceTransportGetInfo(
01696 IN HANDLE hMprConfig,
01697 IN HANDLE hRouterInterface,
01698 IN HANDLE hRouterIfTransport,
01699 IN OUT LPBYTE* ppInterfaceInfo OPTIONAL,
01700 OUT LPDWORD lpdwInterfaceInfoSize OPTIONAL
01701 );
01702
01703 DWORD APIENTRY
01704 MprConfigInterfaceTransportSetInfo(
01705 IN HANDLE hMprConfig,
01706 IN HANDLE hRouterInterface,
01707 IN HANDLE hRouterIfTransport,
01708 IN LPBYTE pInterfaceInfo OPTIONAL,
01709 IN DWORD dwInterfaceInfoSize OPTIONAL
01710 );
01711
01712 DWORD APIENTRY
01713 MprConfigInterfaceTransportEnum(
01714 IN HANDLE hMprConfig,
01715 IN HANDLE hRouterInterface,
01716 IN DWORD dwLevel,
01717 IN OUT LPBYTE* lplpBuffer,
01718 IN DWORD dwPrefMaxLen,
01719 OUT LPDWORD lpdwEntriesRead,
01720 OUT LPDWORD lpdwTotalEntries,
01721 IN OUT LPDWORD lpdwResumeHandle OPTIONAL
01722 );
01723
01724 DWORD APIENTRY
01725 MprConfigGetFriendlyName(
01726 IN HANDLE hMprConfig,
01727 IN PWCHAR pszGuidName,
01728 OUT PWCHAR pszBuffer,
01729 IN DWORD dwBufferSize);
01730
01731 DWORD APIENTRY
01732 MprConfigGetGuidName(
01733 IN HANDLE hMprConfig,
01734 IN PWCHAR pszFriendlyName,
01735 OUT PWCHAR pszBuffer,
01736 IN DWORD dwBufferSize);
01737
01738
01739
01740
01741
01742 DWORD APIENTRY
01743 MprInfoCreate(
01744 IN DWORD dwVersion,
01745 OUT LPVOID* lplpNewHeader
01746 );
01747
01748 DWORD APIENTRY
01749 MprInfoDelete(
01750 IN LPVOID lpHeader
01751 );
01752
01753 DWORD APIENTRY
01754 MprInfoRemoveAll(
01755 IN LPVOID lpHeader,
01756 OUT LPVOID* lplpNewHeader
01757 );
01758
01759 DWORD APIENTRY
01760 MprInfoDuplicate(
01761 IN LPVOID lpHeader,
01762 OUT LPVOID* lplpNewHeader
01763 );
01764
01765 DWORD APIENTRY
01766 MprInfoBlockAdd(
01767 IN LPVOID lpHeader,
01768 IN DWORD dwInfoType,
01769 IN DWORD dwItemSize,
01770 IN DWORD dwItemCount,
01771 IN LPBYTE lpItemData,
01772 OUT LPVOID* lplpNewHeader
01773 );
01774
01775 DWORD APIENTRY
01776 MprInfoBlockRemove(
01777 IN LPVOID lpHeader,
01778 IN DWORD dwInfoType,
01779 OUT LPVOID* lplpNewHeader
01780 );
01781
01782 DWORD APIENTRY
01783 MprInfoBlockSet(
01784 IN LPVOID lpHeader,
01785 IN DWORD dwInfoType,
01786 IN DWORD dwItemSize,
01787 IN DWORD dwItemCount,
01788 IN LPBYTE lpItemData,
01789 OUT LPVOID* lplpNewHeader
01790 );
01791
01792 DWORD APIENTRY
01793 MprInfoBlockFind(
01794 IN LPVOID lpHeader,
01795 IN DWORD dwInfoType,
01796 OUT LPDWORD lpdwItemSize,
01797 OUT LPDWORD lpdwItemCount,
01798 OUT LPBYTE* lplpItemData
01799 );
01800
01801 DWORD APIENTRY
01802 MprInfoBlockQuerySize(
01803 IN LPVOID lpHeader
01804 );
01805
01806
01807
01808
01809
01810
01811
01812
01813
01814 #define MprInfoBlockExists(h,t) \
01815 (MprInfoBlockFind((h),(t),NULL,NULL,NULL) == NO_ERROR)
01816
01817 #ifdef __cplusplus
01818 }
01819 #endif
01820
01821
01822
01823 #endif // __ROUTING_MPRADMIN_H__
01824