NDIS_PORT_CHARACTERISTICS 结构 (ntddndis.h)
NDIS_PORT_CHARACTERISTICS 结构指定 NDIS 端口的特征。 有关 NDIS 端口的详细信息,请参阅 NDIS 端口。
语法
typedef struct _NDIS_PORT_CHARACTERISTICS {
NDIS_OBJECT_HEADER Header;
NDIS_PORT_NUMBER PortNumber;
ULONG Flags;
NDIS_PORT_TYPE Type;
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;
} NDIS_PORT_CHARACTERISTICS, *PNDIS_PORT_CHARACTERISTICS;
成员
Header
NDIS_PORT_CHARACTERISTICS 结构的NDIS_OBJECT_HEADER结构。 将 Header 指定的结构的 Type 成员设置为 NDIS_OBJECT_TYPE_DEFAULT,将 Revision 成员设置为 NDIS_PORT_CHARACTERISTICS_REVISION_1,将 Size 成员设置为 NDIS_SIZEOF_PORT_CHARACTERISTICS_REVISION_1。
PortNumber
与此 NDIS_PORT_CHARACTERISTICS 结构关联的 NDIS 端口数。 PortNumber 值是一个NDIS_PORT_NUMBER值,其数据类型为 ULONG,从零到0xffffff有效,其中零是为默认端口保留的。
Flags
端口特征标志的按位 OR 组合;如果未设置标志,则为零。 目前有一个标志。
如果设置了NDIS_PORT_CHAR_USE_DEFAULT_AUTH_SETTINGS标志,则 NDIS 将忽略身份验证状态设置,并改用默认的身份验证状态。 微型端口驱动程序可以使用此标志请求 NDIS 为其分配和激活的端口使用默认身份验证状态设置。 如果微型端口驱动程序控制默认端口,则在微型端口驱动程序激活默认端口时,驱动程序可以设置NDIS_PORT_CHAR_USE_DEFAULT_AUTH_SETTINGS以使用默认身份验证状态设置激活默认端口。
Type
NDIS 端口的类型。 有关详细信息,请参阅 NDIS 端口的类型。 此类型可以是下列值之一:
NdisPortTypeUndefined
默认端口类型。
NdisPortTypeBridge
预留给系统使用。
NdisPortTypeRasConnection
远程访问服务 (RAS) 连接。
NdisPortType8021xSupplicant
与此主机上的接入点关联的远程无线站。
NdisPortTypeNdisImPlatform
预留给系统使用。
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
端口在接收操作 (处于受控状态,即端口需要授权 ) ,SendAuthorizationState 成员中的值确定身份验证状态。
NdisPortControlStateUncontrolled
对于接收操作,端口处于不受控制状态。 因此,身份验证不适用于此端口。
SendAuthorizationState
发送操作的端口的授权状态。 如果 SendControlState 成员设置为 NdisPortControlStateUncontrolled,请忽略此成员。
SendAuthorizationState 必须包含以下值之一:
NdisPortAuthorizationUnknown
端口的发送操作授权状态未知。
NdisPortAuthorized
该端口已获得发送操作的授权。
NdisPortUnauthorized
端口无权执行发送操作。
NdisPortReauthorizing
端口正在重新授权发送操作。
RcvAuthorizationState
接收操作的端口的授权状态。 如果 RcvControlState 成员设置为 NdisPortControlStateUncontrolled,请忽略此成员。
RcvAuthorizationState 必须包含以下值之一:
NdisPortAuthorizationUnknown
端口的接收操作的授权状态未知。
NdisPortAuthorized
该端口已获得接收操作的授权。
NdisPortUnauthorized
端口无权执行接收操作。
NdisPortReauthorizing
端口正在为接收操作重新授权。
注解
NDIS_PORT_CHARACTERISTICS 结构指定 NDIS 端口的特征。 此结构显示在与 OID_GEN_ENUMERATE_PORTS OID 一起使用的 NDIS_PORT_ARRAY 结构中提供的端口特征列表中。
若要分配 NDIS 端口,驱动程序会初始化 NDIS_PORT_CHARACTERISTICS 结构,并将其传递给 NdisMAllocatePort 函数。 当 NdisMAllocatePort 成功返回时,NDIS 将 NDIS_PORT_CHARACTERISTICS 的 PortNumber 成员设置为 NDIS 分配给该端口的端口号。
NDIS 在端口激活即插即用 (PnP) 事件中使用端口链接列表。 NDIS 使用 NDIS_PORT 结构创建端口的链接列表,每个 NDIS_PORT 结构都包含 一个NDIS_PORT_CHARACTERISTICS 结构。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.0 及更高版本中受支持。 |
标头 | ntddndis.h (包括 Ndis.h) |