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.

64 lines
2.2 KiB

  1. /****************************************************************************
  2. *
  3. * File: fileinfo.h
  4. * Project: DxDiag (DirectX Diagnostic Tool)
  5. * Author: Mike Anderson (manders@microsoft.com)
  6. * Purpose: Gather information about files on this machine
  7. *
  8. * (C) Copyright 1998 Microsoft Corp. All rights reserved.
  9. *
  10. ****************************************************************************/
  11. #ifndef FILEINFO_H
  12. #define FILEINFO_H
  13. struct FileInfo
  14. {
  15. TCHAR m_szName[60];
  16. TCHAR m_szVersion[50];
  17. TCHAR m_szLanguage[100];
  18. TCHAR m_szLanguageLocal[100]; // Localized m_szLanguage
  19. TCHAR m_szDatestamp[30];
  20. TCHAR m_szDatestampLocal[30]; // Localized m_szDatestamp
  21. TCHAR m_szAttributes[50];
  22. FILETIME m_FileTime;
  23. LONG m_numBytes;
  24. BOOL m_bExists;
  25. BOOL m_bSigned;
  26. BOOL m_bInUse;
  27. BOOL m_bBeta;
  28. BOOL m_bDebug;
  29. FLOAT m_fStartShipAt;
  30. FLOAT m_fStopShipAt;
  31. BOOL m_bOptional;
  32. BOOL m_bOptionalOnNT;
  33. BOOL m_bOptionalOnPreDX8;
  34. BOOL m_bIgnoreVersionInfo;
  35. BOOL m_bIgnoreDebug;
  36. BOOL m_bIgnoreBeta;
  37. BOOL m_bBDA;
  38. BOOL m_bNotIA64;
  39. BOOL m_bOptionalOnWOW64;
  40. BOOL m_bProblem;
  41. BOOL m_bObsolete; // Note: this is set by DiagnoseDxFiles, not anything in fileinfo
  42. FileInfo* m_pFileInfoNext;
  43. };
  44. VOID InitFileInfo(VOID);
  45. HRESULT GetComponentFiles(TCHAR* pszFolder, FileInfo** ppFileInfoFirst,
  46. BOOL bSkipMissingFiles, LONG ids);
  47. VOID DestroyFileList(FileInfo* pFileInfoFirst);
  48. VOID ReleaseDigiSignData(VOID);
  49. VOID FileIsSigned(LPTSTR lpszFile, BOOL* pbSigned, BOOL* pbIsValid);
  50. WORD GetLanguageFromFile(const TCHAR* pszFileName, const TCHAR* pszPath);
  51. HRESULT GetFileVersion(TCHAR* pszFile, TCHAR* pszVersion,
  52. TCHAR* pszAttributes, TCHAR* pszLanguageLocal, TCHAR* pszLanguage,
  53. BOOL* pbBeta = NULL, BOOL* pbDebug = NULL);
  54. HRESULT GetRiffFileVersion(TCHAR* pszFile, TCHAR* pszVersion);
  55. BOOL GetFileDateAndSize(TCHAR* pszFile, TCHAR* pszDateLocal, TCHAR* pszDateEnglish, LONG* pnumBytes);
  56. BOOL GetProgramFilesFolder(TCHAR* pszPath);
  57. BOOL GetDxSetupFolder(TCHAR* pszPath);
  58. VOID DiagnoseDxFiles(SysInfo* pSysInfo, FileInfo* pDxComponentsFileInfoFirst, FileInfo* pDxWinComponentsFileInfoFirst );
  59. #endif // FILEINFO_H