Source code of Windows XP (NT5)
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.

84 lines
2.5 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1997.
  5. //
  6. // File: I S D N U P G . H
  7. //
  8. // Contents: Down level upgrade code for OEM cards
  9. //
  10. // Notes:
  11. //
  12. // Author: kumarp 12 April 97
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. #include "oemupgex.h"
  17. class CWInfFile;
  18. class CWInfSection;
  19. class CNetMapInfo
  20. {
  21. public:
  22. HINF m_hinfNetMap;
  23. tstring m_strOemDir;
  24. tstring m_strOemDllName;
  25. HMODULE m_hOemDll;
  26. DWORD m_dwFlags;
  27. NetUpgradeData m_nud;
  28. PreUpgradeInitializePrototype m_pfnPreUpgradeInitialize;
  29. DoPreUpgradeProcessingPrototype m_pfnDoPreUpgradeProcessing;
  30. BOOL m_fDllInitFailed;
  31. CNetMapInfo();
  32. ~CNetMapInfo();
  33. HRESULT HrGetOemInfName(IN PCWSTR pszNT5InfId,
  34. OUT tstring* pstrOemInf);
  35. };
  36. typedef vector<CNetMapInfo*> TNetMapArray;
  37. extern TNetMapArray* g_pnmaNetMap;
  38. HRESULT HrInitNetMapInfo();
  39. void UnInitNetMapInfo();
  40. HRESULT HrShowUiAndGetOemFileLocation(IN HWND hParent,
  41. IN PCWSTR pszComponentName,
  42. OUT tstring* pstrOemPath);
  43. HRESULT HrOpenNetUpgInfFile(HINF* phinf);
  44. HRESULT HrGetNetUpgradeTempDir(OUT tstring* pstrTempDir);
  45. HRESULT HrCreateOemTempDir(OUT tstring* pstrOemTempDir);
  46. HRESULT HrOpenOemNMapFile(IN PCWSTR pszOemDir, OUT HINF* phinf);
  47. HRESULT HrAddToGlobalNetMapInfo(IN HINF hinf,
  48. IN PCWSTR pszOemDir);
  49. HRESULT HrProcessAndCopyOemFiles(IN PCWSTR pszOemDir,
  50. IN BOOL fInteractive);
  51. HRESULT HrInitAndProcessOemDirs();
  52. HRESULT HrLoadAndInitOemDll(IN CNetMapInfo* pnmi,
  53. IN NetUpgradeInfo* pNetUpgradeInfo);
  54. HRESULT HrProcessOemComponent(CNetMapInfo* pnmi,
  55. IN NetUpgradeInfo* pNetUpgradeInfo,
  56. IN HWND hParentWindow,
  57. IN HKEY hkeyParams,
  58. IN PCWSTR pszPreNT5InfId,
  59. IN PCWSTR pszPreNT5Instance,
  60. IN PCWSTR pszNT5InfId,
  61. IN PCWSTR pszDescription,
  62. IN PCWSTR pszSectionName,
  63. OUT DWORD* pdwFlags);
  64. void RequestAbortUpgradeOboOemDll(IN PCWSTR pszDllName, VENDORINFO* pvi);
  65. BOOL FCanDeleteOemService(IN PCWSTR pszServiceName);