WdfCmResourceListAppendDescriptor, fonction (wdfresource.h)
[S’applique uniquement à KMDF]
La méthode WdfCmResourceListAppendDescriptor ajoute un descripteur de ressources à la fin d’une liste de ressources spécifiée.
Syntaxe
NTSTATUS WdfCmResourceListAppendDescriptor(
[in] WDFCMRESLIST List,
[in] PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
);
Paramètres
[in] List
Handle d’un objet de liste de ressources d’infrastructure qui représente une liste de ressources matérielles pour un appareil.
[in] Descriptor
Pointeur vers une structure CM_PARTIAL_RESOURCE_DESCRIPTOR qui décrit une ressource matérielle.
Valeur retournée
WdfCmResourceListAppendDescriptor retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes :
Code de retour | Description |
---|---|
|
Un paramètre non valide a été spécifié. |
|
Le pilote n’était pas autorisé à ajouter des descripteurs à la configuration logique spécifiée par le paramètre List . Par exemple, le pilote n’a pas pu modifier la configuration logique que sa fonction de rappel EvtDevicePrepareHardware ou EvtDeviceReleaseHardware a reçue. |
|
L’infrastructure n’a pas pu allouer d’espace pour stocker le descripteur spécifié par le paramètre Descriptor . |
Un bogue système case activée se produit si le pilote fournit un handle d’objet non valide.
Remarques
L’infrastructure copie le contenu de la structure CM_PARTIAL_RESOURCE_DESCRIPTOR dans le stockage interne, de sorte que la routine de pilote qui appelle WdfCmResourceListAppendDescriptor peut allouer la structure localement. Une fois que le pilote a appelé WdfCmResourceListAppendDescriptor , il peut réutiliser la structure CM_PARTIAL_RESOURCE_DESCRIPTOR .
Pour plus d’informations sur les listes de ressources, consultez Ressources matérielles pour les pilotes Framework-Based.
Exemples
L’exemple de code suivant ajoute un descripteur de ressources à la fin de la liste de ressources qu’une fonction de rappel EvtDeviceResourcesQuery reçoit.
NTSTATUS
PdoEvtDeviceResourcesQuery(
IN WDFDEVICE Device,
IN WDFCMRESLIST Resources
)
{
CM_PARTIAL_RESOURCE_DESCRIPTOR newDescriptor;
...
newDescriptor.Type = CmResourceTypePort;
newDescriptor.ShareDisposition = CmResourceShareDeviceExclusive;
newDescriptor.Flags = CM_RESOURCE_PORT_IO|CM_RESOURCE_PORT_16_BIT_DECODE;
newDescriptor.u.Port.Length = 1;
newDescriptor.u.Port.Start = 0;
status = WdfCmResourceListAppendDescriptor(
Resources,
&newDescriptor
);
...
}
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
En-tête | wdfresource.h (include Wdf.h) |
Bibliothèque | Wdf01000.sys (consultez Gestion de version de la bibliothèque d’infrastructure.) |
IRQL | <=DISPATCH_LEVEL |
Règles de conformité DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |