Partager via


KeInsertDeviceQueue, fonction (wdm.h)

Le KeInsertDeviceQueue routine acquiert le verrou de rotation pour l’objet de file d’attente d’appareil spécifié et, si la file d’attente de l’appareil est définie sur un état occupé, met en file d’attente l’entrée spécifiée.

Syntaxe

BOOLEAN KeInsertDeviceQueue(
  [in, out] PKDEVICE_QUEUE       DeviceQueue,
  [in, out] PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
);

Paramètres

[in, out] DeviceQueue

Pointeur vers un objet de contrôle de la file d’attente d’appareil de type pour lequel l’appelant fournit le stockage.

[in, out] DeviceQueueEntry

Pointeur vers l’entrée de file d’attente de l’appareil à insérer.

Valeur de retour

Si la file d’attente de l’appareil est vide, FAUX est retourné et le DeviceQueueEntry n’est pas inséré dans la file d’attente de l’appareil.

Remarques

Si la file d’attente de l’appareil est définie sur un état occupé, le DeviceQueueEntry spécifié est inséré à la fin de la file d’attente de l’appareil et le verrou de rotation de la file d’attente de l’appareil est libéré.

Si KeInsertDeviceQueue retourne FALSE, l’entrée n’a pas été mise en file d’attente et l’appelant doit commencer à traiter l’IRP. Un appel à KeInsertDeviceQueue ou KeInsertByKeyDeviceQueue lorsque la file d’attente est vide entraîne le passage de la file d’attente de l’appareil d’un état non occupé à un état occupé.

Cette routine concerne le code qui met en file d’attente une demande d’E/S vers un pilote de périphérique.

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), MarkingQueuedIrps(wdm)

Voir aussi

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue