Condividi tramite


Creazione di oggetti dispositivo in un driver del bus

Ogni driver del bus deve creare un oggetto dispositivo framework quando rileva che un dispositivo figlio è connesso a un dispositivo padre. Il dispositivo padre è in genere un bus, ma può anche essere un dispositivo multifunzione per cui ogni funzione richiede un set separato di driver (ad esempio una scheda audio che supporta audio digitale e MIDI). Gli oggetti dispositivo creati dai driver del bus sono denominati oggetti dispositivo fisico (PDO) perché ognuno rappresenta una connessione effettiva di un componente hardware (figlio) a un altro (l'elemento padre).

Il processo di identificazione e segnalazione dei dispositivi connessi a un bus è denominato enumerazione del bus.

Per altre informazioni sull'enumerazione del bus, vedere Enumerazione dei dispositivi in un bus.

Un driver del bus può chiamare un set di metodi di inizializzazione dell'oggetto dispositivo framework, che archivia le informazioni nella struttura WDFDEVICE_INIT . Inoltre, i driver del bus possono chiamare i metodi di inizializzazione PDO del framework.

La creazione di un oggetto dispositivo framework per un dispositivo figlio enumerato include in genere i passaggi seguenti:

Se il driver rileva un errore durante l'inizializzazione della struttura WDFDEVICE_INIT ottenuta da WdfPdoInitAllocate, il driver deve chiamare WdfDeviceInitFree anziché WdfDeviceCreate.

Dopo che il driver del bus ha creato l'oggetto dispositivo, in genere chiama WdfDeviceSetPnpCapabilities e WdfDeviceSetPowerCapabilities per segnalare le funzionalità di alimentazione e Plug and Play del dispositivo.

Ogni driver del bus è anche il driver di funzione per l'adattatore bus. Pertanto, il driver deve anche fornire una funzione di callback EvtDriverDeviceAdd . Questa funzione di callback crea un oggetto dispositivo funzionale (FDO) per ogni scheda bus nel sistema. Per altre informazioni sulla creazione di oggetti fdO, vedere Creazione di oggetti dispositivo in un driver di funzione.