WdfPdoInitAddHardwareID, fonction (wdfpdo.h)
[S’applique uniquement à KMDF]
La méthode WdfPdoInitAddHardwareID ajoute un ID matériel à la liste des ID matériels d’un appareil enfant.
Syntaxe
NTSTATUS WdfPdoInitAddHardwareID(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING HardwareID
);
Paramètres
[in] DeviceInit
Pointeur vers une structure WDFDEVICE_INIT .
[in] HardwareID
Pointeur vers une structure UNICODE_STRING qui contient une chaîne d’ID matériel. 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 |
---|---|
|
Le pilote initialise un FDO au lieu d’un PDO. |
|
Le pilote n’a pas pu allouer d’espace pour stocker la chaîne d’ID matériel. |
La méthode peut également retourner d’autres valeurs NTSTATUS.
Remarques
Le pilote peut ajouter un ou plusieurs ID matériels pour un appareil. Ils doivent être ajoutés dans l’ordre du meilleur match au pire match. L’infrastructure remet les ID au gestionnaire PnP dans l’ordre dans lequel ils ont été ajoutés. Pour plus d’informations sur 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 WdfPdoInitAddHardwareID 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 matériel que l’exemple de pilote KbFiltr utilise.
#define KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(hardwareId, KBFILTR_DEVICE_ID);
status = WdfPdoInitAddHardwareID(
pDeviceInit,
&hardwareId
);
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) |