Freigeben über


WdfDeviceSetStaticStopRemove-Funktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die WdfDeviceSetStaticStopRemove-Methode informiert das Framework darüber, ob ein Gerät angehalten und entfernt werden kann.

Syntax

void WdfDeviceSetStaticStopRemove(
  [in] WDFDEVICE Device,
  [in] BOOLEAN   Stoppable
);

Parameter

[in] Device

Ein Handle für ein Framework-Geräteobjekt.

[in] Stoppable

Ein boolescher Wert, der angibt, ob das angegebene Gerät beendet und entfernt werden kann. True gibt an, dass das Gerät angehalten und entfernt werden kann. False gibt an, dass das Gerät nicht angehalten und entfernt werden kann.

Rückgabewert

Keine

Bemerkungen

Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Standardmäßig kann ein Gerät angehalten und entfernt werden. Daher ruft ein Treiber in der Regel WdfDeviceSetStaticStopRemove nur auf, wenn er den Stoppable-Parameter vorübergehend auf FALSE festlegen muss. Beispielsweise kann ein Treiber, der einen DVD-Writer steuert, WdfDeviceSetStaticStopRemove aufrufen, wobei Stoppable auf FALSE festgelegt ist, bevor mit dem Brennen einer DVD begonnen wird. Nachdem der Treiber das Brennen der DVD abgeschlossen hat, wird WdfDeviceSetStaticStopRemove erneut aufgerufen, wobei Stoppable auf TRUE festgelegt ist.

Wenn das Gerät Ihres Treibers eine spezielle Datei unterstützt (siehe WdfDeviceSetSpecialFileSupport), lässt das Framework das Beenden oder Entfernen des Geräts nicht zu. In diesem Fall muss Ihr Treiber WdfDeviceSetStaticStopRemove nicht aufrufen.

Der Treiber muss mit jedem Aufruf von WdfDeviceSetStaticStopRemove übereinstimmen, wobei Stoppable auf FALSE festgelegt ist, wobei ein Aufruf von WdfDeviceSetStaticStopRemove mit Stoppable auf TRUE festgelegt ist.

Das Aufrufen von WdfDeviceSetStaticStopRemove mit Stoppable auf FALSE verhindert nicht, dass das Framework den Treiber benachrichtigt, wenn das Gerät unerwartet entfernt wird (überraschend entfernt).

Weitere Informationen dazu, wie Sie verhindern können, dass das Betriebssystem ein Gerät beendet, finden Sie unter Behandeln von Anforderungen zum Beenden eines Geräts.

Beispiele

Im folgenden Codebeispiel wird das Framework darüber informiert, dass das angegebene Gerät nicht angehalten und entfernt werden kann.

WdfDeviceSetStaticStopRemove(
                             device,
                             FALSE
                             );

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfdevice.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)