Поделиться через


Функция InsertHeadList (wdm.h)

Подпрограмма InsertHeadList вставляет запись в начало вдвойне связанного списка LIST_ENTRY структур.

Синтаксис

void InsertHeadList(
  [in, out] PLIST_ENTRY                  ListHead,
  [in, out] __drv_aliasesMem PLIST_ENTRY Entry
);

Параметры

[in, out] ListHead

Указатель на структуру LIST_ENTRY , представляющую главу списка.

[in, out] Entry

Указатель на LIST_ENTRY структуру, представляющую запись для вставки в список.

Возвращаемое значение

None

Remarks

InsertHeadList обновляет ListHead-Flink>, указывая на Элемент. Он обновляет Entry-Flink>, указывая на старую первую запись в списке, и устанавливает для параметра Entry-Blink> значение ListHead. Поле мигания исходной первой записи также обновляется так, чтобы оно указывало на Запись.

Сведения об использовании этой процедуры при реализации списка с удвоениями см. в разделе Singly и Doubly Linked Списки.

Вызывающие элементы InsertHeadList могут выполняться в любом IRQL. Если метод InsertHeadList вызывается в IRQL >= DISPATCH_LEVEL, хранилище для ListHead и записей списка должно быть резидентным.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Персональный компьютер
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h)
IRQL Любой уровень (см. раздел "Примечания")
Правила соответствия DDI IoAllocateFree(wdm), IoReuseIrp(wdm), MarkingQueuedIrps(wdm), RemoveLockCheck(wdm), RemoveLockForward(wdm), RemoveLockForward2(wdm), RemoveLockForwardDeviceControl(wdm), RemoveLockForwardDeviceControl2(wdm), RemoveLockForwardDeviceControlInternal(wdm), RemoveLockForwardDeviceControlInternal2(wdm), RemoveLockForwardRead(wdm), RemoveLockForwardRead2(wdm) , RemoveLockForwardWrite(wdm), RemoveLockForwardWrite2(wdm), RemoveLockRelease2(wdm), RemoveLockReleaseCleanup(wdm), RemoveLockReleaseClose(wdm), RemoveLockReleaseCreate(wdm), RemoveLockReleaseDeviceControl(wdm), RemoveLockReleaseInternalDeviceControl(wdm), RemoveLockReleasePower(wdm), RemoveLockReleaseRead(wdm), RemoveLockReleaseShutdown(wdm), RemoveLockReleaseSystemControl(wdm), RemoveLockReleaseWrite(wdm)

См. также раздел

ExInterlockedInsertHeadList

InitializeListHead

InsertTailList

IsListEmpty

RemoveHeadList

RemoveTailList