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 指定要NDIS_OBJECT_TYPE_DEFAULT之結構的 Type 成員、要NDIS_PORT_CHARACTERISTICS_REVISION_1的 Revision 成員,以及要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) |