Partager via


Fonction KeRemoveDeviceQueue (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 retournée

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 d’appareil spécifié est acquis et l’état de la file d’attente de l’appareil est vérifié. Si la file d’attente d’appareils est définie sur un état occupé et qu’un IRP est mis en file d’attente, cette routine supprime l’entrée et retourne un pointeur vers l’IRP. Un appel à KeRemoveDeviceQueue lorsque l’objet file d’attente d’appareil est défini sur un état occupé, mais qu’aucun IRP n’est mis en file d’attente entraîne un changement d’état sur non occupé. Le verrou de rotation de la file d’attente d’appareil spécifié est libéré.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wdm.h (inclure 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