107{
111
112
113
114
115
116#define LdrpAssertDllNotificationDataMember(x)\
117 C_ASSERT(FIELD_OFFSET(LDR_DLL_NOTIFICATION_DATA, Loaded.x) ==\
118 FIELD_OFFSET(LDR_DLL_NOTIFICATION_DATA, Unloaded.x))
119
126
127#undef LdrpAssertDllNotificationDataMember
128
134
135
138 {
139 for (
Entry = LdrpDllNotificationList.Flink;
140 Entry != &LdrpDllNotificationList;
142 {
147 }
148 }
150 {
152 }
154}
#define LdrpAssertDllNotificationDataMember(x)
static RTL_CRITICAL_SECTION LdrpDllNotificationLock
NTSYSAPI NTSTATUS NTAPI RtlEnterCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
NTSYSAPI NTSTATUS NTAPI RtlLeaveCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
base of all file and directory entries
#define CONTAINING_RECORD(address, type, field)
_In_ PCWDF_DEVICE_PNP_NOTIFICATION_DATA NotificationData
_Must_inspect_result_ _In_ WDFCMRESLIST List
_Must_inspect_result_ _In_ ULONG Flags
_In_ ULONG _In_opt_ PVOID _In_ PDRIVER_OBJECT _In_ PDRIVER_NOTIFICATION_CALLBACK_ROUTINE _Inout_opt_ __drv_aliasesMem PVOID _Outptr_result_nullonfailure_ _At_ * NotificationEntry(return==0, __drv_allocatesMem(Mem))) PVOID *NotificationEntry