A rotina RemoveHeadList remove uma entrada do início de uma lista duplamente vinculada de estruturas LIST_ENTRY .
Sintaxe
PLIST_ENTRY RemoveHeadList(
[in, out] PLIST_ENTRY ListHead
);
Parâmetros
[in, out] ListHead
Ponteiro para a estrutura LIST_ENTRY que serve como o cabeçalho da lista.
Retornar valor
RemoveHeadList retorna um ponteiro para a entrada removida da lista. Se a lista estiver vazia, RemoveHeadList retornará ListHead.
RemoveHeadList remove a primeira entrada da lista definindo ListHead-Flink> para apontar para a segunda entrada na lista. A rotina define o membro Blink da segunda entrada como ListHead. Caso a lista esteja vazia, isso é efetivamente uma operação não operacional.
Para obter informações sobre como usar essa rotina ao implementar uma lista duplamente vinculada, consulte Singly e Doubly Linked Listas.
Os chamadores de RemoveHeadList podem estar em execução em qualquer IRQL. Se RemoveHeadList 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 |
CancelSpinLock(wdm), CompleteRequest(wdm), DoubleCompletion(wdm), DoubleExFreePool(storport), Init_NdisAllocateIoWorkItem(ndis), InvalidReqAccessLocal(kmdf), IoAllocateFree(wdm), IoReuseIrp(wdm), IrpProcessingComplete(wdm), MarkingInterlockedQueuedIrps(wdm), MarkingQueuedIrps(wdm), MarkIrpPending(wdm), MarkIrpPending2(wdm), PendedCompletedRequest(wdm), PendedCompletedRequest2(wdm), PendedCompletedRequest3(wdm), PendedCompletedRequestEx(wdm), RemoveLock(wdm), RemoveLockCheck(wdm), RemoveLockForward(wdm), RemoveLockForward2(wdm), RemoveLockForwardDeviceControl(wdm), RemoveLockForwardDeviceControl2(wdm), RemoveLockForwardDeviceControlInternal(wdm), RemoveLockForwardDeviceControlInternal2(wdm), RemoveLockForwardRead(wdm), RemoveLockForwardRead2(wdm), RemoveLockForwardWrite(wdm), RemoveLockForwardWrite2(wdm), RemoveLockMnRemove(wdm), RemoveLockMnSurpriseRemove(wdm), RemoveLockRelease2(wdm), RemoveLockReleaseCleanup(wdm), RemoveLockReleaseClose(wdm), RemoveLockReleaseCreate(wdm), RemoveLockReleaseDeviceControl(wdm), RemoveLockReleaseInternalDeviceControl(wdm), RemoveLockReleasePnp(wdm), RemoveLockReleasePower(wdm), RemoveLockReleaseRead(wdm), RemoveLockReleaseShutdown(wdm), RemoveLockReleaseSystemControl(wdm), RemoveLockReleaseWrite(wdm) |
Confira também
ExInterlockedRemoveHeadList
InitializeListHead
IsListEmpty
RemoveEntryList
RemoveTailList