WdfIoQueueStopSynchronously-Funktion (wdfio.h)
[Gilt für KMDF und UMDF]
Die WdfIoQueueStopSynchronously-Methode verhindert, dass eine E/A-Warteschlange E/A-Anforderungen liefert, aber die Warteschlange empfängt und speichert neue Anforderungen. Die Methode gibt zurück, nachdem alle übermittelten Anforderungen abgebrochen oder abgeschlossen wurden.
Syntax
void WdfIoQueueStopSynchronously(
[in] WDFQUEUE Queue
);
Parameter
[in] Queue
Ein Handle für ein Framework-Warteschlangenobjekt.
Rückgabewert
Keine
Bemerkungen
Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Mit der WdfIoQueueStopSynchronously-Methode kann die Warteschlange neue Anforderungen empfangen, auch wenn die Warteschlange keine neuen Anforderungen empfangen hat, bevor der Treiber WdfIoQueueStopSynchronously aufgerufen wurde. Beispielsweise kann ein Treiber WdfIoQueueDrain aufrufen, wodurch das Framework das Hinzufügen neuer E/A-Anforderungen zur Warteschlange beendet. Der nachfolgende Aufruf von WdfIoQueueStopSynchronously des Treibers bewirkt, dass das Framework das Hinzufügen von Anforderungen zur Warteschlange fortsetzen kann.
Rufen Sie WdfIoQueueStopSynchronously nicht aus den folgenden Warteschlangenobjekt-Ereignisrückruffunktionen auf, unabhängig von der Warteschlange, der die Ereignisrückruffunktion zugeordnet ist:
EvtIoDefaultEvtIoDeviceControlEvtIoInternalDeviceControlEvtIoReadEvtIoWrite Weitere Informationen zur WdfIoQueueStopSynchronously-Methode finden Sie unter Verwalten von E/A-Warteschlangen.
Beispiele
Im folgenden Codebeispiel wird eine angegebene Warteschlange beendet.
WdfIoQueueStopSynchronously(WriteQueue);
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdfio.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | ChangeQueueState(kmdf), DriverCreate(kmdf), EvtSurpriseRemoveNoSuspendQueue(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), NoCancelFromEvtSurpriseRemove(kmdf) |