Función ExInterlockedRemoveHeadList (wdm.h)
La rutina ExInterlockedRemoveHeadList quita una entrada desde el principio de una lista doblemente vinculada de estructuras LIST_ENTRY .
Sintaxis
PLIST_ENTRY ExInterlockedRemoveHeadList(
[in, out] PLIST_ENTRY ListHead,
[in, out] PKSPIN_LOCK Lock
);
Parámetros
[in, out] ListHead
Puntero a la estructura LIST_ENTRY que actúa como encabezado de lista.
[in, out] Lock
Puntero a una estructura de KSPIN_LOCK que actúa como bloqueo de número usado para sincronizar el acceso a la lista. El almacenamiento del bloqueo de número debe ser residente y debe haberse inicializado llamando a KeInitializeSpinLock. Debe usar este bloqueo de número solo con las rutinas ExInterlockedXxxList .
Valor devuelto
ExInterlockedRemoveHeadList devuelve un puntero a la estructura LIST_ENTRY quitada de la lista. Si la lista estaba vacía, la rutina devuelve NULL.
Comentarios
ExInterlockedRemoveHeadList realiza una operación similar a RemoveHeadList, pero atómicamente. No mezcle llamadas atómicas y no atómicas en la misma lista.
Para obtener más información sobre el uso de esta rutina para implementar una lista vinculada doblemente, consulte Singly and Doblemente vinculado Listas.
Se puede llamar a la rutina ExInterlockedRemoveHeadList en cualquier IRQL. El almacenamiento del parámetro ListHead debe estar residente en todas las IRQL.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 2000. |
Plataforma de destino | Universal |
Encabezado | wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | Cualquier nivel (consulte la sección Comentarios) |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de