Funzione WdfIoResourceListInsertDescriptor (wdfresource.h)
[Si applica solo a KMDF]
Il metodo WdfIoResourceListInsertDescriptor inserisce un descrittore di risorsa nell'elenco dei requisiti di risorse configurazione logica.
Sintassi
NTSTATUS WdfIoResourceListInsertDescriptor(
[in] WDFIORESLIST ResourceList,
[in] PIO_RESOURCE_DESCRIPTOR Descriptor,
[in] ULONG Index
);
Parametri
[in] ResourceList
Handle per un oggetto framework resource-range-list che rappresenta una configurazione logica delle risorse hardware per un dispositivo.
[in] Descriptor
Puntatore a una struttura IO_RESOURCE_DESCRIPTOR che descrive una risorsa hardware.
[in] Index
Valore in base zero usato come indice nel set di descrittori di risorse già presenti nella configurazione logica specificata ResourceList. Per aggiungere un descrittore di risorsa alla fine della configurazione logica, specificare WDF_INSERT_AT_END o il valore restituito da WdfIoResourceListGetCount.
Valore restituito
WdfIoResourceListInsertDescriptor 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 è stato autorizzato ad aggiungere descrittori alla configurazione logica. |
|
Il framework non è riuscito ad allocare spazio per archiviare il descrittore. |
|
Valore specificato dal parametro Index troppo grande. |
Se il driver fornisce un handle di oggetto non valido, si verifica un controllo dei bug di sistema.
Osservazioni
Il metodo WdfIoResourceListInsertDescriptor inserisce il descrittore della risorsa a cui punta il descrittore del descrittore di nella configurazione logica specificata dal parametro ResourceList, davanti al descrittore di risorsa identificato dal valore index.
Per aggiungere un descrittore di risorsa alla fine di una configurazione logica, specificare WDF_INSERT_AT_END o il valore restituito da WdfIoResourceListGetCount per il valore Index. In alternativa, usare il metodo WdfIoResourceListAppendDescriptor.
Il framework copia il contenuto della struttura IO_RESOURCE_DESCRIPTOR nell'archiviazione interna, quindi la routine del driver che chiama WdfIoResourceListInsertDescriptor può allocare la struttura localmente. Dopo che il driver chiama WdfIoResourceListInsertDescriptor, il driver può riutilizzare la struttura IO_RESOURCE_DESCRIPTOR.
Per altre informazioni sugli elenchi di requisiti delle risorse e sulle configurazioni logiche, vedere Risorse hardware per i driver Framework-Based.
Esempi
Nell'esempio di codice seguente viene inizializzato un descrittore di risorsa e viene aggiunto il descrittore alla fine di una configurazione logica.
IO_RESOURCE_DESCRIPTOR descriptor;
RtlZeroMemory(&descriptor, sizeof(descriptor));
descriptor.Option = 0;
descriptor.Type = CmResourceTypePort;
descriptor.ShareDisposition = CmResourceShareDeviceExclusive;
descriptor.Flags = CM_RESOURCE_PORT_IO|CM_RESOURCE_PORT_16_BIT_DECODE;
descriptor.u.Port.Length = 1;
descriptor.u.Port.Alignment = 0x01;
descriptor.u.Port.MinimumAddress.QuadPart = 0;
descriptor.u.Port.MaximumAddress.QuadPart = 0xFFFF;
status = WdfIoResourceListInsertDescriptor(
logConfig,
&descriptor,
WDF_INSERT_AT_END
);
if (!NT_SUCCESS(status)) {
return status;
}
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
versione minima di KMDF | 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) |