Partager via


WdfDeviceAddDependentUsageDeviceObject, fonction (wdfdevice.h)

[S’applique à KMDF uniquement]

La méthode WdfDeviceAddDependentUsageDeviceObject indique qu’un appareil spécifié dépend d’un autre appareil lorsque l’appareil spécifié est utilisé pour stocker des fichiers spéciaux.

Syntaxe

NTSTATUS WdfDeviceAddDependentUsageDeviceObject(
  [in] WDFDEVICE      Device,
  [in] PDEVICE_OBJECT DependentDevice
);

Paramètres

[in] Device

Handle pour un objet d’appareil d’infrastructure.

[in] DependentDevice

Pointeur vers une structure de DEVICE_OBJECT fournie par l’appelant qui identifie un appareil dont l’appareil dépend.

Valeur retournée

Si l’opération réussit, la méthode WdfDeviceAddDependentUsageDeviceObject retourne STATUS_SUCCESS. Les valeurs de retour supplémentaires sont les suivantes :

Code de retour Description
STATUS_INVALID_PARAMETER
DependentDevice a la valeur NULL.
STATUS_INSUFFICIENT_RESOURCES
Une allocation de mémoire a échoué.
 

La méthode peut retourner d’autres valeurs NTSTATUS.

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

Remarques

Votre pilote peut appeler WdfDeviceAddDependentUsageDeviceObject pour indiquer que l’appareil identifié par Device dépend de l’appareil identifié par DependentDevice, lorsque l’appareil prend en charge des fichiers spéciaux. Si votre pilote appelle WdfDeviceAddDependentUsageDeviceObject, le framework appelle les fonctions de rappel EvtDeviceUsageNotification dans les pilotes de DependentDevice avant d’appeler les fonctions de rappel EvtDeviceUsageNotification dans les pilotes de l’appareil.

Votre pilote peut appeler WdfDeviceAddDependentUsageDeviceObject plusieurs fois pour identifier plusieurs appareils dont dépend l’appareil pour prendre en charge des fichiers spéciaux.

Une fois qu’un pilote a appelé WdfDeviceAddDependentUsageDeviceObject, il peut appeler WdfDeviceRemoveDependentUsageDeviceObject pour supprimer l’appareil identifié par DependentDevice de la liste des appareils dont dépend l’appareil .

Pour plus d’informations sur les fichiers spéciaux, consultez Prise en charge des fichiers spéciaux.

Exemples

L’exemple de code suivant ajoute un appareil (pDeviceObject) à la liste des appareils dont dépend un autre appareil (Appareil).

status = WdfDeviceAddDependentUsageDeviceObject(
                                                device,
                                                pDeviceObject
                                                );

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
En-tête wdfdevice.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (consultez Gestion des versions de la bibliothèque d’infrastructure).)
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Voir aussi

EvtDeviceUsageNotification

WdfDeviceRemoveDependentUsageDeviceObject