Partager via


WdfPdoInitAssignDeviceID, fonction (wdfpdo.h)

[S’applique uniquement à KMDF]

La méthode WdfPdoInitAssignDeviceID met à jour l’ID d’appareil d’un appareil enfant.

Syntaxe

NTSTATUS WdfPdoInitAssignDeviceID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING DeviceID
);

Paramètres

[in] DeviceInit

Pointeur vers une structure WDFDEVICE_INIT .

[in] DeviceID

Pointeur vers une structure UNICODE_STRING qui contient une chaîne d’ID d’appareil. Le pilote peut allouer la mémoire tampon de la chaîne à partir d’un pool paginé.

Valeur retournée

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

Code de retour Description
STATUS_INVALID_DEVICE_REQUEST
Le pilote initialise un FDO au lieu d’un PDO.
STATUS_INSUFFICIENT_RESOURCES
Le pilote n’a pas pu allouer d’espace pour stocker la chaîne d’ID d’appareil.
 

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

Remarques

Un ID d’appareil est généralement le premier élément de la liste des ID matériels qu’un appareil signale. Pour plus d’informations sur les ID d’appareil et les ID matériels, consultez Chaînes d’identification d’appareil et Comment le programme d’installation sélectionne les pilotes.

Le pilote doit appeler WdfPdoInitAssignDeviceID avant d’appeler WdfDeviceCreate. Pour plus d’informations sur l’appel de WdfDeviceCreate, consultez Création d’un objet d’appareil framework.

Exemples

L’exemple de code suivant indique un ID d’appareil que l’exemple de pilote KbFiltr utilise.

#define  KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(deviceId,KBFILTR_DEVICE_ID);

status = WdfPdoInitAssignDeviceID(
                                  pDeviceInit,
                                  &deviceId
                                  );

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
En-tête wdfpdo.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (consultez Gestion de version de la bibliothèque d’infrastructure.)
IRQL PASSIVE_LEVEL
Règles de conformité DDI ChildDeviceInitAPI(kmdf),DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)

Voir aussi

WdfPdoInitAddCompatibleID

WdfPdoInitAddHardwareID

WdfPdoInitAssignInstanceID