|
|
//
// Structures for GUID search code
//
#define GUIDKEYSEARCH_FIRST_HANDLER 0 // the first time through enumeration
#define GUIDKEYSEARCH_FIRST_GUID 1 // ready to enumerate the first GUID in the handler
#define GUIDKEYSEARCH_NEXT_GUID 2 // enumerating one or more GUIDs in a handler
// The handler registry key is always valid in this case
#define GUIDKEYSEARCH_NEXT_HANDLER 3 // ready to enumerate next handler
typedef struct { LPCTSTR KeyName; REGKEY_ENUM Handlers; REGKEY_ENUM Guids; HKEY HandlerKey; DWORD State; HKEY RootKey; } GUIDKEYSEARCH, *PGUIDKEYSEARCH;
//
// Private routines to perform registry suppression
//
BOOL pIsGuidSuppressed ( PCTSTR GuidStr );
BOOL pProcessGuidSuppressList ( VOID );
BOOL pProcessFileExtensionSuppression ( VOID );
BOOL pProcessOleWarnings ( VOID );
VOID pProcessAutoSuppress ( IN OUT HASHTABLE StrTab );
BOOL pProcessProgIdSuppression ( VOID );
BOOL pProcessExplorerSuppression ( VOID );
BOOL pSuppressLinksToSuppressedGuids ( VOID );
BOOL pIsCmdLineBad ( IN LPCTSTR CmdLine );
BOOL pIsCmdLineBadEx ( IN LPCTSTR CmdLine, OUT PBOOL IsvCmdLine OPTIONAL );
VOID pSuppressProgIdWithBadCmdLine ( IN HKEY ProgId, IN LPCTSTR ProgIdStr );
BOOL pIsGuid ( LPCTSTR Key );
BOOL pIsGuidWithoutBraces ( IN LPCTSTR Data );
BOOL pGetFirstRegKeyThatHasGuid ( OUT PGUIDKEYSEARCH EnumPtr, IN HKEY RootKey );
BOOL pGetNextRegKeyThatHasGuid ( IN OUT PGUIDKEYSEARCH EnumPtr );
DWORD pCountGuids ( IN PGUIDKEYSEARCH EnumPtr );
BOOL pFillHashTableWithKeyNames ( OUT HASHTABLE Table, IN HINF InfFile, IN LPCTSTR Section );
BOOL pSuppressProgId ( LPCTSTR ProgIdName );
VOID pSuppressGuidInClsId ( IN LPCTSTR Guid );
VOID pAddUnsuppressedTreatAsGuid ( LPCTSTR Guid, LPCTSTR TreatAsGuid );
VOID pRemoveUnsuppressedTreatAsGuids ( VOID );
VOID pAddOleWarning ( IN WORD MsgId, IN HKEY Object, OPTIONAL IN LPCTSTR KeyName );
VOID pSuppressGuidIfBadCmdLine ( IN HASHTABLE StrTab, IN HKEY ClsIdKey, IN LPCTSTR GuidStr );
VOID pSuppressProgIdWithBadCmdLine ( IN HKEY ProgId, IN LPCTSTR ProgIdStr );
BOOL pSuppressGuidIfCmdLineBad ( IN OUT HASHTABLE StrTab, OPTIONAL IN LPCTSTR CmdLine, IN HKEY DescriptionKey, IN LPCTSTR GuidStr OPTIONAL );
VOID pAddGuidToTable ( IN HASHTABLE Table, IN LPCTSTR GuidStr );
BOOL pSearchSubkeyDataForBadFiles ( IN OUT HASHTABLE SuppressTable, IN HKEY KeyHandle, IN LPCTSTR LastKey, IN LPCTSTR GuidStr, IN HKEY DescriptionKey );
BOOL pIsCmdLineBad ( IN LPCTSTR CmdLine );
BOOL pFindShortName ( IN LPCTSTR WhatToFind, OUT LPTSTR Buffer );
BOOL pGetLongPathName ( IN LPCTSTR ShortPath, OUT LPTSTR Buffer );
BOOL pDefaultIconPreservation ( VOID );
BOOL pActiveSetupProcessing ( VOID );
BOOL pIsShellExKeySuppressed ( IN HKEY ParentKey, IN PCTSTR ParentKeyName, IN PCTSTR SubKeyName );
|