Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[S’applique uniquement à KMDF]
La méthode WdfPdoInitAssignInstanceID met à jour l’ID d’instance pour un appareil enfant.
Syntaxe
NTSTATUS WdfPdoInitAssignInstanceID(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING InstanceID
);
Paramètres
[in] DeviceInit
Pointeur vers une structure WDFDEVICE_INIT.
[in] InstanceID
Pointeur vers une structure UNICODE_STRING qui contient un ID d’instance chaîne. Le pilote peut allouer la mémoire tampon de la chaîne à partir du pool paginé.
Valeur de retour
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 d’instance. |
La méthode peut également retourner d’autres valeurs NTSTATUS .
Remarques
Pour plus d’informations sur les ID d’instance, consultez chaînes d’identification d’appareil.
Le pilote doit appeler WdfPdoInitAssignInstanceID avant d’appeler WdfDeviceCreate. Pour plus d’informations sur l’appel WdfDeviceCreate, consultez Création d’un objet d’appareil Framework.
Exemples
L’exemple de code suivant convertit le numéro de série d’un appareil en chaîne Unicode, puis inscrit la chaîne Unicode comme ID d’instance de l’appareil.
DECLARE_UNICODE_STRING_SIZE(instanceID, INSTANCEID_LENGTH);
status = RtlIntegerToUnicodeString(
SerialNo,
BASE_DEC,
&instanceID
);
status = WdfPdoInitAssignInstanceID(
pDeviceInit,
&instanceID
);
Spécifications
| Besoin | Valeur |
|---|---|
| plateforme cible | Universel |
| version minimale de KMDF | 1.0 |
| En-tête | wdfpdo.h (include Wdf.h) |
| Bibliothèque | Wdf01000.sys (voir Versioning de la bibliothèque Framework.) |
| 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) |