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)

Vedi anche

EvtDeviceReleaseHardware

WDFDEVICE_INIT

WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE