Funzione WdfDeviceSetStaticStopRemove (wdfdevice.h)

[Si applica a KMDF e UMDF]

Il metodo WdfDeviceSetStaticStopRemove informa il framework se un dispositivo può essere arrestato e rimosso.

Sintassi

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

Parametri

[in] Device

Handle per un oggetto dispositivo framework.

[in] Stoppable

Valore booleano che indica se il dispositivo specificato può essere arrestato e rimosso. Se TRUE, il dispositivo può essere arrestato e rimosso. Se FALSE, il dispositivo non può essere arrestato e rimosso.

Valore restituito

nessuno

Osservazioni

Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.

Per impostazione predefinita, un dispositivo può essere arrestato e rimosso. Pertanto, un driver chiama in genere WdfDeviceSetStaticStopRemove solo se deve impostare temporaneamente il parametro Stoppable su FALSE. Ad esempio, un driver che controlla un writer DVD potrebbe chiamare WdfDeviceSetStaticStopRemove con Stoppable impostato su FALSE prima di iniziare a masterizzare un DVD. Al termine della combustione del DVD, il driver chiamerà nuovamente WdfDeviceSetStaticStopRemove con Stoppable impostato su TRUE.

Se il dispositivo del driver supporta un file speciale (vedere WdfDeviceSetSpecialFileSupport), il framework non consente al dispositivo di essere arrestato o rimosso. In questo caso, il driver non deve chiamare WdfDeviceSetStaticStopRemove .

Il driver deve corrispondere a ogni chiamata a WdfDeviceSetStaticStopRemove con l'opzione Stoppable impostata su FALSE con una chiamata a WdfDeviceSetStaticStopRemove con Stoppable impostata su TRUE.

La chiamata a WdfDeviceSetStaticStopRemove con Stoppable impostata su FALSE non impedisce al framework di notificare al driver se il dispositivo viene rimosso in modo imprevisto (rimosso a sorpresa).

Per altre informazioni su come impedire al sistema operativo di arrestare un dispositivo, vedere Gestione delle richieste per arrestare un dispositivo.

Esempio

L'esempio di codice seguente informa il framework che il dispositivo specificato non può essere arrestato e rimosso.

WdfDeviceSetStaticStopRemove(
                             device,
                             FALSE
                             );

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Versione UMDF minima 2,0
Intestazione wdfdevice.h (includere Wdf.h)
Libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)