65 lines
2.2 KiB
C
65 lines
2.2 KiB
C
/****************************************************************************
|
|
*
|
|
* File: fileinfo.h
|
|
* Project: DxDiag (DirectX Diagnostic Tool)
|
|
* Author: Mike Anderson (manders@microsoft.com)
|
|
* Purpose: Gather information about files on this machine
|
|
*
|
|
* (C) Copyright 1998 Microsoft Corp. All rights reserved.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef FILEINFO_H
|
|
#define FILEINFO_H
|
|
|
|
struct FileInfo
|
|
{
|
|
TCHAR m_szName[60];
|
|
TCHAR m_szVersion[50];
|
|
TCHAR m_szLanguage[100];
|
|
TCHAR m_szLanguageLocal[100]; // Localized m_szLanguage
|
|
TCHAR m_szDatestamp[30];
|
|
TCHAR m_szDatestampLocal[30]; // Localized m_szDatestamp
|
|
TCHAR m_szAttributes[50];
|
|
FILETIME m_FileTime;
|
|
LONG m_numBytes;
|
|
BOOL m_bExists;
|
|
BOOL m_bSigned;
|
|
BOOL m_bInUse;
|
|
BOOL m_bBeta;
|
|
BOOL m_bDebug;
|
|
FLOAT m_fStartShipAt;
|
|
FLOAT m_fStopShipAt;
|
|
BOOL m_bOptional;
|
|
BOOL m_bOptionalOnNT;
|
|
BOOL m_bOptionalOnPreDX8;
|
|
BOOL m_bIgnoreVersionInfo;
|
|
BOOL m_bIgnoreDebug;
|
|
BOOL m_bIgnoreBeta;
|
|
BOOL m_bBDA;
|
|
BOOL m_bNotIA64;
|
|
BOOL m_bOptionalOnWOW64;
|
|
BOOL m_bProblem;
|
|
BOOL m_bObsolete; // Note: this is set by DiagnoseDxFiles, not anything in fileinfo
|
|
FileInfo* m_pFileInfoNext;
|
|
};
|
|
|
|
|
|
VOID InitFileInfo(VOID);
|
|
HRESULT GetComponentFiles(TCHAR* pszFolder, FileInfo** ppFileInfoFirst,
|
|
BOOL bSkipMissingFiles, LONG ids);
|
|
VOID DestroyFileList(FileInfo* pFileInfoFirst);
|
|
VOID ReleaseDigiSignData(VOID);
|
|
VOID FileIsSigned(LPTSTR lpszFile, BOOL* pbSigned, BOOL* pbIsValid);
|
|
WORD GetLanguageFromFile(const TCHAR* pszFileName, const TCHAR* pszPath);
|
|
HRESULT GetFileVersion(TCHAR* pszFile, TCHAR* pszVersion,
|
|
TCHAR* pszAttributes, TCHAR* pszLanguageLocal, TCHAR* pszLanguage,
|
|
BOOL* pbBeta = NULL, BOOL* pbDebug = NULL);
|
|
HRESULT GetRiffFileVersion(TCHAR* pszFile, TCHAR* pszVersion);
|
|
BOOL GetFileDateAndSize(TCHAR* pszFile, TCHAR* pszDateLocal, TCHAR* pszDateEnglish, LONG* pnumBytes);
|
|
|
|
BOOL GetProgramFilesFolder(TCHAR* pszPath);
|
|
BOOL GetDxSetupFolder(TCHAR* pszPath);
|
|
VOID DiagnoseDxFiles(SysInfo* pSysInfo, FileInfo* pDxComponentsFileInfoFirst, FileInfo* pDxWinComponentsFileInfoFirst );
|
|
|
|
#endif // FILEINFO_H
|