Compartilhar via


Função WdfDeviceSetStaticStopRemove (wdfdevice.h)

[Aplica-se a KMDF e UMDF]

O método WdfDeviceSetStaticStopRemove informa à estrutura se um dispositivo pode ser interrompido e removido.

Sintaxe

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

Parâmetros

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

[in] Stoppable

Um valor booliano que indica se o dispositivo especificado pode ser interrompido e removido. Se TRUE, o dispositivo poderá ser interrompido e removido. Se FALSE, o dispositivo não poderá ser interrompido e removido.

Retornar valor

Nenhum

Comentários

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Por padrão, um dispositivo pode ser interrompido e removido. Portanto, um driver normalmente chama WdfDeviceSetStaticStopRemove somente se precisar definir temporariamente o parâmetro Stoppable como FALSE. Por exemplo, um driver que controla um gravador de DVD pode chamar WdfDeviceSetStaticStopRemove com Stoppable definido como FALSE antes de começar a queimar um DVD. Depois que o driver terminar de gravar o DVD, ele chamará WdfDeviceSetStaticStopRemove novamente com Stoppable definido como TRUE.

Se o dispositivo do driver estiver dando suporte a um arquivo especial (consulte WdfDeviceSetSpecialFileSupport), a estrutura não permitirá que o dispositivo seja interrompido ou removido. Nesse caso, o driver não precisa chamar WdfDeviceSetStaticStopRemove .

O driver deve corresponder todas as chamadas a WdfDeviceSetStaticStopRemove com Stoppable definido como FALSE com uma chamada para WdfDeviceSetStaticStopRemove com Stoppable definido como TRUE.

Chamar WdfDeviceSetStaticStopRemove com Stoppable definido como FALSE não impede que a estrutura notifique o driver se o dispositivo for removido inesperadamente (removido surpresa).

Para obter mais informações sobre como impedir que o sistema operacional interrompa um dispositivo, consulte Manipulando solicitações para parar um dispositivo.

Exemplos

O exemplo de código a seguir informa à estrutura que o dispositivo especificado não pode ser interrompido e removido.

WdfDeviceSetStaticStopRemove(
                             device,
                             FALSE
                             );

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfdevice.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Regras de conformidade de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)