OID_PM_ADD_WOL_PATTERN

作为一组,NDIS 协议驱动程序使用 OID_PM_ADD_WOL_PATTERN OID 向网络适配器添加电源管理 LAN 唤醒模式。 结构 中的 InformationBuffer成员 NDIS_OID_REQUEST指向 结构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状态指示 。 该 结构中的 StatusBuffer成员 NDIS_STATUS_INDICATION拒绝的 WOL 模式的 ULONG WOL 模式标识符。

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

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

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 设置 DATA。SET_INFORMATION。中的 BytesNeeded 成员NDIS_OID_REQUEST到所需的最小缓冲区大小。

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