ReactOS
0.4.16-dev-477-g6ada597
fxrelateddevicelist.hpp
Go to the documentation of this file.
1
//
2
// Copyright (C) Microsoft. All rights reserved.
3
//
4
#ifndef _FXRELATEDDEVICELIST_H_
5
#define _FXRELATEDDEVICELIST_H_
6
7
class
FxRelatedDeviceList
:
protected
FxSpinLockTransactionedList
{
8
public
:
9
FxRelatedDeviceList
(
10
VOID
11
)
12
{
13
m_DeleteOnRemove
=
TRUE
;
14
m_NeedReportMissing
= 0;
15
}
16
17
VOID
18
LockForEnum
(
19
__in
PFX_DRIVER_GLOBALS
FxDriverGlobals
20
)
21
{
22
FxSpinLockTransactionedList::LockForEnum
(FxDriverGlobals);
// __super call
23
}
24
25
VOID
26
UnlockFromEnum
(
27
__in
PFX_DRIVER_GLOBALS
FxDriverGlobals
28
)
29
{
30
FxSpinLockTransactionedList::UnlockFromEnum
(FxDriverGlobals);
// __super call
31
}
32
33
_Must_inspect_result_
34
NTSTATUS
35
Add
(
36
__in
PFX_DRIVER_GLOBALS
Globals
,
37
__inout
FxRelatedDevice
*
Entry
38
);
39
40
VOID
41
Remove
(
42
__in
PFX_DRIVER_GLOBALS
Globals
,
43
__in
MdDeviceObject
Device
44
);
45
46
_Must_inspect_result_
47
FxRelatedDevice
*
48
GetNextEntry
(
49
__in_opt
FxRelatedDevice
*
Entry
50
);
51
52
UCHAR
53
IncrementRetries
(
54
VOID
55
)
56
{
57
m_Retries
++;
58
return
m_Retries
;
59
}
60
61
VOID
62
ZeroRetries
(
63
VOID
64
)
65
{
66
m_Retries
= 0;
67
}
68
69
_Must_inspect_result_
70
PVOID
71
operator
new
(
72
__in
size_t
Size
,
73
__in
PFX_DRIVER_GLOBALS
FxDriverGlobals
74
)
75
{
76
return
FxPoolAllocate(FxDriverGlobals,
NonPagedPool
,
Size
);
77
}
78
79
VOID
80
operator
delete
(
81
__in
PVOID
pointer
82
)
83
{
84
FxPoolFree
(
pointer
);
85
}
86
87
protected
:
88
virtual
89
_Must_inspect_result_
90
NTSTATUS
91
ProcessAdd
(
92
__in
FxTransactionedEntry
*
Entry
93
);
94
95
virtual
96
BOOLEAN
97
Compare
(
98
__in
FxTransactionedEntry
*
Entry
,
99
__in
PVOID
Data
100
);
101
102
virtual
103
VOID
104
EntryRemoved
(
105
__in
FxTransactionedEntry
*
Entry
106
);
107
108
public
:
109
ULONG
m_NeedReportMissing
;
110
};
111
112
#endif
// _FXRELATEDDEVICELIST_H_
BOOLEAN
unsigned char BOOLEAN
Definition:
ProcessorBind.h:185
NTSTATUS
LONG NTSTATUS
Definition:
precomp.h:26
FxRelatedDeviceList
Definition:
fxrelateddevicelist.hpp:7
FxRelatedDeviceList::UnlockFromEnum
VOID UnlockFromEnum(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
Definition:
fxrelateddevicelist.hpp:26
FxRelatedDeviceList::Add
_Must_inspect_result_ NTSTATUS Add(__in PFX_DRIVER_GLOBALS Globals, __inout FxRelatedDevice *Entry)
Definition:
fxrelateddevicelist.cpp:29
FxRelatedDeviceList::IncrementRetries
UCHAR IncrementRetries(VOID)
Definition:
fxrelateddevicelist.hpp:53
FxRelatedDeviceList::LockForEnum
VOID LockForEnum(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
Definition:
fxrelateddevicelist.hpp:18
FxRelatedDeviceList::FxRelatedDeviceList
FxRelatedDeviceList(VOID)
Definition:
fxrelateddevicelist.hpp:9
FxRelatedDeviceList::Compare
virtual BOOLEAN Compare(__in FxTransactionedEntry *Entry, __in PVOID Data)
Definition:
fxrelateddevicelist.cpp:126
FxRelatedDeviceList::GetNextEntry
_Must_inspect_result_ FxRelatedDevice * GetNextEntry(__in_opt FxRelatedDevice *Entry)
Definition:
fxrelateddevicelist.cpp:49
FxRelatedDeviceList::m_NeedReportMissing
ULONG m_NeedReportMissing
Definition:
fxrelateddevicelist.hpp:109
FxRelatedDeviceList::ZeroRetries
VOID ZeroRetries(VOID)
Definition:
fxrelateddevicelist.hpp:62
FxRelatedDeviceList::ProcessAdd
virtual _Must_inspect_result_ NTSTATUS ProcessAdd(__in FxTransactionedEntry *Entry)
Definition:
fxrelateddevicelist.cpp:74
FxRelatedDeviceList::EntryRemoved
virtual VOID EntryRemoved(__in FxTransactionedEntry *Entry)
Definition:
fxrelateddevicelist.cpp:139
FxRelatedDevice
Definition:
fxrelateddevice.hpp:36
FxSpinLockTransactionedList
Definition:
fxtransactionedlist.hpp:237
FxTransactionedList::UnlockFromEnum
VOID UnlockFromEnum(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
Definition:
fxtransactionedlist.cpp:129
FxTransactionedList::m_Retries
UCHAR m_Retries
Definition:
fxtransactionedlist.hpp:233
FxTransactionedList::LockForEnum
VOID LockForEnum(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
Definition:
fxtransactionedlist.cpp:117
FxTransactionedList::m_DeleteOnRemove
BOOLEAN m_DeleteOnRemove
Definition:
fxtransactionedlist.hpp:224
Globals
CLIPBOARD_GLOBALS Globals
Definition:
clipbrd.c:13
__in
#define __in
Definition:
dbghelp.h:35
__inout
#define __inout
Definition:
dbghelp.h:50
__in_opt
#define __in_opt
Definition:
dbghelp.h:38
TRUE
#define TRUE
Definition:
types.h:120
NonPagedPool
#define NonPagedPool
Definition:
env_spec_w32.h:307
FxPoolFree
void FxPoolFree(__in_xcount(ptr is at an offset from AllocationStart) PVOID ptr)
Definition:
wdfpool.cpp:361
pointer
GLsizei const GLvoid * pointer
Definition:
glext.h:5848
void
Definition:
nsiface.idl:2307
_Must_inspect_result_
#define _Must_inspect_result_
Definition:
no_sal2.h:62
Data
Definition:
sort_test.cpp:77
Entry
base of all file and directory entries
Definition:
entries.h:83
FxTransactionedEntry
Definition:
fxtransactionedlist.hpp:34
_DEVICE_OBJECT
Definition:
env_spec_w32.h:413
_FX_DRIVER_GLOBALS
Definition:
fxglobals.h:165
ULONG
uint32_t ULONG
Definition:
typedefs.h:59
Device
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition:
wdfchildlist.h:474
Size
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition:
wdfdevice.h:4533
Remove
_In_ BOOLEAN Remove
Definition:
psfuncs.h:110
UCHAR
unsigned char UCHAR
Definition:
xmlstorage.h:181
sdk
lib
drivers
wdf
shared
inc
private
common
fxrelateddevicelist.hpp
Generated on Thu Jan 16 2025 06:13:44 for ReactOS by
1.9.6