KeInsertDeviceQueue, fonction (wdm.h)

La routine KeInsertDeviceQueue acquiert le verrou de rotation pour l’objet 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 type file d’attente d’appareil pour lequel l’appelant fournit le stockage.

[in, out] DeviceQueueEntry

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

Valeur retournée

Si la file d’attente de l’appareil est vide, FALSE 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 file d’attente de l’appareil est libéré.

Si KeInsertDeviceQueue retourne FALSE, l’entrée n’était pas 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.

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

Voir aussi

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue