ReactOS  0.4.14-dev-583-g2a1ba2c
RegistryRoot Struct Reference

Registry key entry. More...

#include <regfs.h>

Inheritance diagram for RegistryRoot:
Collaboration diagram for RegistryRoot:

Public Member Functions

 RegistryRoot ()
 
 RegistryRoot (Entry *parent, LPCTSTR path)
 
 ~RegistryRoot ()
 
virtual void read_directory (int scan_flags=0)
 
- Public Member Functions inherited from RegEntry
 RegEntry (Entry *parent)
 
- Public Member Functions inherited from Entry
virtual ~Entry ()
 
void free_subentries ()
 
void read_directory_base (SORT_ORDER sortOrder=SORT_NAME, int scan_flags=0)
 
Entryread_tree (const void *path, SORT_ORDER sortOrder=SORT_NAME, int scan_flags=0)
 
void sort_directory (SORT_ORDER sortOrder)
 
void smart_scan (SORT_ORDER sortOrder=SORT_NAME, int scan_flags=0)
 
int extract_icon (ICONCACHE_FLAGS flags=ICF_NORMAL)
 
int safe_extract_icon (ICONCACHE_FLAGS flags=ICF_NORMAL)
 
virtual const voidget_next_path_component (const void *) const
 
virtual Entryfind_entry (const void *)
 
virtual ShellPath create_absolute_pidl () const
 
virtual HRESULT GetUIObjectOf (HWND hWnd, REFIID riid, LPVOID *ppvOut)
 
virtual ShellFolder get_shell_folder () const
 
virtual HRESULT do_context_menu (HWND hwnd, const POINT &pos, CtxMenuInterfaces &cm_ifs)
 

Additional Inherited Members

- Public Attributes inherited from Entry
Entry_next
 
Entry_down
 
Entry_up
 
bool _expanded
 
bool _scanned
 
int _level
 
WIN32_FIND_DATA _data
 
SFGAOF _shell_attribs
 
LPTSTR _display_name
 
LPTSTR _type_name
 
LPTSTR _content
 
ENTRY_TYPE _etype
 
int _icon_id
 
BY_HANDLE_FILE_INFORMATION _bhfi
 
bool _bhfi_valid
 
- Protected Member Functions inherited from RegEntry
 RegEntry ()
 
virtual bool get_path (PTSTR path, size_t path_count) const
 
virtual BOOL launch_entry (HWND hwnd, UINT nCmdShow)
 
- Protected Member Functions inherited from Entry
 Entry (ENTRY_TYPE etype)
 
 Entry (Entry *parent, ENTRY_TYPE etype)
 
 Entry (const Entry &)
 
bool get_path_base (PTSTR path, size_t path_count, ENTRY_TYPE etype) const
 
- Protected Member Functions inherited from Directory
 Directory ()
 
virtual ~Directory ()
 
- Protected Attributes inherited from Directory
void_path
 

Detailed Description

Registry key entry.

Definition at line 63 of file regfs.h.

Constructor & Destructor Documentation

◆ RegistryRoot() [1/2]

RegistryRoot::RegistryRoot ( )
inline

Definition at line 65 of file regfs.h.

66  {
67  }

◆ RegistryRoot() [2/2]

RegistryRoot::RegistryRoot ( Entry parent,
LPCTSTR  path 
)
inline

Definition at line 69 of file regfs.h.

70  : RegEntry(parent)
71  {
72  _path = _tcsdup(path);
73  }
#define _tcsdup
Definition: tchar.h:625
r parent
Definition: btrfs.c:2869
void * _path
Definition: entries.h:143
RegEntry()
Definition: regfs.h:35

◆ ~RegistryRoot()

RegistryRoot::~RegistryRoot ( )
inline

Definition at line 75 of file regfs.h.

76  {
77  free(_path);
78  _path = NULL;
79  }
#define free
Definition: debug_ros.c:5
smooth NULL
Definition: ftsmooth.c:416
void * _path
Definition: entries.h:143

Member Function Documentation

◆ read_directory()

void RegistryRoot::read_directory ( int  scan_flags = 0)
virtual

Reimplemented from Entry.

Definition at line 249 of file regfs.cpp.

250 {
251  Entry *entry, *last, *first_entry;
252  int level = _level + 1;
253 
254  _data.dwFileAttributes |= FILE_ATTRIBUTE_DIRECTORY;
255 
256  entry = new RegDirectory(this, TEXT("\\"), HKEY_CURRENT_USER);
257  _tcscpy(entry->_data.cFileName, TEXT("HKEY_CURRENT_USER"));
258  entry->_level = level;
259 
260  first_entry = entry;
261  last = entry;
262 
263  entry = new RegDirectory(this, TEXT("\\"), HKEY_LOCAL_MACHINE);
264  _tcscpy(entry->_data.cFileName, TEXT("HKEY_LOCAL_MACHINE"));
265  entry->_level = level;
266 
267  last->_next = entry;
268  last = entry;
269 
270  entry = new RegDirectory(this, TEXT("\\"), HKEY_CLASSES_ROOT);
271  _tcscpy(entry->_data.cFileName, TEXT("HKEY_CLASSES_ROOT"));
272  entry->_level = level;
273 
274  last->_next = entry;
275  last = entry;
276 
277  entry = new RegDirectory(this, TEXT("\\"), HKEY_USERS);
278  _tcscpy(entry->_data.cFileName, TEXT("HKEY_USERS"));
279  entry->_level = level;
280 
281  last->_next = entry;
282  last = entry;
283 /*
284  entry = new RegDirectory(this, TEXT("\\"), HKEY_PERFORMANCE_DATA);
285  _tcscpy(entry->_data.cFileName, TEXT("HKEY_PERFORMANCE_DATA"));
286  entry->_level = level;
287 
288  last->_next = entry;
289  last = entry;
290 */
291  entry = new RegDirectory(this, TEXT("\\"), HKEY_CURRENT_CONFIG);
292  _tcscpy(entry->_data.cFileName, TEXT("HKEY_CURRENT_CONFIG"));
293  entry->_level = level;
294 
295  last->_next = entry;
296  last = entry;
297 /*
298  entry = new RegDirectory(this, TEXT("\\"), HKEY_DYN_DATA);
299  _tcscpy(entry->_data.cFileName, TEXT("HKEY_DYN_DATA"));
300  entry->_level = level;
301 
302  last->_next = entry;
303  last = entry;
304 */
305  last->_next = NULL;
306 
307  _down = first_entry;
308  _scanned = true;
309 }
#define HKEY_USERS
Definition: winreg.h:13
GLint level
Definition: gl.h:1546
WIN32_FIND_DATA _data
Definition: entries.h:100
POINT last
Definition: font.c:46
#define HKEY_CURRENT_USER
Definition: winreg.h:11
_TCHAR * _tcscpy(_TCHAR *to, const _TCHAR *from)
Definition: tcscpy.h:8
#define HKEY_CURRENT_CONFIG
Definition: winreg.h:15
smooth NULL
Definition: ftsmooth.c:416
Registry key entry.
Definition: regfs.h:43
#define FILE_ATTRIBUTE_DIRECTORY
Definition: nt_native.h:705
Entry * _down
Definition: entries.h:93
uint32_t entry
Definition: isohybrid.c:63
int _level
Definition: entries.h:98
#define TEXT(s)
Definition: k32.h:26
bool _scanned
Definition: entries.h:97
#define HKEY_CLASSES_ROOT
Definition: winreg.h:10
base of all file and directory entries
Definition: entries.h:82
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

The documentation for this struct was generated from the following files: