Source code of Windows XP (NT5)
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.
|
|
/*
* Registry Association Management * * HTREGMNG.H * * Copyright (c) 1995 Microsoft Inc. * */
#ifndef HTREGMNG_H
#define HTREGMNG_H
#ifdef __cplusplus
extern "C" { #endif
/*
* Registry Management Structures * * We need a way to specify a set of registry entries to * represent an association. We can then test and * set the registry appropriately to restore associations * as needed * */
typedef enum { RC_ADD, RC_RUNDLL, RC_DEL, // Remove key
RC_CALLBACK } REGCMD;
// Flags for RegEntry
#define REF_NORMAL 0x00000000 // Required and forcefully set
#define REF_NOTNEEDED 0x00000001 // Ignored during checks
#define REF_IFEMPTY 0x00000002 // Set only if value/key is empty
#define REF_DONTINTRUDE 0x00000004 // Don't intrude at setup time
#define REF_NUKE 0x00000008 // Remove a key, regardless of the subkeys/values
#define REF_PRUNE 0x00000010 // Walk up this path and remove empty keys
#define REF_EDITFLAGS 0x00000020 // Remove edit flags only if the rest of the tree is empty
// NOTE: these structures are deliberately CHAR, not TCHAR, so we don't
// have to mess with the TEXT macro in all the tables.
typedef struct _RegEntry { REGCMD regcmd; // Special Handling
DWORD dwFlags; // REF_*
HKEY hkeyRoot; // Root key
LPCSTR pszKey; // Key Name
LPCSTR pszValName; // Value Name
DWORD dwType; // Value Type
union { LPARAM lParam; // lParam
DWORD dwSize; // Value Size (in bytes)
}DUMMYUNIONNAME; VOID const * pvValue; // Value
} RegEntry;
typedef RegEntry RegList[];
typedef struct _RegSet { DWORD cre; // Count of entries
const RegEntry * pre; } RegSet;
#define IEA_NORMAL 0x00000001 // Only install IE assoc. if IE is currently owner.
#define IEA_FORCEIE 0x00000002 // Force IE to take over associations
HRESULT InstallIEAssociations(DWORD dwFlags); // IEA_* flags
HRESULT UninstallPlatformRegItems(BOOL bIntegrated); void UninstallCurrentPlatformRegItems(); BOOL IsCheckAssociationsOn(); void SetCheckAssociations( BOOL ); BOOL GetIEPath(LPSTR szPath, DWORD cch); BOOL IsIEDefaultBrowser(void); BOOL IsIEDefaultBrowserQuick(void); HRESULT ResetWebSettings(HWND hwnd, BOOL *pfChangedHomePage);
extern const TCHAR c_szCLSID[];
#ifdef __cplusplus
}; #endif
#endif /* HTREGMNG_H */
|