共用方式為


EVT_NET_DEVICE_PREVIEW_POWER_OFFLOAD回呼函式 (netdevice.h)

實作這個選擇性回呼,以拒絕與硬體不相容的通訊協定卸除。

語法

EVT_NET_DEVICE_PREVIEW_POWER_OFFLOAD EvtNetDevicePreviewPowerOffload;

NTSTATUS EvtNetDevicePreviewPowerOffload(
  [_In_] WDFDEVICE Device,
  [_In_] NETPOWEROFFLOAD PowerOffload
)
{...}

參數

[_In_] Device

用戶端驅動程式先前透過呼叫 WdfDeviceCreate取得的 WDFDEVICE 物件。

[_In_] PowerOffload

NETPOWEROFFLOAD 物件,表示要檢查的低功率通訊協定卸除。

傳回值

若要接受通訊協定卸除,回呼函式必須傳回STATUS_SUCCESS。

若要拒絕通訊協定卸除,請傳回STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL。

言論

驅動程式不需要實作 EvtNetDevicePreviewPowerOffload,因為 NetAdapterCx 已封鎖與驅動程式電源卸除功能不相容的通訊協定卸除:NET_ADAPTER_POWER_OFFLOAD_ARP_CAPABILITIESNET_ADAPTER_POWER_OFFLOAD_NS_CAPABILITIES。 不過,如果您的硬體有無法在這些功能結構中表示的額外限制,您可以提供 EvtNetDevicePreviewPowerOffload 來強制執行這些額外限制。

藉由設定 NET_DEVICE_POWER_POLICY_EVENT_CALLBACKS的適當成員,然後呼叫 NetDeviceInitSetPowerPolicyEventCallbacks來註冊此回呼函式的實作。

用戶端驅動程式通常會在建立裝置物件之前呼叫 NetDeviceInitSetPowerPolicyEventCallbacks,然後再呼叫 WdfDeviceCreate

在此回呼中,客戶端驅動程式有機會拒絕通訊協定卸除。 例如,如果 裝置 目前通訊協定卸除清單中的通訊協定卸除數目已經達到或超過硬體支援的通訊協定卸除數目,驅動程式就可以拒絕此通訊協定卸除。

如需詳細資訊,請參閱 設定電源管理

要求

要求 價值
最低支援的用戶端 Windows 10 版本 2004
最低 UMDF 版本 2.33
標頭 netdevice.h (包括 netadaptercx.h)
IRQL PASSIVE_LEVEL