File: RegKey.h

package info (click to toggle)
sleuthkit 4.12.1%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 18,608 kB
  • sloc: ansic: 143,795; cpp: 52,225; java: 37,892; xml: 2,416; python: 1,076; perl: 874; makefile: 439; sh: 184
file content (49 lines) | stat: -rwxr-xr-x 1,309 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
** The Sleuth Kit
**
** Brian Carrier [carrier <at> sleuthkit [dot] org]
** Copyright (c) 2010-2019 Brian Carrier.  All Rights reserved
**
** This software is distributed under the Common Public License 1.0
**
*/

#pragma once

#include <string>
#include <Windows.h>

#include "rejistry++\include\librejistry++.h"

 /**
  * RegKey - Abstracts a Registry key
  *
  */
class RegKey {
public:
    RegKey(std::wstring &keyName);
    RegKey(std::wstring &keyName, long numKeys, long numValues);
    ~RegKey();

    int initialize(const Rejistry::RegistryKey *regKey);

    std::wstring getKeyName() const { return m_keyName; };
    size_t getNumSubkeys() const { return m_numSubkeys; };
    size_t getNumValues() const { return m_numValues; };
    void getModifyTime(FILETIME& ft) const { memcpy((void *)&ft, (void *)&m_modifyTime, sizeof(FILETIME)); };
    const Rejistry::RegistryKey * getRegistryKey() const { return m_regKey; };

    void setModifyTime(FILETIME ft) { m_modifyTime = ft; }
    void setNumSubkeys(long numSubkeys) { m_numSubkeys = numSubkeys; }
    void setNumValues(long numValues) { m_numValues = numValues; }

    void print();

private:
    std::wstring m_keyName;
    FILETIME m_modifyTime;
    size_t m_numSubkeys;
    size_t m_numValues;

    const Rejistry::RegistryKey *m_regKey;
};