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 |
---|---|
|
Se especificó un parámetro no válido. |
|
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 . |
|
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) |