Modifica di un elenco dei requisiti delle risorse
Dopo che il gestore PnP ha verificato che tutti i driver di un dispositivo appena connesso siano stati caricati, invia l'elenco dei requisiti hardware del dispositivo allo stack di driver del dispositivo.
Man mano che l'elenco si sposta verso il basso nello stack, il framework chiama ogni funzione e la funzione di callback EvtDeviceFilterRemoveResourceRequirements , passando l'elenco dei requisiti hardware come argomento di input. Questa funzione di callback può rimuovere le risorse hardware dall'elenco dei requisiti hardware specificato dal driver del bus, ma che il driver di funzione determina non è necessario per il funzionamento del dispositivo.
Ad esempio, un driver bus PCI potrebbe, in conformità con la specifica PCI, replicare una risorsa spazio di I/O nello spazio di memoria. Se il dispositivo può funzionare senza usare la risorsa spazio di I/O, il driver di funzione del dispositivo può rimuovere la risorsa spazio di I/O dall'elenco dei requisiti hardware.
Per rimuovere elementi dall'elenco dei requisiti, un driver può eseguire le operazioni seguenti:
- Chiamare i metodi seguenti per modificare le configurazioni logiche nell'elenco dei requisiti delle risorse:
- WdfIoResourceRequirementsListGetCount, per ottenere il numero di configurazioni logiche.
- WdfIoResourceRequirementsListGetIoResList per ottenere l'accesso a una configurazione logica.
- WdfIoResourceRequirementsListRemove e WdfIoResourceRequirementsListRemoveByIoResList per rimuovere una configurazione logica.
- Chiamare i metodi seguenti per modificare i descrittori di risorse all'interno di una configurazione logica:
- WdfIoResourceListGetCount per ottenere il numero di descrittori di risorse.
- WdfIoResourceListGetDescriptor, per ottenere l'accesso a un descrittore di risorse.
- WdfIoResourceListRemove e WdfIoResourceListRemoveByDescriptor per rimuovere un descrittore di risorse.
Quando l'elenco esegue il backup dello stack di driver, il framework chiama ogni funzione e filtra la funzione di callback EvtDeviceFilterAddResourceRequirements , passando l'elenco dei requisiti hardware come argomento di input. Questa funzione di callback può aggiungere risorse hardware aggiuntive richieste dal driver di funzione per rendere operativo il dispositivo.
Per aggiungere elementi all'elenco dei requisiti hardware, un driver può eseguire le operazioni seguenti:
- Chiamare i metodi seguenti per modificare le configurazioni logiche nell'elenco dei requisiti delle risorse:
- WdfIoResourceRequirementsListGetCount, per ottenere il numero di configurazioni logiche.
- WdfIoResourceRequirementsListGetIoResList per ottenere l'accesso a una configurazione logica.
- WdfIoResourceListCreate per creare una nuova configurazione logica.
- WdfIoResourceRequirementsListAppendIoResList o WdfIoResourceRequirementsListInsertIoResList per aggiungere una nuova configurazione logica.
- Chiamare i metodi seguenti per modificare i descrittori di risorse all'interno di una configurazione logica:
- WdfIoResourceListGetCount per ottenere il numero di descrittori di risorse.
- WdfIoResourceListGetDescriptor, per ottenere l'accesso a un descrittore di risorse.
- WdfIoResourceListAppendDescriptor o WdfIoResourceListInsertDescriptor per aggiungere un descrittore di risorse.