Condividi tramite


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)

Vedi anche

Uso della GUID_DEVICE_RESET_INTERFACE_STANDARD

IRP_MN_QUERY_INTERFACE