|
|
/****************************************************************************
* * File: reginfo.h * Project: DxDiag (DirectX Diagnostic Tool) * Author: Mike Anderson (manders@microsoft.com) * Purpose: Gather and hold registry information * * (C) Copyright 1998 Microsoft Corp. All rights reserved. * ****************************************************************************/
#ifndef REGINFO_H
#define REGINFO_H
enum RegErrorType { RET_NOERROR = 0, RET_MISSINGKEY, RET_MISSINGVALUE, RET_VALUEWRONGTYPE, RET_VALUEWRONGDATA };
struct RegError { HKEY m_hkeyRoot; // HKLM, HKCU, etc.
TCHAR m_szKey[300]; TCHAR m_szValue[100]; RegErrorType m_ret; DWORD m_dwTypeExpected; // REG_DWORD, REG_SZ, or REG_BINARY
DWORD m_dwTypeActual;
// The following are used if m_dwType is REG_DWORD:
DWORD m_dwExpected; DWORD m_dwActual;
// The following are used if m_dwType is REG_SZ:
TCHAR m_szExpected[200]; TCHAR m_szActual[200];
// The following are used if m_dwType is REG_BINARY:
BYTE m_bExpected[200]; BYTE m_bActual[200]; DWORD m_dwExpectedSize; DWORD m_dwActualSize;
RegError* m_pRegErrorNext; };
enum CheckRegFlags { CRF_NONE = 0, CRF_LEAF = 1, // if string is a path, just compare against the leaf
};
HRESULT CheckRegDword(RegError** ppRegErrorFirst, HKEY hkeyRoot, TCHAR* pszKey, TCHAR* pszValue, DWORD dwExpected); HRESULT CheckRegString(RegError** ppRegErrorFirst, HKEY hkeyRoot, TCHAR* pszKey, TCHAR* pszValue, TCHAR* pszExpected, CheckRegFlags crf = CRF_NONE, HRESULT* phrError = NULL ); HRESULT CheckRegBinary(RegError** ppRegErrorFirst, HKEY hkeyRoot, TCHAR* pszKey, TCHAR* pszValue, BYTE* pbDataExpected, DWORD dwSizeExpected); VOID DestroyReg( RegError** ppRegErrorFirst );
#endif // REGINFO_H
|