Partager via


KeRemoveDeviceQueue, fonction (wdm.h)

La routine KeRemoveDeviceQueue supprime une entrée de la tête d’une file d’attente d’appareil spécifiée.

Syntaxe

PKDEVICE_QUEUE_ENTRY KeRemoveDeviceQueue(
  [in, out] PKDEVICE_QUEUE DeviceQueue
);

Paramètres

[in, out] DeviceQueue

Pointeur vers un objet de file d’attente d’appareil initialisé pour lequel l’appelant fournit le stockage.

Valeur de retour

Si la file d’attente de l’appareil est vide, mais qu’elle est définie sur un état occupé, KeRemoveDeviceQueue retourne NULL.

Remarques

Le verrou de rotation de file d’attente de l’appareil spécifié est acquis et l’état de la file d’attente de l’appareil est vérifié. Si la file d’attente de l’appareil est définie sur un état occupé et qu’un IRP est mis en file d’attente, cette routine met en file d’attente l’entrée et retourne un pointeur vers l’IRP. Un appel à KeRemoveDeviceQueue lorsque l’objet de file d’attente de l’appareil est défini sur un état occupé, mais qu’aucun IRPs n’est mis en file d’attente provoque une modification de l’état non occupé. Le verrou de rotation de la file d’attente de l’appareil spécifié est libéré.

Il s’agit d’une erreur d’appel KeRemoveDeviceQueue lorsque l’objet de file d’attente de l’appareil est défini sur un état non occupé.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm)

Voir aussi

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

keInsertDeviceQueue

KeRemoveByKeyDeviceQueue

KeRemoveEntryDeviceQueue