ReactOS  r74244
exfuncs.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ExInterlockedIncrementLong(Addend, Lock)   Exfi386InterlockedIncrementLong(Addend)
 
#define ExInterlockedDecrementLong(Addend, Lock)   Exfi386InterlockedDecrementLong(Addend)
 
#define ExInterlockedExchangeUlong(Target, Value, Lock)   Exfi386InterlockedExchangeUlong(Target, Value)
 
#define ExAcquireSpinLock(Lock, OldIrql)   KeAcquireSpinLock((Lock), (OldIrql))
 
#define ExReleaseSpinLock(Lock, OldIrql)   KeReleaseSpinLock((Lock), (OldIrql))
 
#define ExAcquireSpinLockAtDpcLevel(Lock)   KeAcquireSpinLockAtDpcLevel(Lock)
 
#define ExReleaseSpinLockFromDpcLevel(Lock)   KeReleaseSpinLockFromDpcLevel(Lock)
 
#define ExInitializeSListHead   InitializeSListHead
 
#define ExInterlockedPushEntrySList(SListHead, SListEntry, Lock)   ExpInterlockedPushEntrySList(SListHead, SListEntry)
 
#define ExInterlockedPopEntrySList(SListHead, Lock)   ExpInterlockedPopEntrySList(SListHead)
 
#define ExInterlockedFlushSList(SListHead)   ExpInterlockedFlushSList(SListHead)
 
#define ExGetCurrentResourceThread()   ((ULONG_PTR)PsGetCurrentThread())
 
#define ExReleaseResource(R)   (ExReleaseResourceLite(R))
 
#define ExInitializeWorkItem(Item, Routine, Context)
 
#define ExInterlockedAllocateFromZone(Zone, Lock)   ((PVOID) ExInterlockedPopEntryList(&Zone->FreeList, Lock))
 
#define ExInterlockedFreeToZone(Zone, Block, Lock)   ExInterlockedPushEntryList(&(Zone)->FreeList, (PSINGLE_LIST_ENTRY)(Block), Lock)
 
#define ExIsFullZone(Zone)   ((Zone)->FreeList.Next == (PSINGLE_LIST_ENTRY) NULL)
 
#define ExIsObjectInFirstZoneSegment(Zone, Object)
 
#define ExAcquireResourceExclusive   ExAcquireResourceExclusiveLite
 
#define ExAcquireResourceShared   ExAcquireResourceSharedLite
 
#define ExConvertExclusiveToShared   ExConvertExclusiveToSharedLite
 
#define ExDeleteResource   ExDeleteResourceLite
 
#define ExInitializeResource   ExInitializeResourceLite
 
#define ExIsResourceAcquiredExclusive   ExIsResourceAcquiredExclusiveLite
 
#define ExIsResourceAcquiredShared   ExIsResourceAcquiredSharedLite
 
#define ExIsResourceAcquired   ExIsResourceAcquiredSharedLite
 
#define ExReleaseResourceForThread   ExReleaseResourceForThreadLite
 
#define RESULT_ZERO   0
 
#define RESULT_NEGATIVE   1
 
#define RESULT_POSITIVE   2
 
#define ExDisableResourceBoost   ExDisableResourceBoostLite
 
#define ExAllocatePoolWithQuotaTag(a, b, c)   ExAllocatePoolWithQuota(a,b)
 
#define ExAllocatePoolWithTag(a, b, c)   ExAllocatePool(a,b)
 
#define ExInterlockedAddLargeStatistic(Addend, Increment)   (VOID)InterlockedAdd64(&(Addend)->QuadPart, Increment)
 
#define ExInterlockedCompareExchange64(Destination, Exchange, Comperand, Lock)   InterlockedCompareExchange64(Destination, *(Exchange), *(Comperand))
 
#define ExIsResourceAcquiredLite   ExIsResourceAcquiredSharedLite
 
#define FLAG_OWNER_POINTER_IS_THREAD   0x1
 

Typedefs

typedef enum _INTERLOCKED_RESULT INTERLOCKED_RESULT
 

Enumerations

enum  _INTERLOCKED_RESULT { ResultNegative = RESULT_NEGATIVE, ResultZero = RESULT_ZERO, ResultPositive = RESULT_POSITIVE }
 

Functions

 $if (_WDMDDK_) _IRQL_raises_(APC_LEVEL) _IRQL_saves_global_(OldIrql
 
FastMutex NTKERNELAPI VOID FASTCALL ExAcquireFastMutex (_Inout_ _Requires_lock_not_held_(*_Curr_) _Acquires_lock_(*_Curr_) PFAST_MUTEX FastMutex)
 
 _IRQL_requires_ (APC_LEVEL) _IRQL_restores_global_(OldIrql
 
FastMutex NTKERNELAPI VOID FASTCALL ExReleaseFastMutex (_Inout_ _Requires_lock_held_(*_Curr_) _Releases_lock_(*_Curr_) PFAST_MUTEX FastMutex)
 
_Must_inspect_result_ _Success_ (return!=FALSE) _IRQL_raises_(APC_LEVEL) _IRQL_saves_global_(OldIrql
 
_Must_inspect_result_
FastMutex NTKERNELAPI BOOLEAN
FASTCALL 
ExTryToAcquireFastMutex (_Inout_ _Requires_lock_not_held_(*_Curr_) _Acquires_lock_(*_Curr_) PFAST_MUTEX FastMutex)
 
NTKERNELAPI PSLIST_ENTRY ExpInterlockedPushEntrySList (_Inout_ PSLIST_HEADER SListHead, _Inout_ __drv_aliasesMem PSLIST_ENTRY SListEntry)
 
NTKERNELAPI PSLIST_ENTRY ExpInterlockedPopEntrySList (_Inout_ PSLIST_HEADER SListHead)
 
NTKERNELAPI PSLIST_ENTRY ExpInterlockedFlushSList (_Inout_ PSLIST_HEADER SListHead)
 
FORCEINLINE USHORT ExQueryDepthSList (_In_ PSLIST_HEADER SListHead)
 
 _IRQL_requires_max_ (APC_LEVEL) static __inline PVOID ExAllocateFromPagedLookasideList(_Inout_ PPAGED_LOOKASIDE_LIST Lookaside)
 
 if (ExQueryDepthSList(&Lookaside->L.ListHead) >=Lookaside->L.Depth)
 
FORCEINLINE VOID ExInitializeFastMutex (_Out_ PFAST_MUTEX FastMutex)
 
 $endif (_WDMDDK_) $if(_NTDDK_) static __inline PVOID ExAllocateFromZone(IN PZONE_HEADER Zone)
 
static __inline PVOID ExFreeToZone (IN PZONE_HEADER Zone, IN PVOID Block)
 
 $endif (_NTDDK_) $if(_NTIFS_) VOID NTAPI ExInitializePushLock(_Out_ PEX_PUSH_LOCK PushLock)
 
 $endif (_NTIFS_) $if(_WDMDDK_) _IRQL_requires_max_(APC_LEVEL) _Requires_lock_held_(_Global_critical_region_) NTKERNELAPI VOID FASTCALL ExAcquireFastMutexUnsafe(_Inout_ _Requires_lock_not_held_(*_Curr_) _Acquires_lock_(*_Curr_) PFAST_MUTEX FastMutex)
 
 _Requires_lock_held_ (_Global_critical_region_) _Requires_lock_not_held_(*Resource) _When_(Wait!=0
 
_Acquires_exclusive_lock_ Resource _Post_satisfies_ (return==1)) _When_(Wait
 
 __drv_preferredFunction ("ExAllocatePoolWithTag","No tag interferes with debugging.") __drv_allocatesMem(Mem) _When_((PoolType &PagedPool)!=0
 
 _IRQL_requires_max_ (DISPATCH_LEVEL)) _When_((PoolType &NonPagedPoolMustSucceed)!=0
 
 __drv_reportError ("Must succeed pool allocations are forbidden. ""Allocation failures cause a system crash")) _When_((PoolType &(NonPagedPoolMustSucceed|POOL_RAISE_IF_ALLOCATION_FAILURE)) == 0
 
_Post_maybenull_
_Must_inspect_result_ 
_When_ ((PoolType &(NonPagedPoolMustSucceed|POOL_RAISE_IF_ALLOCATION_FAILURE))!=0, _Post_notnull_) _Post_writable_byte_size_(NumberOfBytes) NTKERNELAPI PVOID NTAPI ExAllocatePool(__drv_strictTypeMatch(__drv_typeExpr) _In_ POOL_TYPE PoolType
 
 __drv_preferredFunction ("ExAllocatePoolWithQuotaTag","No tag interferes with debugging.") __drv_allocatesMem(Mem) _When_((PoolType &PagedPool)!=0
 
_Post_maybenull_
_Must_inspect_result_ 
_When_ ((PoolType &POOL_QUOTA_FAIL_INSTEAD_OF_RAISE)==0, _Post_notnull_) _Post_writable_byte_size_(NumberOfBytes) NTKERNELAPI PVOID NTAPI ExAllocatePoolWithQuota(__drv_strictTypeMatch(__drv_typeExpr) _In_ POOL_TYPE PoolType
 
 __drv_allocatesMem (Mem) _When_((PoolType &PagedPool)!=0
 
_Post_maybenull_
_Must_inspect_result_ _In_
SIZE_T _In_ ULONG _In_ 
__drv_strictTypeMatch (__drv_typeExpr) EX_POOL_PRIORITY Priority)
 
NTKERNELAPI VOID NTAPI ExDeleteNPagedLookasideList (_Inout_ PNPAGED_LOOKASIDE_LIST Lookaside)
 
NTKERNELAPI LARGE_INTEGER NTAPI ExInterlockedAddLargeInteger (_Inout_ PLARGE_INTEGER Addend, _In_ LARGE_INTEGER Increment, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
 
NTKERNELAPI ULONG FASTCALL ExInterlockedAddUlong (_Inout_ PULONG Addend, _In_ ULONG Increment, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
 
NTKERNELAPI PLIST_ENTRY FASTCALL ExInterlockedInsertHeadList (_Inout_ PLIST_ENTRY ListHead, _Inout_ __drv_aliasesMem PLIST_ENTRY ListEntry, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
 
NTKERNELAPI PLIST_ENTRY FASTCALL ExInterlockedInsertTailList (_Inout_ PLIST_ENTRY ListHead, _Inout_ __drv_aliasesMem PLIST_ENTRY ListEntry, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
 
NTKERNELAPI PSINGLE_LIST_ENTRY
FASTCALL 
ExInterlockedPopEntryList (_Inout_ PSINGLE_LIST_ENTRY ListHead, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
 
NTKERNELAPI PSINGLE_LIST_ENTRY
FASTCALL 
ExInterlockedPushEntryList (_Inout_ PSINGLE_LIST_ENTRY ListHead, _Inout_ __drv_aliasesMem PSINGLE_LIST_ENTRY ListEntry, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
 
NTKERNELAPI PLIST_ENTRY FASTCALL ExInterlockedRemoveHeadList (_Inout_ PLIST_ENTRY ListHead, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
 
 _IRQL_requires_max_ (PASSIVE_LEVEL) NTKERNELAPI BOOLEAN NTAPI ExIsProcessorFeaturePresent(_In_ ULONG ProcessorFeature)
 
NTKERNELAPI VOID NTAPI ExLocalTimeToSystemTime (_In_ PLARGE_INTEGER LocalTime, _Out_ PLARGE_INTEGER SystemTime)
 
NTKERNELAPI VOID NTAPI ExSystemTimeToLocalTime (_In_ PLARGE_INTEGER SystemTime, _Out_ PLARGE_INTEGER LocalTime)
 
NTKERNELAPI NTSTATUS NTAPI ExInitializeZone (_Out_ PZONE_HEADER Zone, _In_ ULONG BlockSize, _Inout_ PVOID InitialSegment, _In_ ULONG InitialSegmentSize)
 
NTKERNELAPI VOID FASTCALL ExInitializeRundownProtection (_Out_ PEX_RUNDOWN_REF RunRef)
 
NTKERNELAPI VOID FASTCALL ExReInitializeRundownProtection (_Inout_ PEX_RUNDOWN_REF RunRef)
 
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtection (_Inout_ PEX_RUNDOWN_REF RunRef)
 
NTKERNELAPI VOID FASTCALL ExRundownCompleted (_Out_ PEX_RUNDOWN_REF RunRef)
 
NTKERNELAPI BOOLEAN NTAPI ExVerifySuite (__drv_strictTypeMatch(__drv_typeExpr) _In_ SUITE_TYPE SuiteType)
 
NTKERNELAPI VOID FASTCALL ExWaitForRundownProtectionRelease (_Inout_ PEX_RUNDOWN_REF RunRef)
 
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtectionEx (_Inout_ PEX_RUNDOWN_REF RunRef, _In_ ULONG Count)
 
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtectionCacheAware (_Inout_ PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware)
 
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtectionCacheAwareEx (_Inout_ PEX_RUNDOWN_REF_CACHE_AWARE RunRef, _In_ ULONG Count)
 
NTKERNELAPI VOID FASTCALL ExWaitForRundownProtectionReleaseCacheAware (IN OUT PEX_RUNDOWN_REF_CACHE_AWARE RunRef)
 
NTKERNELAPI VOID FASTCALL ExReInitializeRundownProtectionCacheAware (_Inout_ PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware)
 
NTKERNELAPI VOID FASTCALL ExRundownCompletedCacheAware (_Inout_ PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware)
 
_In_ __drv_freesMem (Entry) PVOID Entry)
 
_In_ __drv_freesMem (Mem) PVOID Entry)
 

Variables

_In_ PVOID Entry
 
 else
 
_Acquires_exclusive_lock_
Resource _In_ _Literal_
BOOLEAN 
Wait
 
_Acquires_shared_lock_ _Curr_
PERESOURCE 
Resource
 
_Post_maybenull_
_Must_inspect_result_ _In_
SIZE_T 
NumberOfBytes
 
_Post_maybenull_
_Must_inspect_result_ _In_
SIZE_T _In_ ULONG 
Tag
 
_In_ POBJECT_ATTRIBUTES ObjectAttributes
 
_In_ POBJECT_ATTRIBUTES _In_
BOOLEAN 
Create
 
_In_ POBJECT_ATTRIBUTES _In_
BOOLEAN _In_ BOOLEAN 
AllowMultipleCallbacks
 
_In_opt_ PALLOCATE_FUNCTION Allocate
 
_In_opt_ PALLOCATE_FUNCTION
_In_opt_ PFREE_FUNCTION 
Free
 
_In_opt_ PALLOCATE_FUNCTION
_In_opt_ PFREE_FUNCTION _In_
ULONG 
Flags
 
_In_opt_ PALLOCATE_FUNCTION
_In_opt_ PFREE_FUNCTION _In_
ULONG _In_ SIZE_T 
Size
 
_In_opt_ PALLOCATE_FUNCTION
_In_opt_ PFREE_FUNCTION _In_
ULONG _In_ SIZE_T _In_ ULONG
_In_ USHORT 
Depth
 
_In_opt_ PVOID Argument1
 
_In_opt_ PVOID _In_opt_ PVOID Argument2
 
_In_ PCALLBACK_FUNCTION CallbackFunction
 
_In_ PCALLBACK_FUNCTION
_In_opt_ PVOID 
CallbackContext
 
_In_ ERESOURCE_THREAD ResourceThreadId
 
_In_ PVOID OwnerPointer
 
_In_ BOOLEAN SetResolution
 
_Inout_ PVOID Segment
 
_Inout_ PVOID _In_ ULONG SegmentSize
 
_Inout_ PVOID _In_ ULONG
_Inout_
_Requires_lock_not_held_
_Curr_ PKSPIN_LOCK 
Lock
 
_Out_ PBOOLEAN QuotaCharged
 
_Inout_ __drv_aliasesMem
PSLIST_ENTRY 
List
 
_Inout_ __drv_aliasesMem
PSLIST_ENTRY _Inout_
PSLIST_ENTRY 
ListEnd
 
_Inout_ __drv_aliasesMem
PSLIST_ENTRY _Inout_
PSLIST_ENTRY _In_ ULONG 
Count
 
_Must_inspect_result_ _In_ ULONG PoolTag
 
_In_ SIZE_T RunRefSize
 
_In_opt_ PALLOCATE_FUNCTION_EX
_In_opt_ PFREE_FUNCTION_EX
_In_ POOL_TYPE 
PoolType
 

Macro Definition Documentation

#define ExAcquireResourceExclusive   ExAcquireResourceExclusiveLite

Definition at line 342 of file exfuncs.h.

#define ExAcquireResourceShared   ExAcquireResourceSharedLite

Definition at line 343 of file exfuncs.h.

Referenced by FsRtlMdlReadDev().

#define ExAcquireSpinLock (   Lock,
  OldIrql 
)    KeAcquireSpinLock((Lock), (OldIrql))

Referenced by ExpInsertPoolTracker().

#define ExAcquireSpinLockAtDpcLevel (   Lock)    KeAcquireSpinLockAtDpcLevel(Lock)
#define ExAllocatePoolWithQuotaTag (   a,
  b,
  c 
)    ExAllocatePoolWithQuota(a,b)

Definition at line 530 of file exfuncs.h.

#define ExAllocatePoolWithTag (   a,
  b,
  c 
)    ExAllocatePool(a,b)

Definition at line 554 of file exfuncs.h.

#define ExConvertExclusiveToShared   ExConvertExclusiveToSharedLite

Definition at line 344 of file exfuncs.h.

Referenced by Ext2ReadFile().

#define ExDeleteResource   ExDeleteResourceLite

Definition at line 345 of file exfuncs.h.

Referenced by PspDeleteJob().

#define ExDisableResourceBoost   ExDisableResourceBoostLite
#define ExGetCurrentResourceThread ( )    ((ULONG_PTR)PsGetCurrentThread())

Definition at line 255 of file exfuncs.h.

#define ExInitializeWorkItem (   Item,
  Routine,
  Context 
)
Value:
{ \
(Item)->WorkerRoutine = Routine; \
(Item)->Parameter = Context; \
(Item)->List.Flink = NULL; \
}
_Must_inspect_result_ _In_ PFLT_CALLBACK_DATA _In_ PFLT_DEFERRED_IO_WORKITEM_ROUTINE WorkerRoutine
Definition: fltkernel.h:1977
_In_ PVOID Parameter
Definition: ldrtypes.h:239
smooth NULL
Definition: ftsmooth.c:464
_Inout_ __drv_aliasesMem PSLIST_ENTRY List
Definition: exfuncs.h:1015

Definition at line 265 of file exfuncs.h.

Referenced by add_thread_job(), CcpDereferenceCache(), CcScheduleReadAhead(), CdAddToWorkque(), CdfsQueueRequest(), CmpCmdInit(), CmpInitDelayDerefKCBEngine(), CmpInitializeDelayedCloseTable(), CompBattAddNewBattery(), CTEInitEvent(), DiskInitializeReregistration(), DriverEntry(), ExpWorkerThreadBalanceManager(), Ext2QueueCloseRequest(), Ext2QueueRequest(), Ext2StartFloppyFlushDpc(), FatQueueRequest(), FFSFloppyFlushDpc(), FFSQueueCloseRequest(), FFSQueueRequest(), FltpFastIoDetachDevice(), ForwardedIoCompletionRoutine(), FsRtlpPostStackOverflow(), HalAllocateAdapterChannel(), InitCapturePin(), IoAllocateWorkItem(), IoInvalidateDeviceRelations(), IopLoadUnloadDriver(), IopLogDpcRoutine(), IoReportTargetDeviceChangeAsynchronous(), IoWriteErrorLogEntry(), KdInitSystem(), KsCreateBusEnumObject(), KsInstallBusEnumInterface(), KspCreateFilter(), KspCreatePin(), KsRegisterWorker(), KsRemoveBusEnumInterface(), MmNotPresentFaultCacheSectionInner(), MmpSectionAccessFaultInner(), NdisScheduleWorkItem(), NtfsQueueRequest(), NtSetSystemPowerState(), ObInitSystem(), PostOnlineNotification(), PspInitPhase0(), RfsdFloppyFlushDpc(), RfsdQueueCloseRequest(), RfsdQueueRequest(), StatusChangeEndpointCompletion(), UDFPostRequest(), UDFStartEjectWaiter(), UDFVVerify(), USBHI_RootHubInitNotification(), USBSTOR_QueueWorkItem(), USBSTOR_TimerRoutine(), and VfatQueueRequest().

#define ExInterlockedAddLargeStatistic (   Addend,
  Increment 
)    (VOID)InterlockedAdd64(&(Addend)->QuadPart, Increment)

Definition at line 692 of file exfuncs.h.

#define ExInterlockedAllocateFromZone (   Zone,
  Lock 
)    ((PVOID) ExInterlockedPopEntryList(&Zone->FreeList, Lock))

Definition at line 312 of file exfuncs.h.

#define ExInterlockedCompareExchange64 (   Destination,
  Exchange,
  Comperand,
  Lock 
)    InterlockedCompareExchange64(Destination, *(Exchange), *(Comperand))

Definition at line 722 of file exfuncs.h.

#define ExInterlockedDecrementLong (   Addend,
  Lock 
)    Exfi386InterlockedDecrementLong(Addend)
#define ExInterlockedExchangeUlong (   Target,
  Value,
  Lock 
)    Exfi386InterlockedExchangeUlong(Target, Value)
#define ExInterlockedFlushSList (   SListHead)    ExpInterlockedFlushSList(SListHead)

Definition at line 169 of file exfuncs.h.

Referenced by CdRompFlushDelayedList().

#define ExInterlockedFreeToZone (   Zone,
  Block,
  Lock 
)    ExInterlockedPushEntryList(&(Zone)->FreeList, (PSINGLE_LIST_ENTRY)(Block), Lock)

Definition at line 321 of file exfuncs.h.

#define ExInterlockedIncrementLong (   Addend,
  Lock 
)    Exfi386InterlockedIncrementLong(Addend)
#define ExInterlockedPopEntrySList (   SListHead,
  Lock 
)    ExpInterlockedPopEntrySList(SListHead)

Definition at line 166 of file exfuncs.h.

#define ExInterlockedPushEntrySList (   SListHead,
  SListEntry,
  Lock 
)    ExpInterlockedPushEntrySList(SListHead, SListEntry)

Definition at line 163 of file exfuncs.h.

Referenced by __drv_freesMem().

#define ExIsFullZone (   Zone)    ((Zone)->FreeList.Next == (PSINGLE_LIST_ENTRY) NULL)

Definition at line 329 of file exfuncs.h.

Referenced by UDFAllocateCCB(), UDFAllocateIrpContext(), and UDFAllocateObjectName().

#define ExIsObjectInFirstZoneSegment (   Zone,
  Object 
)
Value:
((BOOLEAN)( ((PUCHAR)(Object) >= (PUCHAR)(Zone)->SegmentList.Next) && \
((PUCHAR)(Object) < (PUCHAR)(Zone)->SegmentList.Next + \
(Zone)->TotalSegmentSize)) )
unsigned char * PUCHAR
Definition: retypes.h:3
static IUnknown Object
Definition: main.c:512
#define BOOLEAN
Definition: pedump.c:73

Definition at line 337 of file exfuncs.h.

#define ExIsResourceAcquired   ExIsResourceAcquiredSharedLite

Definition at line 349 of file exfuncs.h.

#define ExIsResourceAcquiredExclusive   ExIsResourceAcquiredExclusiveLite

Definition at line 347 of file exfuncs.h.

Referenced by UDFCloseAllDelayed(), vfatGrabFCB(), and vfatReleaseFCB().

#define ExIsResourceAcquiredLite   ExIsResourceAcquiredSharedLite

Definition at line 786 of file exfuncs.h.

#define ExIsResourceAcquiredShared   ExIsResourceAcquiredSharedLite

Definition at line 348 of file exfuncs.h.

Referenced by CmpLockHiveFlusherExclusive(), CmpLockHiveFlusherShared(), and UDFReleaseVCB().

#define ExReleaseResource (   R)    (ExReleaseResourceLite(R))

Definition at line 257 of file exfuncs.h.

Referenced by AcquireResourceThread().

#define ExReleaseResourceForThread   ExReleaseResourceForThreadLite

Definition at line 350 of file exfuncs.h.

Referenced by Ext2ReadWriteBlockAsyncCompletionRoutine().

#define ExReleaseSpinLock (   Lock,
  OldIrql 
)    KeReleaseSpinLock((Lock), (OldIrql))

Referenced by ExpInsertPoolTracker().

#define ExReleaseSpinLockFromDpcLevel (   Lock)    KeReleaseSpinLockFromDpcLevel(Lock)
#define FLAG_OWNER_POINTER_IS_THREAD   0x1

Definition at line 1264 of file exfuncs.h.

#define RESULT_NEGATIVE   1

Definition at line 354 of file exfuncs.h.

#define RESULT_POSITIVE   2

Definition at line 355 of file exfuncs.h.

#define RESULT_ZERO   0

Definition at line 353 of file exfuncs.h.

Typedef Documentation

Enumeration Type Documentation

Enumerator
ResultNegative 
ResultZero 
ResultPositive 

Definition at line 358 of file exfuncs.h.

358  {
enum _INTERLOCKED_RESULT INTERLOCKED_RESULT
#define RESULT_NEGATIVE
Definition: exfuncs.h:354
#define RESULT_ZERO
Definition: exfuncs.h:353
#define RESULT_POSITIVE
Definition: exfuncs.h:355

Function Documentation

$endif ( _WDMDDK_  )

Definition at line 284 of file exfuncs.h.

289 {
290  PVOID Result = (PVOID)Zone->FreeList.Next;
291  if (Zone->FreeList.Next)
292  Zone->FreeList.Next = Zone->FreeList.Next->Next;
293  return Result;
294 }
DWORD *typedef PVOID
Definition: winlogon.h:52
if(ExQueryDepthSList(&Lookaside->L.ListHead) >=Lookaside->L.Depth)
Definition: exfuncs.h:239
_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
Definition: wsk.h:426
$endif ( _NTDDK_  )
Initial value:
== 1 || return == 0)
_When_(return!=0, _Acquires_lock_(*_Curr_))
#define _Requires_lock_not_held_(lock)
Definition: no_sal2.h:705
KSPIN_LOCK * PKSPIN_LOCK
Definition: env_spec_w32.h:73
#define FASTCALL
Definition: nt_native.h:50
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK SpinLock
Definition: iofuncs.h:798
_Post_maybenull_ _Must_inspect_result_ _When_((PoolType &(NonPagedPoolMustSucceed|POOL_RAISE_IF_ALLOCATION_FAILURE))!=0, _Post_notnull_) _Post_writable_byte_size_(NumberOfBytes) NTKERNELAPI PVOID NTAPI ExAllocatePool(__drv_strictTypeMatch(__drv_typeExpr) _In_ POOL_TYPE PoolType
#define _Acquires_lock_(lock)
Definition: no_sal2.h:677
#define NTKERNELAPI
unsigned char BOOLEAN
#define _Inout_
Definition: no_sal2.h:244
BOOLEAN FASTCALL KeTryToAcquireSpinLockAtDpcLevel(IN OUT PKSPIN_LOCK SpinLock)
Definition: spinlock.c:303

Definition at line 2487 of file iofuncs.h.

2495 {
2496  PriorityInfo->Size = sizeof(IO_PRIORITY_INFO);
2497  PriorityInfo->ThreadPriority = 0xffff;
2498  PriorityInfo->IoPriority = IoPriorityNormal;
2499  PriorityInfo->PagePriority = 0;
2500 }
struct _IO_PRIORITY_INFO IO_PRIORITY_INFO
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD _Inout_ PIO_PRIORITY_INFO PriorityInfo
Definition: fltkernel.h:2653
$endif ( _NTIFS_  )
Initial value:
== 0 || return == 1)
#define ExAcquireRundownProtection
Definition: ex.h:120
#define FASTCALL
Definition: nt_native.h:50
#define NTKERNELAPI
unsigned char BOOLEAN
#define _Inout_
Definition: no_sal2.h:244

Definition at line 2594 of file iofuncs.h.

2620 {
2621  ASSERT(Irp->CurrentLocation <= Irp->StackCount);
2622  Irp->CurrentLocation++;
2623 #ifdef NONAMELESSUNION
2624  Irp->Tail.Overlay.s.u.CurrentStackLocation++;
2625 #else
2626  Irp->Tail.Overlay.CurrentStackLocation++;
2627 #endif
2628 }
_In_ PIRP Irp
Definition: csq.h:116
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel)?(CompletionRoutine!=NULL):TRUE)
$if ( _WDMDDK_  )

Kernel definitions for AMD64

Kernel definitions for ARM

Definition at line 1 of file ke.h.

31 {
32  ULONG Dummy;
struct _KFLOATING_SAVE KFLOATING_SAVE
struct _KFLOATING_SAVE * PKFLOATING_SAVE
unsigned int ULONG
Definition: retypes.h:1
__drv_allocatesMem ( Mem  )
pure virtual

Definition at line 1197 of file exfuncs.h.

1204 {
1205  PVOID Entry;
1206 
1207  Lookaside->L.TotalAllocates += 1;
1208 #ifdef NONAMELESSUNION
1209  Entry = InterlockedPopEntrySList(&Lookaside->L.u.ListHead);
1210  if (Entry == NULL) {
1211  Lookaside->L.u2.AllocateMisses += 1;
1212  Entry = (Lookaside->L.u4.AllocateEx)(Lookaside->L.Type,
1213  Lookaside->L.Size,
1214  Lookaside->L.Tag,
1215  Lookaside);
1216  }
1217 #else /* NONAMELESSUNION */
1218  Entry = InterlockedPopEntrySList(&Lookaside->L.ListHead);
1219  if (Entry == NULL) {
1220  Lookaside->L.AllocateMisses += 1;
1221  Entry = (Lookaside->L.AllocateEx)(Lookaside->L.Type,
1222  Lookaside->L.Size,
1223  Lookaside->L.Tag,
1224  Lookaside);
1225  }
1226 #endif /* NONAMELESSUNION */
1227  return Entry;
1228 }
DWORD *typedef PVOID
Definition: winlogon.h:52
_In_ PVOID Entry
Definition: exfuncs.h:229
PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER ListHead)
Definition: interlocked.c:55
smooth NULL
Definition: ftsmooth.c:464
_Inout_ PVOID Lookaside
Definition: fltkernel.h:2532
_In_ __drv_freesMem ( Entry  )

Definition at line 1239 of file exfuncs.h.

1240 {
1241  Lookaside->L.TotalFrees += 1;
1242  if (ExQueryDepthSList(&Lookaside->L.ListHead) >= Lookaside->L.Depth) {
1243  Lookaside->L.FreeMisses += 1;
1244  (Lookaside->L.FreeEx)(Entry, Lookaside);
1245  } else {
1247  }
1248  return;
1249 }
_Inout_ PVOID Lookaside
Definition: fltkernel.h:2532
#define PSLIST_ENTRY
Definition: rtltypes.h:130
FORCEINLINE USHORT ExQueryDepthSList(_In_ PSLIST_HEADER SListHead)
Definition: exfuncs.h:153
NTKERNELAPI PSLIST_ENTRY FASTCALL InterlockedPushEntrySList(IN PSLIST_HEADER ListHead, IN PSLIST_ENTRY ListEntry)
Definition: interlocked.c:82
base of all file and directory entries
Definition: entries.h:82
_In_ __drv_freesMem ( Mem  )

Definition at line 1315 of file exfuncs.h.

1316 {
1317  Lookaside->L.TotalFrees++;
1318 #ifdef NONAMELESSUNION
1319  if (ExQueryDepthSList(&Lookaside->L.u.ListHead) >= Lookaside->L.Depth) {
1320  Lookaside->L.u3.FreeMisses++;
1321  (Lookaside->L.u5.Free)(Entry);
1322  } else {
1323 #if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)
1324  ExInterlockedPushEntrySList(&Lookaside->L.u.ListHead,
1326  &Lookaside->Lock__ObsoleteButDoNotDelete);
1327 #else
1329 #endif
1330  }
1331 #else /* NONAMELESSUNION */
1332  if (ExQueryDepthSList(&Lookaside->L.ListHead) >= Lookaside->L.Depth) {
1333  Lookaside->L.FreeMisses++;
1334  (Lookaside->L.Free)(Entry);
1335  } else {
1336 #if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)
1339  &Lookaside->Lock__ObsoleteButDoNotDelete);
1340 #else
1342 #endif
1343  }
1344 #endif /* NONAMELESSUNION */
1345 }
#define ExInterlockedPushEntrySList(SListHead, SListEntry, Lock)
Definition: exfuncs.h:163
_Inout_ PVOID Lookaside
Definition: fltkernel.h:2532
#define PSLIST_ENTRY
Definition: rtltypes.h:130
FORCEINLINE USHORT ExQueryDepthSList(_In_ PSLIST_HEADER SListHead)
Definition: exfuncs.h:153
NTKERNELAPI PSLIST_ENTRY FASTCALL InterlockedPushEntrySList(IN PSLIST_HEADER ListHead, IN PSLIST_ENTRY ListEntry)
Definition: interlocked.c:82
base of all file and directory entries
Definition: entries.h:82
__drv_preferredFunction ( "ExAllocatePoolWithTag"  ,
"No tag interferes with debugging."   
)
pure virtual
__drv_preferredFunction ( "ExAllocatePoolWithQuotaTag"  ,
"No tag interferes with debugging."   
)
pure virtual
__drv_reportError ( "Must succeed pool allocations are forbidden. ""Allocation failures cause a system crash"  ) == 0
__drv_strictTypeMatch ( __drv_typeExpr  )
_IRQL_requires_ ( APC_LEVEL  )
_IRQL_requires_max_ ( APC_LEVEL  )

Definition at line 194 of file exfuncs.h.

199 {
200  PVOID Entry;
201 
202  Lookaside->L.TotalAllocates++;
203 #ifdef NONAMELESSUNION
204  Entry = InterlockedPopEntrySList(&Lookaside->L.u.ListHead);
205  if (Entry == NULL) {
206  Lookaside->L.u2.AllocateMisses++;
207  Entry = (Lookaside->L.u4.Allocate)(Lookaside->L.Type,
208  Lookaside->L.Size,
209  Lookaside->L.Tag);
210  }
211 #else /* NONAMELESSUNION */
212  Entry = InterlockedPopEntrySList(&Lookaside->L.ListHead);
213  if (Entry == NULL) {
214  Lookaside->L.AllocateMisses++;
215  Entry = (Lookaside->L.Allocate)(Lookaside->L.Type,
216  Lookaside->L.Size,
217  Lookaside->L.Tag);
218  }
219 #endif /* NONAMELESSUNION */
220  return Entry;
221 }
DWORD *typedef PVOID
Definition: winlogon.h:52
_In_ PVOID Entry
Definition: exfuncs.h:229
PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER ListHead)
Definition: interlocked.c:55
smooth NULL
Definition: ftsmooth.c:464
_Inout_ PVOID Lookaside
Definition: fltkernel.h:2532
_IRQL_requires_max_ ( DISPATCH_LEVEL  )
pure virtual

Definition at line 30 of file rmap.c.

36 {
38 }
#define TAG_RMAP
Definition: tag.h:133
#define ExFreePoolWithTag(_P, _T)
Definition: module.h:1097
#define P(a, b, c, d, e, x)
_IRQL_requires_max_ ( PASSIVE_LEVEL  )

Definition at line 401 of file event.c.

414 {
415  return KspEnableEvent(Irp, EventSetsCount, EventSet, EventsList, EventsFlags, EventsLock, Allocator, EventItemSize);
416 }
_In_ PIRP Irp
Definition: csq.h:116
NTSTATUS KspEnableEvent(IN PIRP Irp, IN ULONG EventSetsCount, IN const KSEVENT_SET *EventSet, IN OUT PLIST_ENTRY EventsList OPTIONAL, IN KSEVENTS_LOCKTYPE EventsFlags OPTIONAL, IN PVOID EventsLock OPTIONAL, IN PFNKSALLOCATOR Allocator OPTIONAL, IN ULONG EventItemSize OPTIONAL)
Definition: event.c:87
_Acquires_exclusive_lock_ Resource _Post_satisfies_ ( return  = = 1)
_Requires_lock_held_ ( _Global_critical_region_  )
pure virtual
_Must_inspect_result_ _Success_ ( return!  = FALSE)

Definition at line 279 of file mapping.c.

289 {
291  PENGSECTION pSection;
292 
293  /* Check parameter */
294  if (cjSize == 0) return NULL;
295 
296  /* Allocate a section object */
297  pSection = EngCreateSectionHack(fl, cjSize, ulTag);
298  if (!pSection)
299  {
300  *ppvSection = NULL;
301  return NULL;
302  }
303 
304  /* Map the section in session space */
305  Status = MmMapViewInSessionSpace(pSection->pvSectionObject,
306  &pSection->pvMappedBase,
307  &pSection->cjViewSize);
308  if (!NT_SUCCESS(Status))
309  {
310  DPRINT1("Failed to map a section Status=0x%x\n", Status);
311  *ppvSection = NULL;
312  EngFreeSectionMem(pSection, NULL);
313  return NULL;
314  }
315 
316  if (fl & FL_ZERO_MEMORY)
317  {
318  RtlZeroMemory(pSection->pvMappedBase, cjSize);
319  }
320 
321  /* Set section pointer and return base address */
322  *ppvSection = pSection;
323  return pSection->pvMappedBase;
324 }
PVOID pvSectionObject
Definition: mapping.h:4
_In_ FLONG fl
Definition: winddi.h:1279
smooth NULL
Definition: ftsmooth.c:464
BOOL APIENTRY EngFreeSectionMem(_In_opt_ PVOID pvSection, _In_opt_ PVOID pvMappedBase)
Definition: mapping.c:246
SIZE_T cjViewSize
Definition: mapping.h:6
PVOID NTAPI EngCreateSectionHack(_In_ ULONG fl, _In_ SIZE_T cjSize, _In_ ULONG ulTag)
Definition: mapping.c:132
#define FL_ZERO_MEMORY
Definition: polytest.cpp:58
Status
Definition: gdiplustypes.h:24
_In_ ULONG _In_ ULONG ulTag
Definition: winddi.h:3941
#define NT_SUCCESS(StatCode)
Definition: cmd.c:149
LONG NTSTATUS
Definition: DriverTester.h:11
#define DPRINT1
Definition: precomp.h:8
_In_ ULONG cjSize
Definition: winddi.h:3634
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
NTSTATUS NTAPI MmMapViewInSessionSpace(IN PVOID Section, OUT PVOID *MappedBase, IN OUT PSIZE_T ViewSize)
Definition: section.c:2981
PVOID pvMappedBase
Definition: mapping.h:5
FastMutex NTKERNELAPI VOID FASTCALL ExAcquireFastMutex ( _Inout_ _Requires_lock_not_held_ *_Curr_ _Acquires_lock_ *_Curr_ PFAST_MUTEX  FastMutex)
NTKERNELAPI VOID NTAPI ExDeleteNPagedLookasideList ( _Inout_ PNPAGED_LOOKASIDE_LIST  Lookaside)
static __inline PVOID ExFreeToZone ( IN PZONE_HEADER  Zone,
IN PVOID  Block 
)
static

Definition at line 297 of file exfuncs.h.

Referenced by UDFReleaseCCB(), UDFReleaseIrpContext(), and UDFReleaseObjectName().

300 {
301  ((PSINGLE_LIST_ENTRY) Block)->Next = Zone->FreeList.Next;
302  Zone->FreeList.Next = ((PSINGLE_LIST_ENTRY) Block);
303  return ((PSINGLE_LIST_ENTRY) Block)->Next;
304 }
Definition: ntbasedef.h:627
struct _SINGLE_LIST_ENTRY * PSINGLE_LIST_ENTRY
FORCEINLINE VOID ExInitializeFastMutex ( _Out_ PFAST_MUTEX  FastMutex)

Definition at line 274 of file exfuncs.h.

Referenced by acpi_init(), AcpiOsCreateMutex(), BatteryClassInitializeDevice(), Bus_AddDevice(), CcInitializeCacheManager(), CcPfInitializePrefetcher(), CdCreateFcb(), CdCreateFcbNonpaged(), CdInitializeGlobalData(), CdInitializeVcb(), CmBattCreateFdo(), CmpInitCallback(), CompBattAddDevice(), create_fcb(), DbgkInitialize(), DriverEntry(), ExeFmtpCreateImageSection(), ExpInitializeWorkerThreads(), ExpInitSystemPhase0(), ExpInitUuids(), Ext2AllocateFcb(), Ext2InitializeVcb(), FatCreateDcb(), FatCreateFcb(), FatCreateRootDcb(), FatInitializeVcb(), FltRegisterFilter(), FsRtlInitializeTunnelCache(), FsRtlInsertPerFileObjectContext(), FsRtlNotifyInitializeSync(), GdiProcessCreate(), HalpAcpiTableCacheInit(), InitFontSupport(), InitTimerImpl(), IopInitializePlugPlayServices(), KdpGdbStubInit(), KiInitializeKernel(), KiInitSystem(), MmCreateCacheSection(), MmCreateDataFileSection(), MmCreatePageFileSection(), MmInitializeRmapList(), MmInitSystem(), NtCreateDebugObject(), PspInitializeJobStructures(), RamdiskAddDevice(), RamdiskCreateDiskDevice(), RtlpInitAtomTableLock(), START_TEST(), TestIrpHandler(), UserProcessCreate(), and vfatNewFCB().

276 {
277  FastMutex->Count = FM_LOCK_BIT;
278  FastMutex->Owner = NULL;
279  FastMutex->Contention = 0;
280  KeInitializeEvent(&FastMutex->Event, SynchronizationEvent, FALSE);
281  return;
282 }
smooth NULL
Definition: ftsmooth.c:464
#define FM_LOCK_BIT
Definition: iotypes.h:1377
#define KeInitializeEvent(pEvt, foo, foo2)
Definition: env_spec_w32.h:477
#define FALSE
Definition: numbers.c:16
NTKERNELAPI NTSTATUS NTAPI ExInitializeZone ( _Out_ PZONE_HEADER  Zone,
_In_ ULONG  BlockSize,
_Inout_ PVOID  InitialSegment,
_In_ ULONG  InitialSegmentSize 
)
NTKERNELAPI LARGE_INTEGER NTAPI ExInterlockedAddLargeInteger ( _Inout_ PLARGE_INTEGER  Addend,
_In_ LARGE_INTEGER  Increment,
_Inout_ _Requires_lock_not_held_ *_Curr_ PKSPIN_LOCK  Lock 
)
NTKERNELAPI ULONG FASTCALL ExInterlockedAddUlong ( _Inout_ PULONG  Addend,
_In_ ULONG  Increment,
_Inout_ _Requires_lock_not_held_ *_Curr_ PKSPIN_LOCK  Lock 
)
NTKERNELAPI PLIST_ENTRY FASTCALL ExInterlockedInsertHeadList ( _Inout_ PLIST_ENTRY  ListHead,
_Inout_ __drv_aliasesMem PLIST_ENTRY  ListEntry,
_Inout_ _Requires_lock_not_held_ *_Curr_ PKSPIN_LOCK  Lock 
)
NTKERNELAPI PLIST_ENTRY FASTCALL ExInterlockedInsertTailList ( _Inout_ PLIST_ENTRY  ListHead,
_Inout_ __drv_aliasesMem PLIST_ENTRY  ListEntry,
_Inout_ _Requires_lock_not_held_ *_Curr_ PKSPIN_LOCK  Lock 
)
NTKERNELAPI PLIST_ENTRY FASTCALL ExInterlockedRemoveHeadList ( _Inout_ PLIST_ENTRY  ListHead,
_Inout_ _Requires_lock_not_held_ *_Curr_ PKSPIN_LOCK  Lock 
)
NTKERNELAPI VOID NTAPI ExLocalTimeToSystemTime ( _In_ PLARGE_INTEGER  LocalTime,
_Out_ PLARGE_INTEGER  SystemTime 
)
NTKERNELAPI PSLIST_ENTRY ExpInterlockedFlushSList ( _Inout_ PSLIST_HEADER  SListHead)
NTKERNELAPI PSLIST_ENTRY ExpInterlockedPopEntrySList ( _Inout_ PSLIST_HEADER  SListHead)
NTKERNELAPI PSLIST_ENTRY ExpInterlockedPushEntrySList ( _Inout_ PSLIST_HEADER  SListHead,
_Inout_ __drv_aliasesMem PSLIST_ENTRY  SListEntry 
)
FORCEINLINE USHORT ExQueryDepthSList ( _In_ PSLIST_HEADER  SListHead)

Definition at line 153 of file exfuncs.h.

Referenced by __drv_freesMem(), CdRomPrepareUpdateCapabilitiesIrp(), CdRomStartIo(), ExFreePoolWithTag(), ExiFreeToPagedLookasideList(), IoFreeIrp(), IopFreeMiniPacket(), MiAllocatePoolPages(), MiFreePoolPages(), MmCreateKernelStack(), MmDeleteKernelStack(), and ObpFreeCapturedAttributes().

154 {
155 #ifdef _WIN64
156  return (USHORT)(SListHead->Alignment & 0xffff);
157 #else /* !_WIN64 */
158  return (USHORT)SListHead->Depth;
159 #endif /* _WIN64 */
160 }
unsigned short USHORT
Definition: pedump.c:61
NTKERNELAPI VOID FASTCALL ExReInitializeRundownProtection ( _Inout_ PEX_RUNDOWN_REF  RunRef)
NTKERNELAPI VOID FASTCALL ExReInitializeRundownProtectionCacheAware ( _Inout_ PEX_RUNDOWN_REF_CACHE_AWARE  RunRefCacheAware)
FastMutex NTKERNELAPI VOID FASTCALL ExReleaseFastMutex ( _Inout_ _Requires_lock_held_ *_Curr_ _Releases_lock_ *_Curr_ PFAST_MUTEX  FastMutex)
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtectionCacheAware ( _Inout_ PEX_RUNDOWN_REF_CACHE_AWARE  RunRefCacheAware)
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtectionCacheAwareEx ( _Inout_ PEX_RUNDOWN_REF_CACHE_AWARE  RunRef,
_In_ ULONG  Count 
)
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtectionEx ( _Inout_ PEX_RUNDOWN_REF  RunRef,
_In_ ULONG  Count 
)
NTKERNELAPI VOID FASTCALL ExRundownCompleted ( _Out_ PEX_RUNDOWN_REF  RunRef)

Referenced by ObKillProcess().

NTKERNELAPI VOID FASTCALL ExRundownCompletedCacheAware ( _Inout_ PEX_RUNDOWN_REF_CACHE_AWARE  RunRefCacheAware)
NTKERNELAPI VOID NTAPI ExSystemTimeToLocalTime ( _In_ PLARGE_INTEGER  SystemTime,
_Out_ PLARGE_INTEGER  LocalTime 
)
_Must_inspect_result_ FastMutex NTKERNELAPI BOOLEAN FASTCALL ExTryToAcquireFastMutex ( _Inout_ _Requires_lock_not_held_ *_Curr_ _Acquires_lock_ *_Curr_ PFAST_MUTEX  FastMutex)
NTKERNELAPI BOOLEAN NTAPI ExVerifySuite ( __drv_strictTypeMatch(__drv_typeExpr) _In_ SUITE_TYPE  SuiteType)
NTKERNELAPI VOID FASTCALL ExWaitForRundownProtectionRelease ( _Inout_ PEX_RUNDOWN_REF  RunRef)
NTKERNELAPI VOID FASTCALL ExWaitForRundownProtectionReleaseCacheAware ( IN OUT PEX_RUNDOWN_REF_CACHE_AWARE  RunRef)
if ( ExQueryDepthSList &->.ListHead >=Lookaside->L.  Depth)

Definition at line 239 of file exfuncs.h.

Referenced by $endif().

