OID_PM_ADD_WOL_PATTERN
作为一组,NDIS 协议驱动程序使用 OID_PM_ADD_WOL_PATTERN OID 向网络适配器添加电源管理唤醒模式。 InformationBufferNDIS_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 状态指示。 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) |