ReactOS
0.4.16-dev-1946-g52006dd
sfcfiles.c
Go to the documentation of this file.
1
/*
2
* PROJECT: ReactOS System File Checker
3
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4
* FILE: dll/win32/sfcfiles/sfcfiles.c
5
* PURPOSE: List of protected files
6
* PROGRAMMERS: Copyright 2022 Eric Kohl (eric.kohl@reactos.org)
7
*/
8
9
#define WIN32_NO_STATUS
10
#include <
windef.h
>
11
#include <
winbase.h
>
12
#include <
ndk/umtypes.h
>
13
#include <
sfcfiles.h
>
14
15
16
static
17
PROTECT_FILE_ENTRY
18
ProtectedFiles
[] =
19
{
20
{
NULL
,
L
"%systemroot%\\system32\\advapi32.dll"
,
NULL
},
21
{
NULL
,
L
"%systemroot%\\system32\\comctl32.dll"
,
NULL
},
22
{
NULL
,
L
"%systemroot%\\system32\\comdlg32.dll"
,
NULL
},
23
{
NULL
,
L
"%systemroot%\\system32\\kernel32.dll"
,
NULL
},
24
{
NULL
,
L
"%systemroot%\\system32\\ntdll.dll"
,
NULL
},
25
{
NULL
,
L
"%systemroot%\\system32\\ntoskrnl.exe"
,
NULL
}
26
};
27
28
29
BOOL
30
WINAPI
31
DllMain
(
32
_In_
HINSTANCE
hInstDLL,
33
_In_
DWORD
fdwReason
,
34
_In_
LPVOID
lpvReserved
)
35
{
36
switch
(
fdwReason
)
37
{
38
case
DLL_PROCESS_ATTACH
:
39
DisableThreadLibraryCalls
(hInstDLL);
40
break
;
41
42
case
DLL_PROCESS_DETACH
:
43
break
;
44
}
45
46
return
TRUE
;
47
}
48
49
50
NTSTATUS
51
WINAPI
52
SfcGetFiles
(
53
_Out_
PPROTECT_FILE_ENTRY
*ProtFileData,
54
_Out_
PULONG
FileCount
)
55
{
56
*ProtFileData =
ProtectedFiles
;
57
*
FileCount
=
ARRAYSIZE
(
ProtectedFiles
);
58
return
STATUS_SUCCESS
;
59
}
FileCount
PULONG FileCount
Definition:
SfcGetFiles.c:18
fdwReason
static DWORD const fdwReason
Definition:
appcrt_dllmain.cpp:57
NTSTATUS
LONG NTSTATUS
Definition:
precomp.h:26
NULL
#define NULL
Definition:
types.h:112
TRUE
#define TRUE
Definition:
types.h:120
ARRAYSIZE
#define ARRAYSIZE(array)
Definition:
filtermapper.c:47
DLL_PROCESS_ATTACH
#define DLL_PROCESS_ATTACH
Definition:
compat.h:131
DLL_PROCESS_DETACH
#define DLL_PROCESS_DETACH
Definition:
compat.h:130
DisableThreadLibraryCalls
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition:
loader.c:85
L
#define L(x)
Definition:
resources.c:13
BOOL
unsigned int BOOL
Definition:
ntddk_ex.h:94
DWORD
unsigned long DWORD
Definition:
ntddk_ex.h:95
void
Definition:
nsiface.idl:2307
lpvReserved
static IN DWORD IN LPVOID lpvReserved
Definition:
load_notifications.c:17
_Out_
#define _Out_
Definition:
no_sal2.h:160
_In_
#define _In_
Definition:
no_sal2.h:158
ProtectedFiles
static PROTECT_FILE_ENTRY ProtectedFiles[]
Definition:
sfcfiles.c:18
SfcGetFiles
NTSTATUS WINAPI SfcGetFiles(_Out_ PPROTECT_FILE_ENTRY *ProtFileData, _Out_ PULONG FileCount)
Definition:
sfcfiles.c:52
DllMain
BOOL WINAPI DllMain(_In_ HINSTANCE hInstDLL, _In_ DWORD fdwReason, _In_ LPVOID lpvReserved)
Definition:
sfcfiles.c:31
sfcfiles.h
STATUS_SUCCESS
#define STATUS_SUCCESS
Definition:
shellext.h:65
_PROTECT_FILE_ENTRY
Definition:
SfcGetFiles.c:12
PULONG
uint32_t * PULONG
Definition:
typedefs.h:59
umtypes.h
winbase.h
windef.h
WINAPI
#define WINAPI
Definition:
msvc.h:6
dll
win32
sfcfiles
sfcfiles.c
Generated on Thu Dec 4 2025 06:05:14 for ReactOS by
1.9.6