管理自定义端口功能状态信息
Hyper-V 可扩展交换机接口使用以下对象标识符 (OID) 来查询可扩展交换机端口的自定义状态信息。 此状态信息称为 端口功能状态 信息:
OID_SWITCH_PORT_FEATURE_STATUS_QUERY
此 OID 方法请求由可扩展交换机的协议边缘发出,以获取指定端口属性的自定义功能状态信息。
从此 OID 方法请求成功返回后,NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向缓冲区的指针。 此缓冲区包含以下数据:
一个NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS结构,用于指定要返回的自定义功能状态信息。
注意 对于自定义功能状态, FeatureStatusType 成员设置为 NdisSwitchPortPropertyTypeCustom。
一个NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM结构,包含有关分配给可扩展交换机端口的自定义属性的状态信息。
当可扩展交换机的协议边缘发出 OID_SWITCH_PORT_FEATURE_STATUS_QUERY 请求时,它将 FeatureStatusCustomBufferLength 和 FeatureStatusCustomBufferOffset 成员设置为 InformationBuffer 成员中扩展可用于返回功能状态信息的位置。
可扩展交换机扩展收到 OID_SWITCH_PORT_FEATURE_STATUS_QUERY的 OID 方法请求时,必须遵循以下准则:
如果扩展管理与 NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS 结构的 FeatureStatusId 成员匹配的自定义可扩展交换机端口属性,则 扩展 必须处理 OID 请求。
如果扩展处理 OID 方法请求,则必须返回与 NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS 结构指定的参数匹配的特征状态信息。
如果功能状态缓冲区太小,则扩展必须通过NDIS_STATUS_INVALID_LENGTH使 OID 请求失败。 扩展必须设置 DATA。SET_INFORMATION。NDIS_OID_REQUEST结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。
否则,扩展必须返回功能状态信息,并使用NDIS_STATUS_SUCCESS完成 OID 请求。
如果扩展不管理自定义可扩展交换机属性,则必须调用 NdisFOidRequest 以将 OID 请求转发到可扩展交换机驱动程序堆栈。
有关如何转发 OID 请求的详细信息,请参阅 筛选 NDIS 筛选器驱动程序中的 OID 请求。
有关如何定义和注册端口功能状态信息的详细信息,请参阅 自定义端口功能状态。