Leer en inglés

Compartir a través de


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 WdfIoResourceResourceRequirementsListGetCount.

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
STATUS_INVALID_PARAMETER
Parámetro no válido tal como se especifica.
STATUS_INVALID_DEVICE_REQUEST
El objeto resource-requirements-list especificado no posee el objeto resource-range-list especificado.
STATUS_INSUFFICIENT_RESOURCES
El marco no pudo asignar espacio para almacenar el objeto resource-range-list.
STATUS_ARRAY_BOUNDS_EXCEEDED
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.

Observaciones

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.

Ejemplos

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;
    }
...
}

Requisitos

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)

Consulte también

WdfIoResourceListCreate

WdfIoResourceRequirementsListAppendIoResList