DEVICE_RESET_HANDLER funzione di callback (wdm.h)
La routine DeviceReset viene usata per reimpostare e ripristinare un dispositivo non funzionante.
Sintassi
DEVICE_RESET_HANDLER DeviceResetHandler;
NTSTATUS DeviceResetHandler(
[in] PVOID InterfaceContext,
[in] DEVICE_RESET_TYPE ResetType,
[in] ULONG Flags,
[in, optional] PVOID ResetParameters
)
{...}
Parametri
[in] InterfaceContext
Puntatore a informazioni di contesto specifiche dell'interfaccia. Il chiamante passa il valore passato come membro Contesto della struttura DEVICE_RESET_INTERFACE_STANDARD per l'interfaccia.
[in] ResetType
Tipo di reimpostazione richiesto. Impostare questo parametro su uno dei valori di enumerazione seguenti DEVICE_RESET_TYPE .
FunctionLevelDeviceReset. Specificare questo valore per richiedere una reimpostazione a livello di funzione, limitata a un dispositivo specifico.
PlatformLevelDeviceReset. Specificare questo valore per richiedere una reimpostazione a livello di piattaforma, che influisce su un dispositivo specifico e su tutti gli altri dispositivi connessi tramite la stessa linea di alimentazione o reimpostazione.
Per altre informazioni sul modo in cui vengono implementate le reimpostazioni a livello di funzione e a livello di piattaforma nello stack di dispositivi, vedere Uso della GUID_DEVICE_RESET_INTERFACE_STANDARD.
[in] Flags
Impostare su 0. Attualmente non vengono definiti flag per questa routine.
[in, optional] ResetParameters
Se il chiamante richiede una reimpostazione del dispositivo a livello di funzione, questo parametro facoltativo può puntare a una struttura di FUNCTION_LEVEL_DEVICE_RESET_PARAMETERS che specifica una routine di callback chiamata al completamento della reimpostazione .
Valore restituito
Questa routine restituisce STATUS_SUCCESS se l'operazione richiesta ha esito positivo. In caso contrario, restituisce un codice di errore NTSTATUS appropriato.
Commenti
Se un driver di funzione rileva che il dispositivo non funziona correttamente, deve prima tentare una reimpostazione a livello di funzione. Se una reimpostazione a livello di funzione non risolve il problema, il driver può tentare una reimpostazione a livello di piattaforma più invasiva, ma una reimpostazione a livello di piattaforma deve essere usata solo come opzione finale.
È necessario eseguire una reimpostazione a livello di funzione o a livello di piattaforma in PASSIVE_LEVEL.
Per altre informazioni sulle reimpostazioni a livello di funzione e a livello di piattaforma, vedere Uso della GUID_DEVICE_RESET_INTERFACE_STANDARD.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 |
Piattaforma di destinazione | Desktop |
Intestazione | wdm.h (include Wdm.h) |