diff options
Diffstat (limited to '')
-rw-r--r-- | bin/win32/BINDInstall/VersionInfo.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/bin/win32/BINDInstall/VersionInfo.h b/bin/win32/BINDInstall/VersionInfo.h new file mode 100644 index 0000000..7e10c39 --- /dev/null +++ b/bin/win32/BINDInstall/VersionInfo.h @@ -0,0 +1,104 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +/* VersionInfo.h: interface for the CVersionInfo class. */ +/* */ +/*//////////////////////////////////////////////////////////////////// */ + +#if !defined(AFX_VERSIONINFO_H__F82E9FF3_5298_11D4_AB87_00C04F789BA0__INCLUDED_) +#define AFX_VERSIONINFO_H__F82E9FF3_5298_11D4_AB87_00C04F789BA0__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif /* _MSC_VER > 1000 */ + +class CVersionInfo { + public: + CVersionInfo(CString filename); + virtual ~CVersionInfo(); + BOOL + IsValid() { + return (m_isValid); + } + DWORD + GetStatus() { return (m_status); } + + BOOL + CopyFileCheckVersion(CVersionInfo &originalFile); + BOOL + CopyFileNoVersion(CVersionInfo &originalFile); + + const CString & + GetFilename() { + return (m_filename); + } + + /* Extract the elements of the file's string info block */ + CString + GetFileVersionString(); + CString + GetProductVersionString(); + CString + GetComments(); + CString + GetFileDescription(); + CString + GetInternalName(); + CString + GetLegalCopyright(); + CString + GetLegalTrademarks(); + CString + GetOriginalFileName(); + CString + GetProductName(); + CString + GetSpecialBuildString(); + CString + GetPrivateBuildString(); + CString + GetCompanyName(); + + /* Extract the elements of the file's VS_FIXEDFILEINFO block */ + _int64 + GetFileVersion(); + _int64 + GetProductVersion(); + _int64 + GetFileDate(); + + DWORD + GetFileFlagMask(); + DWORD + GetFileFlags(); + DWORD + GetFileOS(); + DWORD + GetFileType(); + DWORD + GetFileSubType(); + + private: + CString m_filename; + BOOL m_isValid; + LPVOID m_versionInfo; + VS_FIXEDFILEINFO *m_fixedInfo; + DWORD m_codePage; + DWORD m_status; + + CString + QueryStringValue(CString value); +}; + +#endif /* !defined(AFX_VERSIONINFO_H__F82E9FF3_5298_11D4_AB87_00C04F789BA0__INCLUDED_) \ + */ |