Funzione WdfCmResourceListAppendDescriptor (wdfresource.h)
[Si applica solo a KMDF]
Il metodo WdfCmResourceListAppendDescriptor aggiunge un descrittore di risorse alla fine di un elenco di risorse specificato.
Sintassi
NTSTATUS WdfCmResourceListAppendDescriptor(
[in] WDFCMRESLIST List,
[in] PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
);
Parametri
[in] List
Handle per un oggetto elenco risorse framework che rappresenta un elenco di risorse hardware per un dispositivo.
[in] Descriptor
Puntatore a una struttura CM_PARTIAL_RESOURCE_DESCRIPTOR che descrive una risorsa hardware.
Valore restituito
WdfCmResourceListAppendDescriptor restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
È stato specificato un parametro non valido. |
|
Il driver non è autorizzato ad aggiungere descrittori alla configurazione logica specificata dal parametro List . Ad esempio, il driver non è riuscito a modificare la configurazione logica ricevuta dalla funzione di callback EvtDevicePrepareHardware o EvtDeviceReleaseHardware . |
|
Il framework non è riuscito ad allocare spazio per archiviare il descrittore specificato dal parametro Descrittore . |
Un controllo dei bug di sistema si verifica se il driver fornisce un handle di oggetto non valido.
Commenti
Il framework copia il contenuto della struttura CM_PARTIAL_RESOURCE_DESCRIPTOR nella risorsa di archiviazione interna, quindi la routine del driver che chiama WdfCmResourceListAppendDescriptor può allocare la struttura in locale. Dopo che il driver chiama WdfCmResourceListAppendDescriptor, può riutilizzare la struttura CM_PARTIAL_RESOURCE_DESCRIPTOR .
Per altre informazioni sugli elenchi di risorse, vedere Risorse hardware per i driver Framework-Based.
Esempio
Nell'esempio di codice seguente viene aggiunto un descrittore di risorsa alla fine dell'elenco di risorse ricevuto da una funzione di callback 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
);
...
}
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Intestazione | wdfresource.h (include Wdf.h) |
Libreria | Wdf01000.sys (vedere Controllo delle versioni della libreria framework). |
IRQL | <=DISPATCH_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |