Partilhar via


Localizando e mapeando recursos de hardware em drivers UMDF 1.x

Aviso

O UMDF 2 é a versão mais recente do UMDF e substitui o UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Drivers universais do Windows devem usar UMDF 2.

Os exemplos umdf 1 arquivados podem ser encontrados no Windows 11, versão 22H2 – Atualização de exemplos de driver de maio de 2022.

Para obter mais informações, consulte Introdução com UMDF.

Se você estiver usando o UMDF versão 2.0 ou posterior, consulte Localizando e mapeando recursos de hardware.

Um driver UMDF 1.x recebe recursos de hardware em seu método de retorno de chamada IPnpCallbackHardware2::OnPrepareHardware . O driver usa a interface IWDFCmResourceList para examinar a lista de recursos traduzidos e identificar registros mapeados em memória, portas de E/S e interrupções.

O driver itera pela lista de recursos chamando IWDFCmResourceList::GetCount e IWDFCmResourceList::GetDescriptor.

Se o driver receber registros mapeados em memória, o driver deverá chamar IWDFDevice3::MapIoSpace para mapear os registros antes de poder acessá-los. Normalmente, um driver mapeia seus registros em seu método IPnpCallbackHardware2::OnPrepareHardware . O driver cancela omaps dos registros em seu retorno de chamada IPnpCallbackHardware2::OnReleaseHardware chamando IWDFDevice3::UnmapIoSpace. Observe que o mapeamento não é necessário para portas de E/S.

Para obter um exemplo que mostra como um driver localiza e mapeia recursos de registro mapeados em memória, consulte IWDFDevice3::MapIoSpace.