Función WdfIoResourceRequirementsListInsertIoResList (wdfresource.h)
[Solo se aplica a KMDF]
El método WdfIoResourceRequirementsListInsertIoResList inserta una configuración lógica en una lista de requisitos de recursos.
NTSTATUS WdfIoResourceRequirementsListInsertIoResList(
[in] WDFIORESREQLIST RequirementsList,
[in] WDFIORESLIST IoResList,
[in] ULONG Index
);
[in] RequirementsList
Identificador de un objeto resource-requirements-list de marco que representa la lista de requisitos de recursos de un dispositivo.
[in] IoResList
Identificador de un objeto framework resource-range-list que representa una configuración lógica de recursos de hardware para un dispositivo.
[in] Index
Valor de base cero que se usa como índice en el conjunto de configuraciones lógicas que ya están en la lista de requisitos de recursos que RequirementsList especifica. Para agregar una configuración al final de la lista, especifique WDF_INSERT_AT_END o el valor devuelto de WdfIoResourceResourceRequirementsListGetCount.
WdfIoResourceRequirementsListInsertIoResList devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, este método podría devolver uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
|
Parámetro no válido tal como se especifica. |
|
El objeto resource-requirements-list especificado no posee el objeto resource-range-list especificado. |
|
El marco no pudo asignar espacio para almacenar el objeto resource-range-list. |
|
El valor especificado para el parámetro Index era demasiado grande. |
Se produce una comprobación de errores del sistema si el controlador proporciona un identificador de objeto no válido.
El método WdfIoResourceRequirementsListInsertIoResList inserta la configuración lógica que el parámetro IoResList especifica en la lista de requisitos de recursos que especifica el parámetro RequirementsList, delante de la configuración lógica que identifica el valor de Index.
Para agregar una configuración lógica al final de una lista de requisitos de recursos, use WDF_INSERT_AT_END o el valor devuelto de WdfIoResourceResourceRequirementsListGetCount como valor Index. Como alternativa, use el método WdfIoResourceRequirementsListAppendIoResList.
Para obtener más información sobre las listas de requisitos de recursos, consulte Recursos de hardware para controladores de Framework-Based.
En el ejemplo de código siguiente se muestra cómo una EvtDeviceResourceRequirementsQuery función de devolución de llamada puede crear dos configuraciones lógicas vacías y agregarlas a una lista de requisitos de recursos.
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;
}
...
}
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.0 |
encabezado de | wdfresource.h (incluya Wdf.h) |
biblioteca de | Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos). |
irQL | <=DISPATCH_LEVEL |
reglas de cumplimiento de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |