16 #undef ExInterlockedAddUlong 17 #undef ExInterlockedInsertHeadList 18 #undef ExInterlockedInsertTailList 19 #undef ExInterlockedRemoveHeadList 20 #undef ExInterlockedPopEntryList 21 #undef ExInterlockedPushEntryList 22 #undef ExInterlockedIncrementLong 23 #undef ExInterlockedDecrementLong 24 #undef ExInterlockedExchangeUlong 25 #undef ExInterlockedCompareExchange64 126 FirstEntry = ListHead->
Flink;
135 return (FirstEntry == ListHead) ?
NULL : FirstEntry;
152 LastEntry = ListHead->
Blink;
161 return (LastEntry == ListHead) ?
NULL : LastEntry;
239 OldListEntry = ListHead->
Next;
293 ExfInterlockedAddUlong(
319 ExfInterlockedInsertHeadList(
331 FirstEntry = ListHead->
Flink;
340 return (FirstEntry == ListHead) ?
NULL : FirstEntry;
345 ExfInterlockedInsertTailList(
357 LastEntry = ListHead->
Blink;
366 return (LastEntry == ListHead) ?
NULL : LastEntry;
372 ExfInterlockedRemoveHeadList(
407 ExfInterlockedPopEntryList(
433 ExfInterlockedPushEntryList(
445 OldListEntry = ListHead->
Next;
472 Exfi386InterlockedIncrementLong(
498 Exfi386InterlockedDecrementLong(
520 Exfi386InterlockedExchangeUlong(
540 ExfInterlockedCompareExchange64(
enum _INTERLOCKED_RESULT INTERLOCKED_RESULT
struct _LIST_ENTRY * PLIST_ENTRY
_In_opt_ ULONG _Out_ PULONG Value
__int64 _InterlockedCompareExchange64(_Interlocked_operand_ __int64 volatile *_Destination, __int64 _Exchange, __int64 _Comparand)
FORCEINLINE VOID KxReleaseSpinLock(IN PKSPIN_LOCK SpinLock)
struct _LIST_ENTRY * Blink
FORCEINLINE VOID InsertHeadList(_Inout_ PLIST_ENTRY ListHead, _Inout_ __drv_aliasesMem PLIST_ENTRY Entry)
long __cdecl _InterlockedExchange(_Interlocked_operand_ long volatile *_Target, long _Value)
PLIST_ENTRY NTAPI ExInterlockedInsertTailList(IN OUT PLIST_ENTRY ListHead, IN OUT PLIST_ENTRY ListEntry, IN OUT PKSPIN_LOCK Lock)
PSINGLE_LIST_ENTRY NTAPI ExInterlockedPushEntryList(IN OUT PSINGLE_LIST_ENTRY ListHead, IN OUT PSINGLE_LIST_ENTRY ListEntry, IN OUT PKSPIN_LOCK Lock)
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
INTERLOCKED_RESULT NTAPI ExInterlockedIncrementLong(IN PLONG Addend, IN PKSPIN_LOCK Lock)
#define InsertTailList(ListHead, Entry)
FORCEINLINE BOOLEAN _ExiDisableInterruptsAndAcquireSpinlock(IN OUT PKSPIN_LOCK Lock)
NTKERNELAPI VOID FASTCALL ExInterlockedAddLargeStatistic(IN PLARGE_INTEGER Addend, IN ULONG Increment)
_Must_inspect_result_ FORCEINLINE BOOLEAN IsListEmpty(_In_ const LIST_ENTRY *ListHead)
FORCEINLINE VOID PushEntryList(_Inout_ PSINGLE_LIST_ENTRY ListHead, _Inout_ __drv_aliasesMem PSINGLE_LIST_ENTRY Entry)
__GNU_EXTENSION typedef __int64 * PLONGLONG
NTKERNELAPI LONGLONG FASTCALL ExInterlockedCompareExchange64(IN OUT PLONGLONG Destination, IN PLONGLONG Exchange, IN PLONGLONG Comparand, IN PKSPIN_LOCK Lock)
PLIST_ENTRY NTAPI ExInterlockedInsertHeadList(IN OUT PLIST_ENTRY ListHead, IN OUT PLIST_ENTRY ListEntry, IN OUT PKSPIN_LOCK Lock)
long __cdecl _InterlockedIncrement(_Interlocked_operand_ long volatile *_Addend)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
PLIST_ENTRY NTAPI ExInterlockedRemoveHeadList(IN OUT PLIST_ENTRY ListHead, IN OUT PKSPIN_LOCK Lock)
long __cdecl _InterlockedDecrement(_Interlocked_operand_ long volatile *_Addend)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
FORCEINLINE PLIST_ENTRY RemoveHeadList(_Inout_ PLIST_ENTRY ListHead)
FORCEINLINE VOID KxAcquireSpinLock(IN PKSPIN_LOCK SpinLock)
FORCEINLINE BOOLEAN KeDisableInterrupts(VOID)
FORCEINLINE PSINGLE_LIST_ENTRY PopEntryList(_Inout_ PSINGLE_LIST_ENTRY ListHead)
struct _LIST_ENTRY * Flink
PSINGLE_LIST_ENTRY NTAPI ExInterlockedPopEntryList(IN OUT PSINGLE_LIST_ENTRY ListHead, IN OUT PKSPIN_LOCK Lock)
LONG NTAPI Exi386InterlockedExchangeUlong(PLONG Target, LONG Exch, LONG Compare)
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
_Must_inspect_result_ typedef _In_ ULONG _In_ BOOLEAN Target
struct _SINGLE_LIST_ENTRY * Next
LONG NTAPI Exi386InterlockedDecrementLong(PLONG Addend)
FORCEINLINE VOID _ExiReleaseSpinLockAndRestoreInterrupts(IN OUT PKSPIN_LOCK Lock, BOOLEAN Enable)
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
INTERLOCKED_RESULT NTAPI ExInterlockedDecrementLong(IN PLONG Addend, IN PKSPIN_LOCK Lock)
LONG NTAPI Exi386InterlockedIncrementLong(PLONG Addend)
struct _SINGLE_LIST_ENTRY * PSINGLE_LIST_ENTRY
FORCEINLINE VOID KeRestoreInterrupts(BOOLEAN WereEnabled)
LARGE_INTEGER NTAPI ExInterlockedAddLargeInteger(IN OUT PLARGE_INTEGER Addend, IN LARGE_INTEGER Increment, IN OUT PKSPIN_LOCK Lock)
ULONG NTAPI ExInterlockedAddUlong(IN OUT PULONG Addend, IN ULONG Increment, IN OUT PKSPIN_LOCK Lock)
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG Increment
ULONG NTAPI ExInterlockedExchangeUlong(IN PULONG Target, IN ULONG Value, IN PKSPIN_LOCK Lock)