OID_PM_ADD_WOL_PATTERN

作为集,NDIS 协议驱动程序使用 OID_PM_ADD_WOL_PATTERN OID 向网络适配器添加电源管理唤醒模式。 NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向NDIS_PM_WOL_PATTERN结构的指针。

注解

NDIS 6.20 及更高版本的协议驱动程序使用 OID_PM_ADD_WOL_PATTERN 将 LAN 唤醒 (WOL) 模式添加到网络适配器。 OID 请求包含一个条件,即网络适配器在处于低功耗状态时必须与传入数据包进行比较。 网络适配器在收到与模式条件匹配的数据包时,必须生成唤醒事件。

协议驱动程序可以在成功绑定到基础网络适配器后添加 WOL 模式,并在具有必要的数据 ((例如接口的 IP 地址)) 来设置 WOL 模式。 协议驱动程序还可以添加 WOL 模式,以响应某些其他电源管理事件通知,例如拒绝以前添加的 WOL 模式或卸载的协议。

为了避免绑定到同一微型端口适配器的 NDIS 和其他协议驱动程序中的争用情况,在 NDIS 开始将网络适配器设置为低功耗状态后,任何向该网络适配器添加新唤醒模式的尝试都将失败。 例如,如果 NDIS 协议驱动程序尝试在处理该网络适配器的 NetEventSetPower 事件通知的上下文中添加新的 WOL 模式,则 NDIS 将使请求失败。

在 NDIS 将此 OID 请求向下发送到基础 NDIS 驱动程序或完成对过度分配驱动程序的请求之前,它会将 NDIS_PM_WOL_PATTERN 结构的 ULONG PatternId 成员设置为唯一值。 协议驱动程序和 NDIS 将此模式标识符与 OID_PM_REMOVE_WOL_PATTERN OID 请求一起使用,以从基础网络适配器中删除 WOL 模式。

注意 模式标识符是在网络适配器上设置的每个模式的唯一值。 但是,模式标识符并非在所有微型端口适配器中全局唯一。

如果 NDIS 或基础网络适配器删除 WOL 模式,则会生成 NDIS_STATUS_PM_WOL_PATTERN_REJECTED 状态指示。 NDIS_STATUS_INDICATION 结构的 StatusBuffer 成员包含已拒绝的 WOL 模式的 ULONG WOL 模式标识符。

微型端口驱动程序返回请求的以下状态代码之一:

NDIS_STATUS_SUCCESS
已成功添加请求的模式。 NDIS_PM_WOL_PATTERN 结构的 PatternId 成员包含模式标识符。

NDIS_STATUS_PENDING
请求正在等待完成。 请求完成后,NDIS 会将最终状态代码和结果传递给调用方 OID 请求完成处理程序。

NDIS_STATUS_PM_WOL_PATTERN_LIST_FULL
请求失败,因为模式列表已满,并且网络适配器无法添加其他模式。

NDIS_STATUS_RESOURCES
由于缺少资源,NDIS 或基础网络适配器无法添加新模式。

NDIS_STATUS_INVALID_PARAMETER
NDIS_PM_WOL_PATTERN 结构中的一个或多个参数无效。

NDIS_STATUS_BUFFER_TOO_SHORT
信息缓冲区太短。 NDIS 设置 数据。SET_INFORMATION。NDIS_OID_REQUEST结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。

NDIS_STATUS_NOT_SUPPORTED
网络适配器不支持请求的 WOL 模式。

NDIS_STATUS_FAILURE
请求因上述原因以外的原因而失败。

要求

版本

在 NDIS 6.20 及更高版本中受支持。 对于微型端口驱动程序是必需的。

标头

Ntddndis.h (包括 Ndis.h)

另请参阅

NDIS_OID_REQUEST

NDIS_PM_WOL_PATTERN

NDIS_STATUS_INDICATION

NDIS_STATUS_PM_WOL_PATTERN_REJECTED

OID_PM_REMOVE_WOL_PATTERN

OID_PNP_ADD_WAKE_UP_PATTERN