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.

59 lines
1.6 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. INFSCAN
  5. parseinfctx.h
  6. Abstract:
  7. Context about a particular loaded INF
  8. History:
  9. Created July 2001 - JamieHun
  10. --*/
  11. #ifndef _INFSCAN_PARSEINFCTX_H_
  12. #define _INFSCAN_PARSEINFCTX_H_
  13. class ParseInfContext {
  14. public:
  15. GlobalScan *pGlobalScan;
  16. InfScan *pInfScan;
  17. SafeString InfName;
  18. HINF InfHandle;
  19. bool LooksLikeLayoutInf;
  20. bool Locked;
  21. bool HasDependentFileChanged;
  22. CopySectionToTargetDirectoryEntry DestinationDirectories;
  23. StringToSourceDisksFilesList SourceDisksFiles;
  24. CopySectionToTargetDirectoryEntry::iterator DefaultTargetDirectory;
  25. StringToInt CompletedCopySections;
  26. public:
  27. ParseInfContext();
  28. ~ParseInfContext();
  29. TargetDirectoryEntry * GetDefaultTargetDirectory();
  30. TargetDirectoryEntry * GetTargetDirectory(const SafeString & section);
  31. void PartialCleanup();
  32. int Init(const SafeString & name);
  33. int LoadSourceDisksFiles();
  34. int LoadSourceDisksFilesSection(DWORD platform,const SafeString & section);
  35. int LoadDestinationDirs();
  36. int LoadWinntDirectories(IntToString & Target);
  37. int QuerySourceFile(DWORD platforms,const SafeString & section,const SafeString & source,SourceDisksFilesList & Target);
  38. DWORD DoingCopySection(const SafeString & section,DWORD platforms);
  39. void NoCopySection(const SafeString & section);
  40. };
  41. typedef blob<ParseInfContext> ParseInfContextBlob;
  42. typedef map<SafeString,ParseInfContextBlob> ParseInfContextMap;
  43. typedef list<ParseInfContextBlob> ParseInfContextList;
  44. #endif //!_INFSCAN_PARSEINFCTX_H_