Partager via


Fonction IoStartNextPacketByKey (ntifs.h)

Le IoStartNextPacketByKey routine supprime le paquet de requête d’E/S suivant à partir de la file d’attente d’appareil associée de l’objet d’appareil spécifié en fonction d’une valeur de clé de tri spécifiée et appelle la routine StartIo du pilote avec ce protocole IRP.

Syntaxe

void IoStartNextPacketByKey(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] BOOLEAN        Cancelable,
  [in] ULONG          Key
);

Paramètres

[in] DeviceObject

Pointeur vers l’objet d’appareil pour lequel l’IRP doit être mis en file d’attente.

[in] Cancelable

Spécifie si les fournisseurs d’intégration dans la file d’attente de l’appareil peuvent être annulés.

[in] Key

Spécifie la clé de tri qui détermine l’entrée à supprimer de la file d’attente.

Valeur de retour

Aucun

Remarques

S’il n’y a pas d’IRPs actuellement dans la file d’attente de l’appareil cible pour l’objet appareil cible, cette routine retourne simplement le contrôle à l’appelant.

Si le pilote a passé un pointeur à une routine d’annulation lorsqu’il a appelé IoStartPacket, il doit passer TRUE dans le paramètre Cancelable de cette routine. Si annulable est VRAI, le gestionnaire d’E/S utilise le verrou de rotation d’annulation pour protéger la file d’attente de l’appareil et l’IRP actuel.

Les pilotes qui n’ont pas de routine startIo ne peuvent pas appeler IoStartNextPacketByKey.

Les appelants de IoStartNextPacketByKey doivent s’exécuter à l'<IRQL = DISPATCH_LEVEL. En règle générale, cette routine est appelée à partir du DpcForIsr d’un pilote de périphérique ou routine CustomDpc, qui sont exécutées à IRQL = DISPATCH_LEVEL.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000
plateforme cible Universel
d’en-tête ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Voir aussi

DEVICE_OBJECT

IoStartNextPacket

IoStartPacket