Funzione WdfDeviceInitSetReleaseHardwareOrderOnFailure (wdfdevice.h)
[Si applica a KMDF e UMDF]
Il metodo WdfDeviceInitSetReleaseHardwareOrderOnFailure specifica se il framework chiama la funzione di callback EvtDeviceReleaseHardware del driver immediatamente dopo l'errore del dispositivo o attende fino a quando tutti i dispositivi figlio non sono stati rimossi.
Sintassi
void WdfDeviceInitSetReleaseHardwareOrderOnFailure(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE ReleaseHardwareOrderOnFailure
);
Parametri
[in] DeviceInit
Puntatore a una struttura WDFDEVICE_INIT .
[in] ReleaseHardwareOrderOnFailure
Enumeratore WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE tipizzato che specifica quando il framework chiama la funzione di callback EvtDeviceReleaseHardware del driver.
Valore restituito
nessuno
Osservazioni
In genere, il framework chiama la funzione di callback EvtDeviceReleaseHardware di un driver dopo aver chiamato la funzione EvtDeviceReleaseHardware per tutti i dispositivi figlio enumerati dal driver.
In caso di errore di alimentazione o alimentazione del dispositivo, il framework potrebbe chiamare evtDeviceReleaseHardware del driver prima di aver chiamato le funzioni EvtDeviceReleaseHardware per tutti i dispositivi figlio.
Per eseguire l'override di questo comportamento predefinito, un driver può chiamare WdfDeviceInitSetReleasewareOrderOnFailure per specificare che, anche negli scenari di errore del dispositivo, il framework deve sempre attendere la chiamata alla funzione EvtDeviceReleaseHardware fino a quando non ha chiamato le funzioni EvtDeviceReleaseHardware dei dispositivi figlio.
Ad esempio, un driver del bus che esegue l'accesso hardware per conto dei propri dispositivi figlio può usare questa tecnica per garantire che i dispositivi figlio non richiedano l'accesso all'hardware dopo che il framework ha chiamato la funzione di callback evtDeviceReleaseHardware del bus.
Se un driver chiama WdfDeviceInitSetReleaseHardwareOrderOnFailure, deve farlo prima di chiamare WdfDeviceCreate. Per altre informazioni sulla chiamata a WdfDeviceCreate, vedere Creazione di un oggetto dispositivo Framework.
Esempio
Nell'esempio di codice seguente viene illustrato come un driver del bus può richiedere che il framework attenda la chiamata alla funzione di callback EvtDeviceReleaseHardware fino a quando non sono stati rimossi tutti i dispositivi figlio.
WdfDeviceInitSetReleaseHardwareOrderOnFailure(
DeviceInit,
WdfReleaseHardwareOrderOnFailureAfterDescendants
);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.11 |
Versione UMDF minima | 2,0 |
Intestazione | wdfdevice.h (includere Wdf.h) |
Libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf) |