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) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour