管理自定义交换机功能状态信息

Hyper-V 可扩展交换机接口使用以下对象标识符 (OID) 来查询可扩展交换机的自定义状态信息。 此状态信息称为 交换机功能状态 信息:

OID_SWITCH_FEATURE_STATUS_QUERY
此 OID 方法请求由可扩展交换机的协议边缘发出,以获取指定开关属性的自定义功能状态信息。

从此 OID 方法请求成功返回后,NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向缓冲区的指针。 此缓冲区包含以下数据:

  • 一个NDIS_SWITCH_FEATURE_STATUS_PARAMETERS结构,用于指定要返回的自定义功能状态信息。

    注意 对于自定义功能状态, FeatureStatusType 成员设置为 NdisSwitchPropertyTypeCustom

  • 一个NDIS_SWITCH_FEATURE_STATUS_CUSTOM结构,包含有关分配给可扩展交换机端口的自定义属性的状态信息。

    当可扩展交换机的协议边缘发出 OID_SWITCH_FEATURE_STATUS_QUERY 请求时,它将 FeatureStatusCustomBufferLengthFeatureStatusCustomBufferOffset 成员设置为 InformationBuffer 成员中可用于返回功能状态信息的位置。

可扩展交换机扩展收到 OID_SWITCH_FEATURE_STATUS_QUERY的 OID 方法请求时,必须遵循以下准则:

  • 如果扩展管理与 NDIS_SWITCH_FEATURE_STATUS_PARAMETERS 结构的 FeatureStatusId 成员匹配的自定义可扩展交换机功能状态,则 扩展 必须处理 OID 请求。

  • 如果扩展处理 OID 方法请求,则必须返回与 NDIS_SWITCH_FEATURE_STATUS_PARAMETERS 结构指定的参数匹配的特征状态信息。

    如果功能状态缓冲区太小,则扩展必须通过NDIS_STATUS_INVALID_LENGTH使 OID 请求失败。 扩展必须设置 DATA。SET_INFORMATION。NDIS_OID_REQUEST结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。

    否则,扩展必须返回功能状态信息,并使用NDIS_STATUS_SUCCESS完成 OID 请求。

  • 如果扩展不管理自定义可扩展交换机功能状态,则必须调用 NdisFOidRequest 以将 OID 请求转发到可扩展交换机驱动程序堆栈。

    有关如何转发 OID 请求的详细信息,请参阅 筛选 NDIS 筛选器驱动程序中的 OID 请求

有关如何定义和注册交换机功能状态信息的详细信息,请参阅 自定义交换机功能状态