|
|
//+----------------------------------------------------------------------------
//
// File: raslink.h
//
// Module: CMDIAL32.DLL and CMUTOA.DLL
//
// Synopsis: Structures and function types for RAS Linkage.
//
// Copyright (c) 1999 Microsoft Corporation
//
// Author: quintinb Created 05/05/99
//
//+----------------------------------------------------------------------------
//
// If you modify any of the functions below (add/remove/whatever), you may need to modify the
// constant string arrays in common\source\raslink.cpp
//
//
// Ansi prototypes
//
typedef DWORD (WINAPI *pfnRasDeleteEntryA)(LPCSTR, LPCSTR); typedef DWORD (WINAPI *pfnRasGetEntryPropertiesA)(LPCSTR, LPCSTR, LPRASENTRYA, LPDWORD, LPBYTE, LPDWORD); typedef DWORD (WINAPI *pfnRasSetEntryPropertiesA)(LPCSTR, LPCSTR, LPRASENTRYA, DWORD, LPBYTE, DWORD); typedef DWORD (WINAPI *pfnRasGetEntryDialParamsA)(LPCSTR, LPRASDIALPARAMSA, LPBOOL); typedef DWORD (WINAPI *pfnRasSetEntryDialParamsA)(LPCSTR, LPRASDIALPARAMSA, BOOL); typedef DWORD (WINAPI *pfnRasEnumDevicesA)(LPRASDEVINFOA, LPDWORD, LPDWORD); typedef DWORD (WINAPI *pfnRasDialA)(LPRASDIALEXTENSIONS,LPCSTR,LPRASDIALPARAMSA,DWORD,LPVOID,LPHRASCONN); typedef DWORD (WINAPI *pfnRasGetErrorStringA)(UINT, LPSTR, DWORD); typedef DWORD (WINAPI *pfnRasGetConnectStatusA)(HRASCONN, LPRASCONNSTATUSA);
// These are never used on win9x but we need a prototype for the struct
typedef DWORD (WINAPI *pfnRasSetSubEntryPropertiesA)(LPCSTR, LPCSTR, DWORD, LPRASSUBENTRYA, DWORD, LPBYTE, DWORD); typedef DWORD (WINAPI *pfnRasSetCustomAuthDataA)(LPCSTR, LPCSTR, BYTE *, DWORD);
typedef DWORD (WINAPI *pfnRasGetEapUserIdentityA)(LPCSTR, LPCSTR, DWORD, HWND, LPRASEAPUSERIDENTITYA*); typedef VOID (WINAPI *pfnRasFreeEapUserIdentityA)(LPRASEAPUSERIDENTITYA); typedef DWORD (WINAPI *pfnRasDeleteSubEntryA)(LPCSTR, LPCSTR, DWORD); typedef DWORD (WINAPI *pfnRasGetCredentialsA)(LPCSTR, LPCSTR, LPRASCREDENTIALSA); typedef DWORD (WINAPI *pfnRasSetCredentialsA)(LPCSTR, LPCSTR, LPRASCREDENTIALSA, BOOL);
//
// Unicode Prototypes
//
typedef DWORD (WINAPI *pfnRasDeleteEntryW)(LPCWSTR, LPCWSTR); typedef DWORD (WINAPI *pfnRasGetEntryPropertiesW)(LPCWSTR, LPCWSTR, LPRASENTRYW, LPDWORD, LPBYTE, LPDWORD); typedef DWORD (WINAPI *pfnRasSetEntryPropertiesW)(LPCWSTR, LPCWSTR, LPRASENTRYW, DWORD, LPBYTE, DWORD); typedef DWORD (WINAPI *pfnRasGetEntryDialParamsW)(LPCWSTR, LPRASDIALPARAMSW, LPBOOL); typedef DWORD (WINAPI *pfnRasSetEntryDialParamsW)(LPCWSTR, LPRASDIALPARAMSW, BOOL); typedef DWORD (WINAPI *pfnRasEnumDevicesW)(LPRASDEVINFOW, LPDWORD, LPDWORD); typedef DWORD (WINAPI *pfnRasDialW)(LPRASDIALEXTENSIONS,LPCWSTR,LPRASDIALPARAMSW,DWORD,LPVOID,LPHRASCONN); typedef DWORD (WINAPI *pfnRasGetErrorStringW)(UINT, LPWSTR, DWORD); typedef DWORD (WINAPI *pfnRasGetConnectStatusW)(HRASCONN, LPRASCONNSTATUSW); typedef DWORD (WINAPI *pfnRasSetSubEntryPropertiesW)(LPCWSTR, LPCWSTR, DWORD, LPRASSUBENTRYW, DWORD, LPBYTE, DWORD); typedef DWORD (WINAPI *pfnRasSetCustomAuthDataW)(LPCWSTR, LPCWSTR, BYTE *, DWORD); typedef DWORD (WINAPI *pfnRasDeleteSubEntryW)(LPCWSTR, LPCWSTR, DWORD);
typedef DWORD (WINAPI *pfnRasGetEapUserIdentityW)(LPCWSTR, LPCWSTR, DWORD, HWND, LPRASEAPUSERIDENTITYW*); typedef VOID (WINAPI *pfnRasFreeEapUserIdentityW)(LPRASEAPUSERIDENTITYW); typedef DWORD (WINAPI *pfnRasGetCredentialsW)(LPCWSTR, LPCWSTR, LPRASCREDENTIALSW); typedef DWORD (WINAPI *pfnRasSetCredentialsW)(LPCWSTR, LPCWSTR, LPRASCREDENTIALSW, BOOL);
//
// Char size independent prototypes
//
typedef DWORD (WINAPI *pfnRasInvokeEapUI) (HRASCONN, DWORD, LPRASDIALEXTENSIONS, HWND); typedef DWORD (WINAPI *pfnRasHangUp)(HRASCONN);
//
// Structure used to describe the linkage to RAS. NOTE: Changes to this structure
// will probably require changes to LinkToRas() and UnlinkFromRas() as well as the
// win9x UtoA code in cmutoa.cpp.
//
typedef struct _RasLinkageStructA {
HINSTANCE hInstRas; HINSTANCE hInstRnaph; union { struct { pfnRasDeleteEntryA pfnDeleteEntry; pfnRasGetEntryPropertiesA pfnGetEntryProperties; pfnRasSetEntryPropertiesA pfnSetEntryProperties; pfnRasGetEntryDialParamsA pfnGetEntryDialParams; pfnRasSetEntryDialParamsA pfnSetEntryDialParams; pfnRasEnumDevicesA pfnEnumDevices; pfnRasDialA pfnDial; pfnRasHangUp pfnHangUp; pfnRasGetErrorStringA pfnGetErrorString; pfnRasGetConnectStatusA pfnGetConnectStatus; pfnRasSetSubEntryPropertiesA pfnSetSubEntryProperties; pfnRasDeleteSubEntryA pfnDeleteSubEntry; pfnRasSetCustomAuthDataA pfnSetCustomAuthData; pfnRasGetEapUserIdentityA pfnGetEapUserIdentity; pfnRasFreeEapUserIdentityA pfnFreeEapUserIdentity; pfnRasInvokeEapUI pfnInvokeEapUI; pfnRasGetCredentialsA pfnGetCredentials; pfnRasSetCredentialsA pfnSetCredentials;
}; void *apvPfnRas[19]; // This was from the old hacking code. The size of
// apvPfnRas[] should always be 1 size bigger than
// the number of functions.
// Refer to apszRas[] in 'ras.cpp'. The size of
// apszRas[] is equal to sizeof(apvPfnRas[]).
}; } RasLinkageStructA ;
typedef struct _RasLinkageStructW {
HINSTANCE hInstRas; union { struct { pfnRasDeleteEntryW pfnDeleteEntry; pfnRasGetEntryPropertiesW pfnGetEntryProperties; pfnRasSetEntryPropertiesW pfnSetEntryProperties; pfnRasGetEntryDialParamsW pfnGetEntryDialParams; pfnRasSetEntryDialParamsW pfnSetEntryDialParams; pfnRasEnumDevicesW pfnEnumDevices; pfnRasDialW pfnDial; pfnRasHangUp pfnHangUp; pfnRasGetErrorStringW pfnGetErrorString; pfnRasGetConnectStatusW pfnGetConnectStatus; pfnRasSetSubEntryPropertiesW pfnSetSubEntryProperties; pfnRasDeleteSubEntryW pfnDeleteSubEntry; pfnRasSetCustomAuthDataW pfnSetCustomAuthData; pfnRasGetEapUserIdentityW pfnGetEapUserIdentity; pfnRasFreeEapUserIdentityW pfnFreeEapUserIdentity; pfnRasInvokeEapUI pfnInvokeEapUI; pfnRasGetCredentialsW pfnGetCredentials; pfnRasSetCredentialsW pfnSetCredentials;
}; void *apvPfnRas[19]; // This was from the old hacking code. The size of
// apvPfnRas[] should always be 1 size bigger than
// the number of functions.
// Refer to apszRas[] in 'ras.cpp'. The size of
// apszRas[] is equal to sizeof(apvPfnRas[]).
}; } RasLinkageStructW ;
#ifdef UNICODE
#define RasLinkageStruct RasLinkageStructW
#else
#define RasLinkageStruct RasLinkageStructA
#endif
|