NetDeviceRequestReset function (netadaptercx.h)

The NetDeviceRequestReset function triggers the NetAdapterCx framework to perform the platform-level device reset operation that recovers an unresponsive NIC device.

Syntax

void NetDeviceRequestReset(
  [_In_] WDFDEVICE Device
);

Parameters

[_In_] Device

The WDFDEVICE object the client driver previously created with a call to WdfDeviceCreate.

Return value

None

Remarks

A client driver calls NetDeviceRequestReset when it detects device failure. NetDeviceRequestReset returns immediately to the client driver. The driver can only call NetDeviceRequestReset at PASSIVE_LEVEL.

NetDeviceRequestReset is nonblocking and returns immediately to the client driver. The client driver should cancel any ongoing jobs that access the currently failed device.

We recommend that client drivers set up a NET_DEVICE_RESET_CAPABILITIES structure to collect meaningful reset diagnostics during the device reset and recovery process. For more on how to collect reset diagnostics, see Register the optional diagnostics collection callback.

NetDeviceRequestReset is only applicable for PCIe based NIC devices. For USB based NIC devices, follow the process described in How to recover from USB pipe errors.

If the device encounters an unrecoverable hardware or software error, the client driver can use the WdfDeviceSetFailed function.

Requirements

Requirement Value
Minimum supported client Windows 11
Minimum supported server Windows Server 2022
Header netadaptercx.h (include netadaptercx.h)
IRQL PASSIVE_LEVEL

See also

Recovering an unresponsive NIC with NetAdapterCx PLDR

WdfDeviceCreate

NET_DEVICE_RESET_CAPABILITIES