共用方式為


DEVICE_RESET_HANDLER回呼函式 (wdm.h)

DeviceReset 例程用來重設和復原故障的裝置。

語法

DEVICE_RESET_HANDLER DeviceResetHandler;

NTSTATUS DeviceResetHandler(
  [in]           PVOID InterfaceContext,
  [in]           DEVICE_RESET_TYPE ResetType,
  [in]           ULONG Flags,
  [in, optional] PVOID ResetParameters
)
{...}

參數

[in] InterfaceContext

介面特定內容資訊的指標。 呼叫端會傳遞值,這個值會當做介面之DEVICE_RESET_INTERFACE_STANDARD結構的內容成員傳遞

[in] ResetType

所要求的重設類型。 將此參數設定為下列其中一個 DEVICE_RESET_TYPE 列舉值。

  • FunctionLevelDeviceReset。 指定此值以要求函式層級重設,限制為特定裝置。

  • PlatformLevelDeviceReset。 指定此值以要求平臺層級重設,這會影響特定裝置,以及透過相同電源軌或重設線路連線到它的其他所有裝置。

如需如何在裝置堆疊中實作函式層級和平臺層級重設的詳細資訊,請參閱 使用GUID_DEVICE_RESET_INTERFACE_STANDARD

[in] Flags

設定為 0。 目前,此例程未定義任何旗標。

[in, optional] ResetParameters

如果呼叫端要求函式層級的裝置重設,這個選擇性參數可以指向指定重設完成時所呼叫回呼例程 的FUNCTION_LEVEL_DEVICE_RESET_PARAMETERS 結構。

傳回值

如果要求的作業成功,此例程會傳回STATUS_SUCCESS。 否則,它會傳回適當的NTSTATUS錯誤碼。

備註

如果函式驅動程式偵測到裝置無法正常運作,則應該先嘗試重設函式層級。 如果函式層級重設無法修正此問題,則驅動程式可以嘗試更具入侵的平臺層級重設,但平臺層級重設應該只做為最終選項使用。

必須在PASSIVE_LEVEL執行函式層級重設或平臺層級重設。

如需函式層級和平臺層級重設的詳細資訊,請參閱 使用GUID_DEVICE_RESET_INTERFACE_STANDARD

規格需求

需求
最低支援的用戶端 Windows 10
目標平台 桌面
標頭 wdm.h (包含 Wdm.h)

另請參閱

使用 GUID_DEVICE_RESET_INTERFACE_STANDARD

IRP_MN_QUERY_INTERFACE