Condividi tramite


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.