NDIS_PORT_STATE结构指定 NDIS 端口的端口状态信息。
语法
typedef struct _NDIS_PORT_STATE {
NDIS_OBJECT_HEADER Header;
NDIS_MEDIA_CONNECT_STATE MediaConnectState;
ULONG64 XmitLinkSpeed;
ULONG64 RcvLinkSpeed;
NET_IF_DIRECTION_TYPE Direction;
NDIS_PORT_CONTROL_STATE SendControlState;
NDIS_PORT_CONTROL_STATE RcvControlState;
NDIS_PORT_AUTHORIZATION_STATE SendAuthorizationState;
NDIS_PORT_AUTHORIZATION_STATE RcvAuthorizationState;
ULONG Flags;
} NDIS_PORT_STATE, *PNDIS_PORT_STATE;
成员
Header
NDIS_PORT_STATE结构的 NDIS_OBJECT_HEADER 结构。 将 标头 指定为 default、Revision 成员 NDIS_OBJECT_TYPE_设置为 NDIS_PORT_STATE_REVISION_1、Size 成员NDIS_SIZEOF_PORT_STATE_REVISION_1的结构 类型 成员。
MediaConnectState
端口的媒体连接状态。 此状态与该状态的信息相同 OID_GEN_MEDIA_CONNECT_STATUS_EX OID 返回。
XmitLinkSpeed
端口的传输链路速度(以位/秒为单位)。 此成员中的 -1 值表示传输链路速度未知。
RcvLinkSpeed
端口的接收链路速度(以位/秒为单位)。 此成员中 -1 的值表示接收链接速度未知。
Direction
NET_IF_DIRECTION_TYPE NDIS 网络接口方向类型。
SendControlState
用于发送作的端口的当前控制状态。 此成员必须包含以下值之一:
NdisPortControlStateUnknown
发送作的端口控制状态未知。
NdisPortControlStateControlled
端口处于发送作的受控状态。 也就是说,端口需要授权。
NdisPortControlStateUncontrolled
端口处于不可控制的发送作状态。 也就是说,端口不需要授权。
RcvControlState
用于接收作的端口的当前控制状态。 此成员必须包含以下值之一:
NdisPortControlStateUnknown
接收作的端口控制状态未知。
NdisPortControlStateControlled
端口处于接收作的受控状态。 也就是说,端口需要授权。
NdisPortControlStateUncontrolled
端口处于未控制状态,用于接收作。 也就是说,端口不需要授权。
SendAuthorizationState
用于发送作的端口的当前授权状态。 如果 SendControlState 成员设置为 NdisPortControlStateUncontrolled,则忽略此成员。
SendAuthorizationState 必须包含以下值之一:
NdisPortAuthorizationUnknown
发送作的端口授权状态未知。
NdisPortAuthorized
端口已授权用于发送作。
NdisPortUnauthorized
端口无权用于发送作。
NdisPortReauthorizing
端口重新授权用于发送作。
RcvAuthorizationState
用于接收作的端口的当前授权状态。 如果 RcvControlState 成员设置为 NdisPortControlStateUncontrolled,则忽略此成员。
RcvAuthorizationState 必须包含以下值之一:
NdisPortAuthorizationUnknown
接收作的端口授权状态未知。
NdisPortAuthorized
端口已获得接收作的授权。
NdisPortUnauthorized
该端口无权用于接收作。
NdisPortReauthorizing
端口重新授权用于接收作。
Flags
保留为 NDIS。
言论
NDIS_PORT_STATE结构用于 NDIS_STATUS_PORT_STATE 状态指示以指示端口状态更改,用于响应 OID_GEN_PORT_STATE OID 查询。
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | NDIS 6.0 及更高版本中受支持。 |
| 标头 | ntddndis.h (include Ndis.h) |