Ricerca e mapping delle risorse hardware in driver UMDF 1.x
Avviso
UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Nessuna nuova funzionalità viene aggiunta a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2.
Gli esempi di UMDF 1 archiviati sono disponibili nell'Windows 11, versione 22H2 - Aggiornamento degli esempi di driver di maggio 2022.
Per altre informazioni, vedere Introduzione con UMDF.
Se si usa UMDF versione 2.0 o successiva, vedere Ricerca e mapping delle risorse hardware.
Un driver UMDF 1.x riceve risorse hardware nel relativo metodo di callback IPnpCallbackWare2::OnPrepareHardware . Il driver usa l'interfaccia IWDFCmResourceList per esaminare l'elenco di risorse tradotte e identificare i registri mappati alla memoria, le porte di I/O e gli interruzioni.
Il driver esegue l'iterazione dell'elenco di risorse chiamando IWDFCmResourceList::GetCount e IWDFCmResourceList::GetDescriptor.
Se il driver riceve registri mappati alla memoria, il driver deve chiamare IWDFDevice3::MapIoSpace per eseguire il mapping dei registri prima di accedervi. In genere, un driver esegue il mapping dei registri nel relativo metodo IPnpCallbackHardware2::OnPrepareHardware . Il driver annulla il mapping dei registri nel relativo callback IPnpCallbackHardware2::OnReleaseHardware chiamando IWDFDevice3::UnmapIoSpace. Si noti che il mapping non è necessario per le porte di I/O.
Per un esempio che mostra come un driver trova e esegue il mapping delle risorse di registrazione mappate alla memoria, vedere IWDFDevice3::MapIoSpace.