ReactOS 0.4.16-dev-1146-gc477928
appdb.cpp File Reference
#include "rapps.h"
#include "appdb.h"
#include "configparser.h"
#include "settings.h"
#include "misc.h"
Include dependency graph for appdb.cpp:

Go to the source code of this file.

Macros

#define UNINSTALL_SUBKEY   L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall"
 

Functions

static VOID ClearList (CAtlList< CAppInfo * > &list)
 
static HKEY GetRootKeyInfo (UINT Index, REGSAM &RegSam)
 
static void DeleteWithWildcard (const CPathW &Dir, const CStringW &Filter)
 

Variables

static HKEY g_RootKeyEnum [3] = {HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_LOCAL_MACHINE}
 
static REGSAM g_RegSamEnum [3] = {0, KEY_WOW64_32KEY, KEY_WOW64_64KEY}
 

Macro Definition Documentation

◆ UNINSTALL_SUBKEY

#define UNINSTALL_SUBKEY   L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall"

Definition at line 19 of file appdb.cpp.

Function Documentation

◆ ClearList()

static VOID ClearList ( CAtlList< CAppInfo * > &  list)
static

Definition at line 22 of file appdb.cpp.

23{
24 POSITION InfoListPosition = list.GetHeadPosition();
25 while (InfoListPosition)
26 {
27 CAppInfo *Info = list.GetNext(InfoListPosition);
28 delete Info;
29 }
30 list.RemoveAll();
31}
Definition: list.h:37
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
Definition: wdfchildlist.h:690

Referenced by CAppDB::EnumerateFiles(), and CAppDB::UpdateInstalled().

◆ DeleteWithWildcard()

static void DeleteWithWildcard ( const CPathW Dir,
const CStringW Filter 
)
static

Definition at line 273 of file appdb.cpp.

274{
276 WIN32_FIND_DATAW FindFileData;
277
278 CPathW DirWithFilter = Dir;
279 DirWithFilter += Filter;
280
281 hFind = FindFirstFileW(DirWithFilter, &FindFileData);
282
283 if (hFind == INVALID_HANDLE_VALUE)
284 return;
285
286 do
287 {
288 CPathW szTmp = Dir;
289 szTmp += FindFileData.cFileName;
290
291 if (!(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
292 {
294 }
295 } while (FindNextFileW(hFind, &FindFileData) != 0);
296 FindClose(hFind);
297}
char szTmp[518]
#define INVALID_HANDLE_VALUE
Definition: compat.h:731
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
Definition: delete.c:39
HANDLE WINAPI FindFirstFileW(IN LPCWSTR lpFileName, OUT LPWIN32_FIND_DATAW lpFindFileData)
Definition: find.c:320
BOOL WINAPI FindClose(HANDLE hFindFile)
Definition: find.c:502
BOOL WINAPI FindNextFileW(IN HANDLE hFindFile, OUT LPWIN32_FIND_DATAW lpFindFileData)
Definition: find.c:382
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801
#define FILE_ATTRIBUTE_DIRECTORY
Definition: nt_native.h:705

Referenced by CAppDB::RemoveCached().

◆ GetRootKeyInfo()

static HKEY GetRootKeyInfo ( UINT  Index,
REGSAM RegSam 
)
inlinestatic

Definition at line 154 of file appdb.cpp.

155{
158 {
159 RegSam = g_RegSamEnum[Index];
160 return g_RootKeyEnum[Index];
161 }
162 return NULL;
163}
static HKEY g_RootKeyEnum[3]
Definition: appdb.cpp:17
static REGSAM g_RegSamEnum[3]
Definition: appdb.cpp:18
#define NULL
Definition: types.h:112
#define C_ASSERT(e)
Definition: intsafe.h:73
#define _countof(array)
Definition: sndvol32.h:70
_In_ WDFCOLLECTION _In_ ULONG Index

Referenced by CAppDB::EnumInstalledRootKey(), and CAppDB::RemoveInstalledAppFromRegistry().

Variable Documentation

◆ g_RegSamEnum

REGSAM g_RegSamEnum[3] = {0, KEY_WOW64_32KEY, KEY_WOW64_64KEY}
static

Definition at line 18 of file appdb.cpp.

Referenced by GetRootKeyInfo().

◆ g_RootKeyEnum

Definition at line 17 of file appdb.cpp.

Referenced by GetRootKeyInfo().