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.
Quando a função de retorno de chamada EvtDeviceRemoveAddedResources ou EvtDevicePrepareHardware de um driver recebe uma lista de recursos, ela recebe duas versões da lista. Uma versão representa os recursos brutos do dispositivo e a outra representa os recursos traduzidos do dispositivo. Ambas as versões representam o mesmo conjunto de recursos de hardware, na mesma ordem.
Recursos brutos são recursos identificados por endereços relativos ao barramento ao qual o dispositivo está conectado. Normalmente, o driver que programa o dispositivo fornece esses endereços para o dispositivo.
Recursos traduzidos são recursos identificados por endereços físicos do sistema que os drivers usam para acessar os recursos.
Um driver para um dispositivo de barramento PCI recebe recursos que estão listados na ordem em que aparecem nos Registradores de Endereço Base (BARs) do dispositivo. No entanto, descritores de recursos adicionais podem ser intercalados na lista, de modo que o recurso no índice X na barra pode não corresponder ao recurso na mesma posição de índice na lista de recursos.
Para obter mais informações sobre recursos brutos e traduzidos, consulte as descrições de membros para a estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR .
Se a lista de recursos traduzida de um dispositivo contiver um recurso com o membro Type da estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR definido como CmResourceTypeMemory, cada driver que acessar esse recurso deverá fazer o seguinte:
- A função de callback EvtDevicePrepareHardware do controlador deve invocar MmMapIoSpace para mapear os endereços físicos do sistema para endereços virtuais do sistema.
- A função de retorno de chamada EvtDeviceReleaseHardware do driver deve chamar MmUnmapIoSpace para desmapear os endereçamentos.
Para obter mais informações sobre como mapear endereços relativos a barramento, consulte Mapeando endereços Bus-Relative para endereços virtuais.