WdfIoResourceRequirementsListInsertIoResList, fonction (wdfresource.h)
[S’applique à KMDF uniquement]
La méthode WdfIoResourceRequirementsListInsertIoResList insère une configuration logique dans une liste des besoins en ressources.
Syntaxe
NTSTATUS WdfIoResourceRequirementsListInsertIoResList(
[in] WDFIORESREQLIST RequirementsList,
[in] WDFIORESLIST IoResList,
[in] ULONG Index
);
Paramètres
[in] RequirementsList
Handle d’un objet resource-requirements-list d’infrastructure qui représente la liste des besoins en ressources d’un appareil.
[in] IoResList
Handle vers un objet resource-range-list d’infrastructure qui représente une configuration logique des ressources matérielles pour un appareil.
[in] Index
Valeur de base zéro utilisée comme index dans l’ensemble de configurations logiques qui figurent déjà dans la liste des exigences de ressources spécifiée par RequirementsList . Pour ajouter une configuration à la fin de la liste, spécifiez WDF_INSERT_AT_END ou la valeur de retour de WdfIoResourceRequirementsListGetCount.
Valeur retournée
WdfIoResourceRequirementsListInsertIoResList retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes :
Code de retour | Description |
---|---|
|
Paramètre non valide tel que spécifié. |
|
L’objet resource-requirements-list spécifié ne possède pas l’objet resource-range-list spécifié. |
|
L’infrastructure n’a pas pu allouer d’espace pour stocker l’objet resource-range-list. |
|
La valeur spécifiée pour le paramètre Index était trop grande. |
Un bogue système case activée se produit si le pilote fournit un handle d’objet non valide.
Remarques
La méthode WdfIoResourceRequirementsListInsertIoResList insère la configuration logique que le paramètre IoResList spécifie dans la liste des exigences de ressources spécifiée par le paramètre RequirementsList , devant la configuration logique que la valeur Index identifie.
Pour ajouter une configuration logique à la fin d’une liste de ressources requises, utilisez WDF_INSERT_AT_END ou la valeur de retour de WdfIoResourceRequirementsListGetCount comme valeur d’index . Vous pouvez également utiliser la méthode WdfIoResourceRequirementsListAppendIoResList .
Pour plus d’informations sur les listes de ressources requises, consultez Ressources matérielles pour les pilotes Framework-Based.
Exemples
L’exemple de code suivant montre comment une fonction de rappel EvtDeviceResourceRequirementsQuery peut créer deux configurations logiques vides et les ajouter à une liste de ressources requises.
NTSTATUS
Example_EvtDeviceResourceRequirementsQuery(
IN WDFDEVICE Device,
IN WDFIORESREQLIST RequirementsList
)
{
NTSTATUS status;
WDFIORESLIST logConfig1;
WDFIORESLIST logConfig2;
status = WdfIoResourceListCreate(
RequirementsList,
WDF_NO_OBJECT_ATTRIBUTES,
&logConfig1
);
if (!NT_SUCCESS(status)) {
return status;
}
status = WdfIoResourceRequirementsListAppendIoResList(
RequirementsList,
logConfig1
);
if (!NT_SUCCESS(status)) {
return status;
}
status = WdfIoResourceListCreate(
RequirementsList,
WDF_NO_OBJECT_ATTRIBUTES,
&logConfig2
);
if (!NT_SUCCESS(status)) {
return status;
}
status = WdfIoResourceRequirementsListInsertIoResList(
RequirementsList,
logConfig2,
WDF_INSERT_AT_END
);
if (!NT_SUCCESS(status)) {
return status;
}
...
}
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 des versions de la bibliothèque d’infrastructure).) |
IRQL | <=DISPATCH_LEVEL |
Règles de conformité DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |