Funzione IoReportRootDevice (ntddk.h)
La routine IoReportRootDevice segnala un dispositivo che non può essere rilevato da un driver del bus PnP a PnP Manager. IoReportRootDevice consente di creare un solo dispositivo per ogni driver.
Sintassi
NTSTATUS IoReportRootDevice(
[in] PDRIVER_OBJECT DriverObject
);
Parametri
[in] DriverObject
Puntatore all'oggetto driver del driver che ha rilevato il dispositivo.
Valore restituito
IoReportRootDevice restituisce STATUS_SUCCESS in caso di esito positivo o il codice di errore appropriato in caso di errore.
Commenti
I driver per i dispositivi che non possono essere rilevati da un driver del bus PnP usano IoReportRootDevice per segnalare il dispositivo al sistema. I dispositivi che possono essere rilevati da un driver del bus PnP devono essere segnalati in risposta a una richiesta di IRP_MN_QUERY_DEVICE_RELATIONS .
Un driver chiama in genere questa routine dalla routine DriverEntry .
IoReportRootDevice contrassegna il dispositivo come dispositivo enumerato radice e questa identificazione è persistente tra gli avvio del sistema. Il gestore PnP "rileva" il dispositivo nell'elenco enumerato radice e lo configura come un dispositivo PnP: il gestore PnP esegue una query per le informazioni sul dispositivo, identifica i driver appropriati e chiama le routine AddDevice e invia tutti i PnP IRP appropriati.
Il sistema genera una singola stringa ID hardware per il dispositivo, nel formato ROOT\Driver in cui Driver è il nome del servizio del driver. Un driver può fornire ID hardware aggiuntivi o ID compatibili gestendo la richiesta di IRP_MN_QUERY_ID .
Un writer di driver deve fornire un file INF che corrisponda a uno qualsiasi degli ID hardware specificati o ID compatibili. Il file INF deve specificare il driver originale che ha chiamato IoReportRootDevice come driver da caricare per tali ID. Il sistema usa queste informazioni per ricompilare lo stack di driver per il dispositivo, ad esempio al riavvio. I chiamanti di IoReportRootDevice devono essere in esecuzione in IRQL = PASSIVE_LEVEL nel contesto di un thread di sistema.
I driver devono usare IoReportDetectedDevice per segnalare i dispositivi hardware che usano risorse, ma non possono essere rilevati da un driver del bus PnP anziché da IoReportRootDevice.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows 8 e versioni successive di Windows. |
Piattaforma di destinazione | Universale |
Intestazione | ntddk.h (include Ntddk.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (vedere la sezione Osservazioni) |