Condividi tramite


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:

Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.

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 masterizzazione del DVD, il driver chiamerebbe di nuovo WdfDeviceSetStaticStopRemove con Stoppable impostato su TRUE.

Se il dispositivo del driver supporta un file speciale (vedere WdfDeviceSetSpecialFileSupport), il framework non consentirà l'arresto o la rimozione del dispositivo. In questo caso, il driver non deve chiamare WdfDeviceSetStaticStopRemove .

Il driver deve corrispondere a ogni chiamata a WdfDeviceSetStaticStopRemove con Stoppable impostato su FALSE con una chiamata a WdfDeviceSetStaticStopRemove con Stoppable impostato su TRUE.

Chiamando WdfDeviceSetStaticStopRemove con Stoppable impostato 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.

Esempi

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 minima di KMDF 1.0
versione minima di UMDF 2.0
intestazione wdfdevice.h (include Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)