Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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:
- Chame os seguintes métodos para modificar as configurações lógicas na lista de requisitos de recursos:
- WdfIoResourceRequirementsListGetCount, para obter o número de configurações lógicas.
- WdfIoResourceRequirementsListGetIoResListpara obter acesso a uma configuração lógica.
- WdfIoResourceRequirementsListRemove e WdfIoResourceRequirementsListRemoveByIoResList, para remover uma configuração lógica.
- Chame os seguintes métodos para modificar os descritores de recursos dentro de uma configuração lógica:
- WdfIoResourceListGetCountpara obter o número de descritores de recursos.
- WdfIoResourceListGetDescriptor, para obter acesso a um descritor de recursos.
- WdfIoResourceListRemove e WdfIoResourceListRemoveByDescriptor, para remover um descritor de recurso.
À 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:
- Chame os seguintes métodos para modificar as configurações lógicas na lista de requisitos de recursos:
- WdfIoResourceRequirementsListGetCount, para obter o número de configurações lógicas.
- WdfIoResourceRequirementsListGetIoResListpara obter acesso a uma configuração lógica.
- WdfIoResourceListCreatepara criar uma nova configuração lógica.
- WdfIoResourceRequirementsListAppendIoResList ou WdfIoResourceRequirementsListInsertIoResListpara adicionar uma nova configuração lógica.
- Chame os seguintes métodos para modificar os descritores de recursos dentro de uma configuração lógica:
- WdfIoResourceListGetCountpara obter o número de descritores de recursos.
- WdfIoResourceListGetDescriptor, para obter acesso a um descritor de recursos.
- WdfIoResourceListAppendDescriptor ou WdfIoResourceListInsertDescriptor, para adicionar um descritor de recurso.