Función WdfCmResourceListAppendDescriptor (wdfresource.h)

[Solo se aplica a KMDF]

El método WdfCmResourceListAppendDescriptor agrega un descriptor de recursos al final de una lista de recursos especificada.

Sintaxis

NTSTATUS WdfCmResourceListAppendDescriptor(
  [in] WDFCMRESLIST                    List,
  [in] PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
);

Parámetros

[in] List

Identificador de un objeto de lista de recursos de marco que representa una lista de recursos de hardware para un dispositivo.

[in] Descriptor

Puntero a una estructura de CM_PARTIAL_RESOURCE_DESCRIPTOR que describe un recurso de hardware.

Valor devuelto

WdfCmResourceListAppendDescriptor 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
Se especificó un parámetro no válido.
STATUS_ACCESS_DENIED
El controlador no pudo agregar descriptores a la configuración lógica que especificó el parámetro List . Por ejemplo, el controlador no pudo modificar la configuración lógica que recibió su función de devolución de llamada EvtDevicePrepareHardware o EvtDeviceReleaseHardware .
STATUS_INSUFFICIENT_RESOURCES
El marco de trabajo no pudo asignar espacio para almacenar el descriptor que especificó el parámetro Descriptor .
 

Se produce una comprobación de errores del sistema si el controlador proporciona un identificador de objeto no válido.

Comentarios

El marco copia el contenido de la estructura CM_PARTIAL_RESOURCE_DESCRIPTOR en el almacenamiento interno, por lo que la rutina del controlador que llama a WdfCmResourceListAppendDescriptor puede asignar la estructura localmente. Una vez que el controlador llama a WdfCmResourceListAppendDescriptor , puede reutilizar la estructura CM_PARTIAL_RESOURCE_DESCRIPTOR .

Para obtener más información sobre las listas de recursos, consulte Recursos de hardware para controladores de Framework-Based.

Ejemplos

En el ejemplo de código siguiente se agrega un descriptor de recursos al final de la lista de recursos que recibe una función de devolución de llamada EvtDeviceResourcesQuery .

NTSTATUS
PdoEvtDeviceResourcesQuery(
    IN WDFDEVICE  Device,
    IN WDFCMRESLIST  Resources
    )
{
    CM_PARTIAL_RESOURCE_DESCRIPTOR newDescriptor;
...
    newDescriptor.Type = CmResourceTypePort;
    newDescriptor.ShareDisposition = CmResourceShareDeviceExclusive;
    newDescriptor.Flags = CM_RESOURCE_PORT_IO|CM_RESOURCE_PORT_16_BIT_DECODE;
    newDescriptor.u.Port.Length = 1;
    newDescriptor.u.Port.Start = 0;

    status = WdfCmResourceListAppendDescriptor(
                                               Resources,
                                               &newDescriptor
                                               );
...

}

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)

Consulte también

CM_PARTIAL_RESOURCE_DESCRIPTOR

EvtDevicePrepareHardware

EvtDeviceReleaseHardware

EvtDeviceResourcesQuery

WdfCmResourceListInsertDescriptor