Partager via


WdfPdoInitAssignInstanceID, fonction (wdfpdo.h)

[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
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’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)

Voir aussi

RtlIntegerToUnicodeString

WdfPdoInitAddCompatibleID

WdfPdoInitAddHardwareID

WdfPdoInitAssignDeviceID