ReactOS
0.4.15-dev-4872-g8a3db97
registry.h
Go to the documentation of this file.
1
/*
2
* PROJECT: ReactOS system libraries
3
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4
* PURPOSE: Functions to read RunOnceEx registry.
5
* COPYRIGHT: Copyright 2021 He Yang <1160386205@qq.com>
6
*/
7
8
#pragma once
9
10
#include <windows.h>
11
#include <atlbase.h>
12
#include <
atlstr.h
>
13
#include <
atlcoll.h
>
14
#include <
atlsimpcoll.h
>
15
16
#define FLAGS_NO_STAT_DIALOG 0x00000080
17
18
#ifndef UNICODE
19
#error This project must be compiled with UNICODE!
20
#endif
21
22
class
CRegKeyEx
:
public
CRegKey
23
{
24
public
:
25
LONG
EnumValueName
(
26
_In_
DWORD
iIndex,
27
_Out_
LPTSTR
pszName,
28
_Inout_
LPDWORD
pnNameLength);
29
};
30
31
class
RunOnceExEntry
32
{
33
private
:
34
ATL::CStringW
m_Value
;
35
ATL::CStringW
m_Name
;
36
37
public
:
38
39
RunOnceExEntry
(
40
_In_
const
ATL::CStringW
&
Name
,
41
_In_
const
ATL::CStringW
&
Value
);
42
43
BOOL
Delete
(
_In_
CRegKeyEx
&hParentKey);
44
BOOL
Exec
()
const
;
45
46
friend
int
RunOnceExEntryCmp
(
47
_In_
const
void
*
a
,
48
_In_
const
void
*
b
);
49
};
50
51
class
RunOnceExSection
52
{
53
private
:
54
ATL::CStringW
m_SectionName
;
55
CRegKeyEx
m_RegKey
;
56
57
BOOL
HandleValue
(
58
_In_
CRegKeyEx
&
hKey
,
59
_In_
const
CStringW
&
ValueName
);
60
61
public
:
62
BOOL
m_bSuccess
;
63
ATL::CStringW
m_SectionTitle
;
64
CSimpleArray<RunOnceExEntry>
m_EntryList
;
65
66
RunOnceExSection
(
67
_In_
CRegKeyEx
&hParentKey,
68
_In_
const
CStringW
&lpSubKeyName);
69
70
RunOnceExSection
(
_In_
const
RunOnceExSection
&Section);
71
72
BOOL
CloseAndDelete
(
_In_
CRegKeyEx
&hParentKey);
73
74
UINT
GetEntryCnt
()
const
;
75
76
BOOL
Exec
(
77
_Inout_
UINT
& iCompleteCnt,
78
_In_
const
UINT
iTotalCnt);
79
80
friend
int
RunOnceExSectionCmp
(
81
_In_
const
void
*
a
,
82
_In_
const
void
*
b
);
83
84
friend
class
RunOnceExInstance
;
85
};
86
87
class
RunOnceExInstance
88
{
89
private
:
90
CRegKeyEx
m_RegKey
;
91
92
BOOL
HandleSubKey
(
93
_In_
CRegKeyEx
&
hKey
,
94
_In_
const
CStringW
&
SubKeyName
);
95
96
public
:
97
BOOL
m_bSuccess
;
98
CSimpleArray<RunOnceExSection>
m_SectionList
;
99
CStringW
m_Title
;
100
DWORD
m_dwFlags
;
101
BOOL
m_bShowDialog
;
102
103
RunOnceExInstance
(
_In_
HKEY
BaseKey);
104
105
BOOL
Exec
(
_In_opt_
HWND
hwnd
);
106
BOOL
Run
(
_In_
BOOL
bSilence);
107
};
RunOnceExInstance::m_bShowDialog
BOOL m_bShowDialog
Definition:
registry.h:101
RunOnceExInstance::RunOnceExInstance
RunOnceExInstance(_In_ HKEY BaseKey)
Definition:
registry.cpp:227
RunOnceExInstance::HandleSubKey
BOOL HandleSubKey(_In_ CRegKeyEx &hKey, _In_ const CStringW &SubKeyName)
Definition:
registry.cpp:339
_In_opt_
#define _In_opt_
Definition:
ms_sal.h:309
_Inout_
#define _Inout_
Definition:
ms_sal.h:378
SubKeyName
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ PNDIS_STRING SubKeyName
Definition:
ndis.h:4723
RunOnceExInstance::m_SectionList
CSimpleArray< RunOnceExSection > m_SectionList
Definition:
registry.h:98
_Out_
#define _Out_
Definition:
ms_sal.h:345
RunOnceExSection::m_SectionName
ATL::CStringW m_SectionName
Definition:
registry.h:54
RunOnceExEntry
Definition:
registry.h:31
RunOnceExSection::m_RegKey
CRegKeyEx m_RegKey
Definition:
registry.h:55
RunOnceExSection::Exec
BOOL Exec(_Inout_ UINT &iCompleteCnt, _In_ const UINT iTotalCnt)
Definition:
registry.cpp:201
RunOnceExInstance::m_RegKey
CRegKeyEx m_RegKey
Definition:
registry.h:90
RunOnceExSection
Definition:
registry.h:51
RunOnceExSection::m_bSuccess
BOOL m_bSuccess
Definition:
registry.h:62
LPTSTR
CHAR * LPTSTR
Definition:
xmlstorage.h:192
RunOnceExSection::GetEntryCnt
UINT GetEntryCnt() const
Definition:
registry.cpp:196
RunOnceExEntry::m_Name
ATL::CStringW m_Name
Definition:
registry.h:35
BOOL
unsigned int BOOL
Definition:
ntddk_ex.h:94
LONG
long LONG
Definition:
pedump.c:60
RunOnceExEntry::Delete
BOOL Delete(_In_ CRegKeyEx &hParentKey)
Definition:
registry.cpp:27
RunOnceExEntry::m_Value
ATL::CStringW m_Value
Definition:
registry.h:34
NameRec_
Definition:
apinames.c:48
_In_
#define _In_
Definition:
ms_sal.h:308
ATL::CStringT
Definition:
cstringt.h:369
Value
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition:
wdfregistry.h:406
RunOnceExSection::m_SectionTitle
ATL::CStringW m_SectionTitle
Definition:
registry.h:63
b
GLboolean GLboolean GLboolean b
Definition:
glext.h:6204
ATL::CSimpleArray< RunOnceExEntry >
RunOnceExInstance::Run
BOOL Run(_In_ BOOL bSilence)
Definition:
registry.cpp:323
RunOnceExEntry::Exec
BOOL Exec() const
Definition:
registry.cpp:33
RunOnceExInstance
Definition:
registry.h:87
atlsimpcoll.h
DWORD
unsigned long DWORD
Definition:
ntddk_ex.h:95
ValueName
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition:
wdfregistry.h:240
atlstr.h
atlcoll.h
RunOnceExSection::m_EntryList
CSimpleArray< RunOnceExEntry > m_EntryList
Definition:
registry.h:64
RunOnceExInstance::m_dwFlags
DWORD m_dwFlags
Definition:
registry.h:100
ATL::CRegKey
Definition:
atlbase.h:1011
RunOnceExSection::RunOnceExSection
RunOnceExSection(_In_ CRegKeyEx &hParentKey, _In_ const CStringW &lpSubKeyName)
RunOnceExInstance::m_bSuccess
BOOL m_bSuccess
Definition:
registry.h:97
RunOnceExSection::RunOnceExSectionCmp
friend int RunOnceExSectionCmp(_In_ const void *a, _In_ const void *b)
Definition:
registry.cpp:219
hKey
FxAutoRegKey hKey
Definition:
fxdriverapikm.cpp:59
RunOnceExSection::HandleValue
BOOL HandleValue(_In_ CRegKeyEx &hKey, _In_ const CStringW &ValueName)
Definition:
registry.cpp:85
UINT
unsigned int UINT
Definition:
ndis.h:50
RunOnceExInstance::m_Title
CStringW m_Title
Definition:
registry.h:99
CRegKeyEx::EnumValueName
LONG EnumValueName(_In_ DWORD iIndex, _Out_ LPTSTR pszName, _Inout_ LPDWORD pnNameLength)
Definition:
registry.cpp:12
CRegKeyEx
Definition:
registry.h:22
LPDWORD
uint32_t * LPDWORD
Definition:
typedefs.h:59
RunOnceExInstance::Exec
BOOL Exec(_In_opt_ HWND hwnd)
Definition:
registry.cpp:293
RunOnceExEntry::RunOnceExEntry
RunOnceExEntry(_In_ const ATL::CStringW &Name, _In_ const ATL::CStringW &Value)
Definition:
registry.cpp:21
a
GLboolean GLboolean GLboolean GLboolean a
Definition:
glext.h:6204
void
Definition:
nsiface.idl:2306
hwnd
_In_ LONG _In_ HWND hwnd
Definition:
winddi.h:4022
RunOnceExEntry::RunOnceExEntryCmp
friend int RunOnceExEntryCmp(_In_ const void *a, _In_ const void *b)
Definition:
registry.cpp:77
RunOnceExSection::CloseAndDelete
BOOL CloseAndDelete(_In_ CRegKeyEx &hParentKey)
Definition:
registry.cpp:189
dll
win32
iernonce
include
registry.h
Generated on Sat Jul 2 2022 06:03:16 for ReactOS by
1.8.15