Partilhar via


Modificando uma lista de requisitos de recursos

Depois que o gestor PnP garante que todos os controladores de um dispositivo recém-conectado foram devidamente carregados, ele envia a lista de requisitos de hardware do dispositivo para o conjunto de controladores do dispositivo.

À medida que a lista percorre a pilha, o framework chama cada função e a função de retorno de chamada EvtDeviceFilterRemoveResourceRequirements do driver de filtro , passando a lista de requisitos de hardware como um argumento de entrada. Esta função de retorno de chamada pode remover recursos de hardware da lista de requisitos de hardware que o driver de barramento especificou, mas que o driver de função determina não serem necessários para o funcionamento do dispositivo.

Por exemplo, um driver de barramento PCI pode, de acordo com a especificação PCI, replicar um recurso de espaço de entrada/saída no espaço de memória. Se o dispositivo puder operar sem usar o recurso de espaço de E/S, o driver de função do dispositivo poderá remover o recurso de espaço de E/S da lista de requisitos de hardware.

Para remover itens da lista de requisitos, um driver pode fazer o seguinte:

À medida que a lista percorre a área superior da pilha de drivers, a estrutura chama a função de retorno de chamada EvtDeviceFilterAddResourceRequirements de cada função e do driver de filtro, passando a lista de requisitos de hardware como um argumento de entrada. Esta função de callback pode adicionar recursos de hardware adicionais que o driver de função requer para tornar o dispositivo funcional.

Para adicionar itens à lista de requisitos de hardware, um driver pode fazer o seguinte: