Come vengono generati gli ID contenitore

A partire da Windows 7, il gestore Plug and Play (PnP) genera un ID contenitore per un nodo del dispositivo (devnode) tramite uno dei tre meccanismi seguenti:

  • Un driver del bus fornisce un ID contenitore.

    Quando si assegna un ID contenitore a un devnode, il gestore PnP controlla innanzitutto se il driver del bus di devnode può fornire un ID contenitore. I driver del bus forniscono un ID contenitore tramite una richiesta di IRP_MN_QUERY_ID con il campo Parameters.QueryId.IdType impostato su BusQueryContainerID.

    Se un driver del bus vuole fornire un ID contenitore, può ottenere un ID contenitore originale incorporato nell'hardware del dispositivo fisico oppure usare un ID univoco specifico del bus dall'hardware del dispositivo per generare un ID contenitore. Alcuni esempi di ID univoci specifici del bus sono il numero di serie di un dispositivo o un indirizzo MAC (Media Access Control) nel firmware del dispositivo.

    Nota

    Il fornitore hardware indipendente (IHV) è responsabile dell'univocità dell'ID contenitore segnalato dal driver del bus.

    Per altre informazioni, vedere ID contenitore generati da un Bus-Specific ID univoco.

  • Il gestore PnP genera un ID contenitore tramite la funzionalità di dispositivo rimovibile.

    Se un driver del bus non può fornire un ID contenitore per un devnode che sta enumerando, il gestore PnP usa la funzionalità di dispositivo rimovibile per generare un ID contenitore per tutti gli oggetti devnodes enumerati per il dispositivo. Il driver del bus segnala questa funzionalità del dispositivo in risposta a una richiesta di IRP_MN_QUERY_CAPABILITIES .

    Per altre informazioni, vedere ID contenitore generati dalla funzionalità dispositivo rimovibile.

  • Il gestore PnP genera un ID contenitore tramite un override della funzionalità di dispositivo rimovibile.

    Nota

    In Windows 10, i dispositivi DPWS genereranno sempre un ID contenitore per il dispositivo usando questo metodo.

    Anche se il meccanismo di override non modifica il valore della funzionalità di dispositivo rimovibile, forza il gestore PnP a usare l'impostazione di override e non il valore della funzionalità di dispositivo rimovibile durante la generazione di ID contenitore per i dispositivi.

    Ad esempio, se un override della funzionalità di dispositivo rimovibile specifica che il dispositivo è rimovibile, il gestore PnP genera un ID contenitore per tutti gli elementi devnodes enumerati per il dispositivo. Questa azione viene eseguita indipendentemente dal fatto che il dispositivo sia stato segnalato come rimovibile o meno.

    Un IHV può popolare il Registro di sistema con chiavi che eseguono l'override della funzionalità del dispositivo rimovibile segnalata dal dispositivo. Questo meccanismo di override è utile per i dispositivi legacy che non supportano la funzionalità del dispositivo rimovibile o lo segnalano in modo errato.

    Per altre informazioni, vedere ID contenitore generati da un override delle funzionalità di dispositivo rimovibile.

Oltre a questi metodi, il sistema usa le impostazioni dell'oggetto BIOS ACPI per specificare i raggruppamenti di contenitori di dispositivi. Per altre informazioni, vedere Uso di ACPI per il raggruppamento di contenitori di dispositivi.