Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.9 KiB

  1. //-----------------------------------------------------------------------------
  2. // RNAAPI class
  3. //
  4. // This class provides a series of cover function for the RNAPH/RASAPI32 dlls
  5. //
  6. // Created 1-29-96 ChrisK
  7. //-----------------------------------------------------------------------------
  8. // TYPEDEF
  9. typedef DWORD (WINAPI* PFNRASENUMDEVICES)(LPRASDEVINFO lpRasDevInfo, LPDWORD lpcb, LPDWORD lpcDevices);
  10. typedef DWORD (WINAPI* PFNRASVALIDATEENTRYNAE)(LPSTR lpszPhonebook, LPSTR lpszEntry);
  11. typedef DWORD (WINAPI* PFNRASSETENTRYPROPERTIES)(LPSTR lpszPhonebook, LPSTR lpszEntry, LPBYTE lpbEntryInfo, DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo, DWORD dwDeviceInfoSize);
  12. typedef DWORD (WINAPI* PFNRASGETENTRYPROPERTIES)(LPSTR lpszPhonebook, LPSTR lpszEntry, LPBYTE lpbEntryInfo, LPDWORD lpdwEntryInfoSize, LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize);
  13. //-----------------------------------------------------------------------------
  14. // CLASS
  15. // ############################################################################
  16. class CRNAAPI
  17. {
  18. public:
  19. void far * operator new( size_t cb ) { return GlobalAlloc(GPTR,cb); };
  20. void operator delete( void far * p ) {GlobalFree(p); };
  21. CRNAAPI();
  22. ~CRNAAPI();
  23. DWORD RasEnumDevices(LPRASDEVINFO, LPDWORD, LPDWORD);
  24. DWORD RasValidateEntryName(LPSTR,LPSTR);
  25. DWORD RasSetEntryProperties(LPSTR lpszPhonebook, LPSTR lpszEntry,
  26. LPBYTE lpbEntryInfo, DWORD dwEntryInfoSize,
  27. LPBYTE lpbDeviceInfo, DWORD dwDeviceInfoSize);
  28. DWORD RasGetEntryProperties(LPSTR lpszPhonebook, LPSTR lpszEntry,
  29. LPBYTE lpbEntryInfo, LPDWORD lpdwEntryInfoSize,
  30. LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize);
  31. private:
  32. BOOL LoadApi(LPSTR, FARPROC*);
  33. HINSTANCE m_hInst;
  34. HINSTANCE m_hInst2;
  35. PFNRASENUMDEVICES m_fnRasEnumDeviecs;
  36. PFNRASVALIDATEENTRYNAE m_fnRasValidateEntryName;
  37. PFNRASSETENTRYPROPERTIES m_fnRasSetEntryProperties;
  38. PFNRASGETENTRYPROPERTIES m_fnRasGetEntryProperties;
  39. };