UTILITY.H

/************************************************************************** 
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

Copyright 1997 Microsoft Corporation. All Rights Reserved.
**************************************************************************/

/**************************************************************************

File: Utility.h

Description: Utility definitions.

**************************************************************************/

#ifndef UTILITY_H
#define UTILITY_H

/**************************************************************************
#include statements
**************************************************************************/

#include <windows.h>
#include <shlobj.h>
#include <Regstr.h>

#ifdef _cplusplus
extern "C" {
#endif //_cplusplus

/**************************************************************************
global variables
**************************************************************************/

extern int g_nColumn1;
extern int g_nColumn2;
extern BOOL g_bViewKeys;
extern BOOL g_bShowIDW;

/**************************************************************************
function prototypes
**************************************************************************/

//registry utility functions
DWORD GetKeyName(HKEY, LPCTSTR, DWORD, LPTSTR, DWORD);
BOOL GetValueName(HKEY, LPCTSTR, DWORD, LPTSTR, DWORD);
DWORD GetRootKeyText(HKEY, LPTSTR, DWORD);
BOOL RootKeyExists(HKEY);

//utility functions
BOOL SaveGlobalSettings(void);
BOOL GetGlobalSettings(void);
int CALLBACK CompareItems(LPARAM, LPARAM, LPARAM);
VOID CreateImageLists(VOID);
VOID DestroyImageLists(VOID);
int WideCharToLocal(LPTSTR, LPWSTR, DWORD);
int LocalToWideChar(LPWSTR, LPTSTR, DWORD);
LPTSTR GetNextRegElement(LPTSTR, LPTSTR, DWORD);

#ifdef _cplusplus
}
#endif //_cplusplus

#define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))

#endif //UTILITY_H