WdfDeviceSetStaticStopRemove, fonction (wdfdevice.h)

[S’applique à KMDF et UMDF]

La méthode WdfDeviceSetStaticStopRemove indique à l’infrastructure si un appareil peut être arrêté et supprimé.

Syntaxe

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

Paramètres

[in] Device

Handle pour un objet d’appareil d’infrastructure.

[in] Stoppable

Valeur booléenne qui indique si l’appareil spécifié peut être arrêté et supprimé. Si la valeur est TRUE, l’appareil peut être arrêté et supprimé. Si la valeur est FALSE, l’appareil ne peut pas être arrêté et supprimé.

Valeur de retour

None

Remarques

Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.

Par défaut, un appareil peut être arrêté et supprimé. Par conséquent, un pilote appelle généralement WdfDeviceSetStaticStopRemove uniquement s’il doit définir temporairement le paramètre Stoppable sur FALSE. Par exemple, un pilote qui contrôle un enregistreur de DVD peut appeler WdfDeviceSetStaticStopRemove avec Stoppable défini sur FALSE avant de commencer à graver un DVD. Une fois que le pilote a terminé de graver le DVD, il appelle à nouveau WdfDeviceSetStaticStopRemove avec Stoppable défini sur TRUE.

Si l’appareil de votre pilote prend en charge un fichier spécial (consultez WdfDeviceSetSpecialFileSupport), l’infrastructure n’autorise pas l’arrêt ou la suppression de l’appareil. Dans ce cas, votre pilote n’a pas besoin d’appeler WdfDeviceSetStaticStopRemove .

Le pilote doit correspondre à chaque appel à WdfDeviceSetStaticStopRemove avec Stoppable défini sur FALSE avec un appel à WdfDeviceSetStaticStopRemove avec Stoppable défini sur TRUE.

L’appel de WdfDeviceSetStaticStopRemove avec Stoppable défini sur FALSE n’empêche pas l’infrastructure d’avertir le pilote si le périphérique est supprimé de manière inattendue (suppression surprise).

Pour plus d’informations sur la façon d’empêcher le système d’exploitation d’arrêter un appareil, consultez Gestion des demandes d’arrêt d’un appareil.

Exemples

L’exemple de code suivant informe l’infrastructure que l’appareil spécifié ne peut pas être arrêté et supprimé.

WdfDeviceSetStaticStopRemove(
                             device,
                             FALSE
                             );

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfdevice.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)