Funzione WdfIoResourceRequirementsListInsertIoResList (wdfresource.h)
[Si applica solo a KMDF]
Il metodo WdfIoResourceRequirementsListInsertIoResList inserisce una configurazione logica in un elenco dei requisiti delle risorse.
Sintassi
NTSTATUS WdfIoResourceRequirementsListInsertIoResList(
[in] WDFIORESREQLIST RequirementsList,
[in] WDFIORESLIST IoResList,
[in] ULONG Index
);
Parametri
[in] RequirementsList
Handle per un oggetto framework resource-requirements-list che rappresenta l'elenco dei requisiti delle risorse di un dispositivo.
[in] IoResList
Handle per un oggetto framework resource-range-list che rappresenta una configurazione logica delle risorse hardware per un dispositivo.
[in] Index
Valore in base zero usato come indice nel set di configurazioni logiche già presenti nell'elenco dei requisiti delle risorse specificato da RequirementsList . Per aggiungere una configurazione alla fine dell'elenco, specificare WDF_INSERT_AT_END o il valore restituito da WdfIoResourceRequirementsListGetCount.
Valore restituito
WdfIoResourceRequirementsListInsertIoResList restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Parametro non valido come specificato. |
|
L'oggetto resource-requirements-list specificato non è proprietario dell'oggetto resource-range-list specificato. |
|
Il framework non è riuscito ad allocare spazio per archiviare l'oggetto resource-range-list. |
|
Il valore specificato per il parametro Index era troppo grande. |
Un controllo dei bug di sistema si verifica se il driver fornisce un handle di oggetto non valido.
Commenti
Il metodo WdfIoResourceRequirementsListInsertIoResList inserisce la configurazione logica identificata dal parametro IoResList nell'elenco dei requisiti delle risorse specificato dal parametro RequirementsList , davanti alla configurazione logica identificata dal valore Index .
Per aggiungere una configurazione logica alla fine di un elenco di requisiti delle risorse, usare WDF_INSERT_AT_END o il valore restituito da WdfIoResourceRequirementsListGetCount come valore di Index . In alternativa, usare il metodo WdfIoResourceRequirementsListAppendIoResList .
Per altre informazioni sugli elenchi dei requisiti delle risorse, vedere Risorse hardware per i driver Framework-Based.
Esempio
L'esempio di codice seguente mostra come una funzione di callback EvtDeviceResourceRequirementsQuery può creare due configurazioni logiche vuote e aggiungerle a un elenco di requisiti delle risorse.
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;
}
...
}
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Intestazione | wdfresource.h (include Wdf.h) |
Libreria | Wdf01000.sys (vedere Controllo delle versioni della libreria framework). |
IRQL | <=DISPATCH_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |