Compartilhar via


Função InsertHeadList (wdm.h)

A rotina InsertHeadList insere uma entrada no cabeçalho de uma lista duplamente vinculada de estruturas LIST_ENTRY .

Sintaxe

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

Parâmetros

[in, out] ListHead

Ponteiro para a estrutura LIST_ENTRY que representa o cabeçalho da lista.

[in, out] Entry

Ponteiro para uma estrutura LIST_ENTRY que representa a entrada a ser inserida na lista.

Retornar valor

Nenhum

Comentários

InsertHeadList atualiza ListHead-Flink> para apontar para Entry. Ele atualiza Entry-Flink> para apontar para a primeira entrada antiga na lista e define Entry-Blink> como ListHead. O campo Blink da primeira entrada original também é atualizado para apontar para Entrada.

Para obter informações sobre como usar essa rotina ao implementar uma lista duplamente vinculada, consulte Singly e Doubly Linked Listas.

Os chamadores de InsertHeadList podem estar em execução em qualquer IRQL. Se InsertHeadList for chamado em IRQL >= DISPATCH_LEVEL, o armazenamento para ListHead e as entradas da lista deverão ser residentes.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Área de Trabalho
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h)
IRQL Qualquer nível (consulte a seção Comentários)
Regras de conformidade da 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)

Confira também

ExInterlockedInsertHeadList

InitializeListHead

InsertTailList

IsListEmpty

RemoveHeadList

RemoveTailList