Compartir a través de


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
No se permitió que el controlador agregue 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 su EvtDevicePrepareHardware o EvtDeviceReleaseHardware función de devolución de llamada recibida.
STATUS_INSUFFICIENT_RESOURCES
El marco no pudo asignar espacio para almacenar el descriptor que especificó el descriptor descriptor parámetro.
 

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

Observaciones

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 de 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 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

CM_PARTIAL_RESOURCE_DESCRIPTOR

EvtDevicePrepareHardware

EvtDeviceReleaseHardware

EvtDeviceResourcesQuery

WdfCmResourceListInsertDescriptor