Enumerazione dei dispositivi (WMDM)
Windows Media Gestione dispositivi mantiene una cache di dispositivi connessi che viene aggiornata all'avvio di un'applicazione windows Media Gestione dispositivi, quando un dispositivo Plug and Play (PnP) si connette o si disconnette o quando l'applicazione chiama IWMDeviceManager2::Reinitialize. Questa cache viene esposta all'applicazione quando chiama IWMDeviceManager::EnumDevices o IWMDeviceManager2::EnumDevices2. Ogni dispositivo viene esposto all'applicazione come interfaccia IWMDMDevice . Se il provider di servizi è registrato per gestire i dispositivi PnP, Windows Media Gestione dispositivi sarà a conoscenza dell'elenco corrente dei dispositivi connessi. Se il provider di servizi è registrato per gestire i dispositivi non PnP, il provider di servizi è responsabile dell'individuazione dei dispositivi collegati. Un provider di servizi può essere registrato solo per i dispositivi PnP o non PnP, mai entrambi.
Le azioni seguenti illustrano come Windows Media Gestione dispositivi gestisce o aggiorna la cache. Si noti che la cache non viene mai aggiornata quando un dispositivo non PnP si connette o si disconnette.
Viene avviata un'applicazione windows Media Gestione dispositivi
- Windows Media Gestione dispositivi recupera un elenco di dispositivi PnP collegati dal sottosistema PnP e chiama IMDServiceProvider2::CreateDevice nel provider di servizi registrati per ogni dispositivo connesso. Individua il provider di servizi corretto eseguendo una query sul parametro del dispositivo WMDMSPCLSID per l'ID classe del provider di servizi responsabile del dispositivo. Per altre informazioni, vedere Parametri del dispositivo. Tutti i dispositivi restituiti vengono aggiunti alla cache di Windows Media Gestione dispositivi dei dispositivi.
- Windows Media Gestione dispositivi trova tutti i provider di servizi non PnP registrati e chiama IMDServiceProvider::EnumDevices in ogni provider di servizi per ottenere un elenco di dispositivi da ognuno di essi. Tutti i dispositivi restituiti vengono aggiunti alla cache.
L'applicazione chiama IWMDeviceManager/2::EnumDevices/2
- Windows Media Gestione dispositivi restituisce l'elenco dei dispositivi memorizzati nella cache.
Un dispositivo PnP si connette
- Windows Media Gestione dispositivi trova il provider di servizi pertinente e chiama IMDServiceProvider2::CreateDevice e aggiunge il dispositivo alla cache.
- Se l'applicazione implementa IWMDMNotification, Windows Media Gestione dispositivi chiama IWMDMNotification::WMDMMessage con una notifica di arrivo.
Un dispositivo PnP si disconnette
- Windows Media Gestione dispositivi rimuove l'elemento dalla cache.
- Se l'applicazione implementa IWMDMNotification, Windows Media Gestione dispositivi chiama IWMDMNotification::WMDMMessage con una notifica di partenza.
L'applicazione chiama IWMDeviceManager2::Reinitialize
- Aggiorna la cache con tutti i dispositivi connessi.
Un dispositivo non PnP si connette o si disconnette
- Windows Media Gestione dispositivi non viene informato dell'arrivo o della partenza e non esegue alcuna azione.
Argomenti correlati