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) |