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.
Sintaxis
NTSTATUS WdfIoResourceRequirementsListInsertIoResList(
[in] WDFIORESREQLIST RequirementsList,
[in] WDFIORESLIST IoResList,
[in] ULONG Index
);
Parámetros
[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 WdfIoResourceRequirementsListGetCount.
Valor devuelto
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 |
---|---|
|
Un parámetro no válido 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.
Comentarios
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 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 WdfIoResourceRequirementsListGetCount como valor de Índice . 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.
Ejemplos
En el ejemplo de código siguiente se muestra cómo una función de devolución de llamada EvtDeviceResourceRequirementsQuery 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;
}
...
}
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Encabezado | wdfresource.h (incluya Wdf.h) |
Library | 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) |