239  {
240  Lookaside->L.FreeMisses++;
241  (Lookaside->L.Free)(Entry);
242  } else {
_Inout_ PVOID Lookaside
Definition: fltkernel.h:2532
base of all file and directory entries
Definition: entries.h:82

Variable Documentation

_In_ POBJECT_ATTRIBUTES _In_ BOOLEAN _In_ BOOLEAN AllowMultipleCallbacks

Definition at line 590 of file exfuncs.h.

Referenced by ExCreateCallback().

_In_opt_ PVOID Argument1

Definition at line 801 of file exfuncs.h.

Definition at line 801 of file exfuncs.h.

Definition at line 826 of file exfuncs.h.

_In_ PCALLBACK_FUNCTION CallbackFunction

Definition at line 826 of file exfuncs.h.

Referenced by ExRegisterCallback().

Definition at line 1015 of file exfuncs.h.

Referenced by $if(), __declspec(), __outbytestring(), __outdwordstring(), __outwordstring(), __RtlImageRvaToSection(), ATL::CRegKey::_DoDeleteKeyTree(), A_SHAFinal(), ACPIEnumerateDevices(), AcpiExConvertToInteger(), AcpiExIntegerToString(), AcpiNsCheckPackage(), AcpiNsCheckPackageList(), AcpiNsConvertToBuffer(), AcpiNsRemoveElement(), AcpiNsRemoveNullElements(), AcpiNsSortList(), AcpiRsConvertAmlToResource(), AcpiRsConvertResourceToAml(), AcpiRsDumpDescriptor(), AcpiRsDumpIrqList(), AcpiRsDumpResourceList(), AcpiRsEncodeBitmask(), AcpiUtCheckAndRepairAscii(), AcpiUtCreatePackageObject(), AcpiUtExecute_CID(), AcpiUtExecute_CLS(), AcquireReadLock(), AddDlg_OnInitDialog(), AddNewKbLayoutsByLcid(), AdjustBrightness(), AdjustContrast(), AfdEventReceiveDatagramHandler(), AllocateInterfaceDescriptorsArray(), ArcOpen(), AtapiSuckPortBuffer2(), AtapiZeroMemory(), BackupBootSector(), BiConvertBcdElements(), BiosMiscService(), BlpTimeMeasureTscFrequency(), BlTblFindEntry(), BlTblMap(), BlTblSetEntry(), BmGetBootSequence(), BmLaunchRecoverySequence(), BmpGetDefaultBootEntry(), BmpGetSelectedBootEntry(), CaptureGateOnWorkItem(), CcCopyWrite(), CcpCountCacheSections(), CdCleanupFileContext(), CdFindPrimaryVd(), CdfsSwapString(), CdIs8dot3Name(), ChanMgrIsFull(), CheckBuffer(), CheckPattern(), CmBattOpenClose(), CmpAddValueToList(), CmpCompareInIndex(), CmpDoFindSubKeyByNumber(), CmpRemoveSubKey(), CmpRemoveValueFromList(), CmSetValueKey(), ConvertCoffs(), ConvertStabs(), CopyPacketToBufferChain(), CountInterfaces(), CreateNetConnectEnumList(), CredEnumerateA(), CsrCaptureMessageMultiUnicodeStringsInPlace(), DECLARE_INTERFACE_(), DIB_16BPP_HLine(), DIB_24BPP_ColorFill(), DIB_24BPP_HLine(), DispDataRequestComplete(), DisplayBlackAndWhite(), DisplayBlur(), DisplayInvertedColors(), DisplaySharpness(), DnsAddrArray_Create(), DoExport(), DoHelpCommand(), DoLAYOUT(), DosFindDeviceDescriptor(), DosFindFreeDescriptor(), DosFindWin32Descriptor(), DosReadFile(), DosWriteFile(), DumpAllRuns(), CUSBRequest::DumpEndpointDescriptor(), EditDlg_OnInitDialog(), EmulatorReadIo(), EmulatorWriteIo(), EnumDeviceDrivers(), EnumProcesses(), EnumProcessModules(), EnumPropsA(), EnumPropsExA(), EnumPropsExW(), EnumPropsW(), ExCompareExchangeCallBack(), ExfAcquireRundownProtectionEx(), ExfReleaseRundownProtectionEx(), ExfWaitForRundownProtectionRelease(), ExIsResourceAcquiredSharedLite(), ExpInitializeExecutive(), ExpLoadBootSymbols(), ExReferenceCallBackBlock(), ExReleaseResourceForThreadLite(), Ext2ExpandExtent(), Ext2FreeBlock(), Ext2GetBlock(), Ext2Mount(), Ext2NewBlock(), FAST486_OPCODE_HANDLER(), Fast486RotateOperation(), FatMount(), FatReadBlocks(), FatReadVolumeSectors(), FF_DecreaseFreeClusters(), FF_IncreaseFreeClusters(), FF_Read(), FF_TraverseFAT(), FF_Write(), FFSGetFullFileName(), FFSReadWriteBlocks(), FindCheckItem(), FindDeviceDriver(), FindMatchingCreateItem(), FindModule(), FindSelectedItem(), FltpDetachFromFileSystemDevice(), FltRegisterFilter(), FreeInstalledAppList(), CMainWindow::FreeInstalledAppList(), FsRtlLookupBaseMcbEntry(), FsRtlNumberOfRunsInBaseMcb(), FstubAdjustPartitionCount(), ftGdiGetKerningPairs(), GetFontFamilyInfoForSubstitutes(), GetLayoutCount(), GetLogicalPartitionCount(), GetPrimaryPartitionCount(), GetSupportedCP(), GetSysAudioDeviceCount(), GetTextboxText(), GreExtTextOutW(), GreGetKerningPairs(), GspGetPacket(), GspHex2Mem(), GspPutPacket(), GspPutPacketNoWait(), GspWriteMem(), HaliReadMPConfigTable(), HalpQueryAcpiResourceRequirements(), HalpReportResourceUsage(), HalReadDmaCounter(), HDA_TransferCodecVerbs(), HidParser_GetCollectionCount(), IKsFilter_fnRemoveProcessPin(), InfOpenFile(), InfoTdiQueryListEntities(), IniFileInitialize(), CLanStatus::InitializeNetTaskbarNotifications(), InitOperatingSystemList(), InitPaletteWithTable(), IntCreateCompatibleBitmap(), IntGdiGetFontResourceInfo(), IntGdiPolygon(), IntGdiPolyline(), IntGdiPolyPolyline(), IntGetFontLocalizedName(), IntMultiByteToWideCharCP(), IntMultiByteToWideCharSYMBOL(), IntMultiByteToWideCharUTF8(), IntWideCharToMultiByteSYMBOL(), IoConnectInterrupt(), IsoBufferDirectory(), IsoLookupFile(), IsoMount(), IterateStabs(), KdbpCmdDisassembleX(), KdbpCmdStep(), KdbpSymFindModule(), KeAddSystemServiceTable(), KeInitializeQueue(), KeInitializeSemaphore(), KeIpiGenericCall(), KePrintInterruptStatistic(), KiScanReadyQueues(), KiSystemCallHandler(), KsAllocateExtraData(), KsFilterAddTopologyConnections(), KsFilterCreatePinFactory(), KspCopyEventSets(), KspCopyMethodSets(), KspCopyPropertySets(), KspCountEventSets(), KspCountMethodSets(), KspCountPropertySets(), KspPinPropertyHandler(), KspQueryBusRelations(), KspValidateConnectRequest(), LdrEnumResources(), LdrProcessRelocationBlockLongLong(), LdrpRunInitializeRoutines(), LdrRelocateImageWithBias(), LoadGenentry(), LoadSetupData(), LockBuffers(), LsaLookupNames(), LsaLookupNames2(), LsaLookupSids(), LsapLookupAccountNames(), LsapLookupBuiltinNames(), LsapLookupFullyQualifiedWellKnownNames(), LsapLookupIsolatedAccountNames(), LsapLookupIsolatedBuiltinNames(), LsapLookupIsolatedNames(), LsapLookupNames(), LsapSplitNames(), LV_AddItems(), main(), MainWnd_OnUpdateRegistry(), MakePattern(), MemFastMoveMemory(), MiBuildPfnDatabaseFromPages(), MiProcessValidPteList(), MiRemoveFromSystemSpace(), MmCommitSessionMappedView(), MmCreateProcessAddressSpace(), MMixerAddMixerControlsToMixerLineByNodeIndexArray(), MMixerAddPinConnection(), MMixerAddPinToPinConnection(), MMixerApplyOutputFilterHack(), MMixerCountMixerControls(), MMixerGetNodeType(), MMixerHandleNodeToNodeConnection(), MMixerInitialize(), MmMdCountList(), MpsTimerHandler(), NdisCopyFromPacketToPacket(), NdisCopyFromPacketToPacketSafe(), NdisQueryPacket(), NetUserGetLocalGroups(), NICReadDataAlign(), NICWriteDataAlign(), NLS_RecordsCountForDBCSTable(), NLS_RecordsCountForGlyphTable(), NLS_RecordsCountForMBTable(), NLS_RecordsCountForUnicodeTable(), NpCompareAliasNames(), NtCreatePagingFile(), NtfsDiskRead(), NtfsMount(), NtGdiGetCharABCWidthsW(), NtGdiGetCharWidthW(), NtGdiGetFontFamilyInfo(), NtGdiGetKerningPairs(), NtGdiGetTextFaceW(), NtGdiPolyPolyDraw(), NtQueryDirectoryObject(), ObDeassignSecurity(), ObDereferenceObjectEx(), ObFastReferenceObject(), ObFastReplaceObject(), ObpReferenceSecurityDescriptor(), ObReferenceObjectEx(), ObSetSecurityDescriptorInfo(), OnSelChange(), OnSet(), otv_u_C_x_Ox(), otv_u_x_y_Ox_sy(), otv_x_Ox(), otv_x_sxy(), otv_x_ux(), otv_x_ux_y_uy_z_uz_p_sp(), PciAllocateCmResourceList(), PciAllocateIoRequirementsList(), PciDebugPrintCmResList(), PciDebugPrintIoResReqList(), PciQueryResources(), PiInitCacheGroupInformation(), PipGetDriverTagPriority(), PitDecrementCount(), PnpRegMultiSzToUnicodeStrings(), Polygon(), POLYGONFILL_MakeEdgeList(), PreserveRow(), ProcessHasDescendants(), CRecycleBinItemContextMenu::QueryContextMenu(), QueryPerformanceFrequency(), RamDiskLoadVirtualFile(), RamdiskQueryDeviceRelations(), Read8254Timer(), RfsdGetFullFileName(), RfsdReadWriteBlocks(), RtlCopyLuidAndAttributesArray(), RtlCopySidAndAttributesArray(), RtlFillMemoryUlong(), RtlImageRvaToSection(), RtlInterlockedPushListSList(), RtlLengthSidAndAttributes(), RtlpRemoveHeapFromProcessList(), RtlWalkFrameChain(), SaBlob_CreateFromIp4(), SamLookupIdsInDomain(), SampGetMembersInAlias(), SamrLookupIdsInDomain(), SamrLookupNamesInDomain(), SaveFontSubstitutionSettings(), ScServiceDispatcher(), ScsiPortInitialize(), SerenumDetectLegacyDevice(), SermouseDetectLegacyDevice(), SetParameters(), CNetConnectionPropertyUi::ShowNetworkComponentProperties(), CHString::SpanExcluding(), CHString::SpanIncluding(), SpiParseDeviceInfo(), StartApplication(), test_ExpectFolders_imp(), TestResourceExclusiveAccess(), TestResourceSharedAccess(), TestResourceUndocumentedShortcuts(), TextIntGetTextExtentPoint(), TuiProcessMenuKeyboardEvent(), UDFIndexDirectory(), CUSBQueue::UnlinkQueueHeadChain(), USBCCGP_CountAssociationDescriptors(), USBCCGP_GetAssociationDescriptorAtIndex(), USBCCGP_InitInterfaceListOfFunctionDescriptor(), VfatWriteFileData(), VgaInterpretCmdStream(), VideoPortDDCMonitorHelper(), WahInsertHandleContext(), WahReferenceContextByHandle(), wmain(), WriteLineSettings(), XboxDiskReadLogicalSectors(), xHalpGetRDiskCount(), and COpenWithMenu::~COpenWithMenu().

Definition at line 590 of file exfuncs.h.

else
Initial value:
{
_Inout_ PVOID Lookaside
Definition: fltkernel.h:2532
#define PSLIST_ENTRY
Definition: rtltypes.h:130
NTKERNELAPI PSLIST_ENTRY FASTCALL InterlockedPushEntrySList(IN PSLIST_HEADER ListHead, IN PSLIST_ENTRY ListEntry)
Definition: interlocked.c:82
base of all file and directory entries
Definition: entries.h:82

Definition at line 242 of file exfuncs.h.

Initial value:
{
Lookaside->L.TotalFrees++
_Inout_ PVOID Lookaside
Definition: fltkernel.h:2532

Definition at line 229 of file exfuncs.h.

Referenced by __drv_allocatesMem(), and _IRQL_requires_max_().

Definition at line 656 of file exfuncs.h.

_In_opt_ PALLOCATE_FUNCTION_EX _In_opt_ PFREE_FUNCTION_EX Free

Definition at line 656 of file exfuncs.h.

Referenced by _write_bitmap(), ANIMATE_Destroy(), ANIMATE_Free(), ANIMATE_OpenA(), CHeapPtr< T, CComAllocator >::Attach(), COMBOEX_Destroy(), COMBOEX_FreeText(), COMBOEX_GetText(), COMBOEX_InsertItemA(), COMBOEX_InsertItemW(), COMBOEX_NotifyItem(), COMBOEX_ResetContent(), COMBOEX_SetItemA(), COMBOEX_WM_DeleteItem(), COMCTL32_SubclassProc(), DATETIME_Destroy(), DATETIME_SetFormatA(), DestroyPropertySheetPage(), DragList_SubclassWindowProc(), DrawStatusTextA(), DSA_DeleteAllItems(), DSA_Destroy(), ElfCreateFile(), ExInitializeNPagedLookasideList(), ExInitializePagedLookasideList(), ExpFreeHandleTableEntry(), Ext2StartReaper(), CHeapPtr< T, CComAllocator >::Free(), GROUP_AddGroup(), GROUP_DeleteGroup(), HEADER_DeleteItem(), HEADER_FreeCallbackItems(), HEADER_NCDestroy(), HEADER_PrepareCallbackItems(), HEADER_SetItemT(), HEADER_StoreHDItemInHeader(), HOTKEY_Destroy(), HvFreeCell(), HvInitialize(), ImageList_LoadImageA(), ImageList_Read(), InitFunctionPtrs(), IPADDRESS_Destroy(), KsAddItemToObjectBag(), LISTVIEW_DeleteAllItems(), LISTVIEW_DeleteColumn(), LISTVIEW_DeleteItem(), LISTVIEW_EndEditLabelT(), LISTVIEW_InsertColumnT(), LISTVIEW_InsertItemT(), LISTVIEW_NCCreate(), LISTVIEW_NCDestroy(), MONTHCAL_Create(), MONTHCAL_Destroy(), MONTHCAL_NotifyDayState(), NATIVEFONT_Destroy(), notify_dispinfoT(), notify_forward_header(), PAGER_Destroy(), PROGRAM_AddProgram(), PROGRAM_DeleteProgram(), ProgressWindowProc(), PROPSHEET_CleanUp(), PROPSHEET_CreateDialog(), PROPSHEET_CreatePage(), PROPSHEET_InsertPage(), PROPSHEET_RemovePage(), PROPSHEET_SetHeaderSubTitleA(), PROPSHEET_SetHeaderSubTitleW(), PROPSHEET_SetHeaderTitleA(), PROPSHEET_SetHeaderTitleW(), PROPSHEET_SetTitleW(), ranges_add(), ranges_clear(), ranges_clone(), ranges_create(), ranges_del(), ranges_destroy(), read_bitmap(), REBAR_DeleteBand(), REBAR_Destroy(), REBAR_InsertBandT(), REBAR_SetBandInfoT(), RemoveWindowSubclass(), set_string_index(), set_sub_item(), SetWindowSubclass(), STATUSBAR_SetParts(), STATUSBAR_SetTextT(), STATUSBAR_WMDestroy(), STATUSBAR_WMSetText(), Str_SetPtrA(), Str_SetPtrW(), SYSLINK_FreeDocItem(), SYSLINK_Render(), SYSLINK_SetItem(), SysLinkWindowProc(), TAB_DeleteItem(), TAB_Destroy(), TAB_InsertItemT(), TAB_SetItemT(), Test_GetAvailableVidMem(), textfreeT(), textsetptrT(), TOOLBAR_Cust_RemoveButton(), TOOLBAR_CustomizeDialogProc(), TOOLBAR_DeleteAllButtons(), TOOLBAR_DeleteButton(), TOOLBAR_DeleteImageList(), TOOLBAR_Destroy(), TOOLBAR_InsertImageList(), TOOLBAR_Restore(), TOOLBAR_Save(), TOOLBAR_SaveRestoreA(), TOOLBAR_TTGetDispInfo(), TOOLTIPS_AddToolT(), TOOLTIPS_DelToolT(), TOOLTIPS_Destroy(), TOOLTIPS_SetTitleT(), TOOLTIPS_SetToolInfoT(), TOOLTIPS_UpdateTipTextT(), TRACKBAR_ClearTics(), TRACKBAR_Destroy(), TRACKBAR_RecalculateTics(), TREEVIEW_AllocateItem(), TREEVIEW_BeginLabelEditNotify(), TREEVIEW_Destroy(), TREEVIEW_EndEditLabelNow(), TREEVIEW_FreeItem(), TREEVIEW_RemoveItem(), TREEVIEW_SendTreeviewNotify(), TREEVIEW_UpdateDispInfo(), UpDownWindowProc(), and ValidateEditContents().

Definition at line 1015 of file exfuncs.h.

Definition at line 913 of file exfuncs.h.

_In_ POBJECT_ATTRIBUTES ObjectAttributes

Definition at line 590 of file exfuncs.h.

_In_ PVOID OwnerPointer

Definition at line 862 of file exfuncs.h.

Referenced by CcSetBcbOwnerPointer().

Definition at line 1053 of file exfuncs.h.

_In_opt_ PALLOCATE_FUNCTION_EX _In_opt_ PFREE_FUNCTION_EX _In_ POOL_TYPE PoolType

Definition at line 1170 of file exfuncs.h.

_Out_ PBOOLEAN QuotaCharged

Definition at line 945 of file exfuncs.h.

_In_ ERESOURCE_THREAD ResourceThreadId

Definition at line 844 of file exfuncs.h.

Referenced by CdSingleAsyncCompletionRoutine(), and main().

_In_ SIZE_T RunRefSize

Definition at line 1103 of file exfuncs.h.

_Inout_ PVOID _In_ ULONG SegmentSize

Definition at line 893 of file exfuncs.h.

Referenced by RtlDosSearchPath_Ustr().

_In_ BOOLEAN SetResolution

Definition at line 870 of file exfuncs.h.

Referenced by DECLARE_INTERFACE_(), and NtSetTimerResolution().

_In_opt_ PALLOCATE_FUNCTION_EX _In_opt_ PFREE_FUNCTION_EX _In_ POOL_TYPE _In_ ULONG _In_ SIZE_T Size

Definition at line 656 of file exfuncs.h.

_In_opt_ PALLOCATE_FUNCTION_EX _In_opt_ PFREE_FUNCTION_EX _In_ POOL_TYPE _In_ ULONG _In_ SIZE_T _In_ ULONG Tag

Definition at line 526 of file exfuncs.h.

Definition at line 429 of file exfuncs.h.