ExAllocatePool(ページタイプ、nAllocSize)。
ExFreePool(アドレス);
ExAllocatePoolWithTag(ページタイプ、nAllocSize、タグ)。
ExFreePoolWithTag(アドレス、タグ)。
NPAGED_LOOKASIDE_LIST索引;
ExInitializeNPagedLookasideList(&索引、NULL、NULL、0、nAllocSize、タグ、0);
ExAllocateFromNPagedLookasideList(&ルックアサイド)。
ExFreeToNPagedLookasideList(&ルックアサイド、アドレス);
ExDeleteNPagedLookasideList(&ルックアサイド)。
LIST_ENTRY listEntry;
InitializeListHead(&listEntry)。
IsListEmpty(&listEntry)。
InsertTailList(&listEntry、&newEntry)。
InsertHeadList(&listEntry、&newEntry)。
/ *
空のリストでRemoveHeadListまたはRemoveTailListを呼び出すと、システム障害を引き起こす可能性があります。呼び出し側
RemoveHeadListまたはRemoveTailListは、最初のリストにエントリがあるかどうかを判断するためにIsListEmptyを呼び出す必要があります。
* /
RemoveTailList(&listEntry)。
RemoveHeadList(&listEntry)。
RemoveEntryList(&entryItem)。
SPIN_LOCKスピンロック;
KeInitializeSpinLock(&スピンロック)。
ExInterLockedInsertHeadList(&listEntry、&newEntry、&スピンロック)。
ExInterLockedInsertTailList(&listEntry、&newEntry、&スピンロック)。
/ *
リストが空の場合、NULLポインタが返されます。それ以外の場合は、デキューエントリへのポインタが返されます。
* /
ExInterLockedRemoveHeadList(&listEntry、&スピンロック)。
SLIST_EHADER sListHead;
ExInitializeSListHead(&sListHead)。
ExInterLockedPushEntrySList(&sListHead、sListEntry、ロック)。
/ *
ExInterlockedPopEntrySListは、リストの最初のエントリへのポインタを返します。リストが空だった場合、
それはNULLを返します。
* /
ExInterLockedPopEntrySList(&sListHead、ロック)
/ *
ExQueryDepthSListはS-リスト内のエントリの現在の数を返します。
* /
ExQueryDepthSList(&sListHead)。