NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 結構 (ndis.h)
NDIS 迷你埠驅動程式會設定 NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 結構,以定義與迷你埠配接器相關聯的註冊屬性。
語法
typedef struct _NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES {
NDIS_OBJECT_HEADER Header;
NDIS_HANDLE MiniportAdapterContext;
ULONG AttributeFlags;
UINT CheckForHangTimeInSeconds;
NDIS_INTERFACE_TYPE InterfaceType;
} NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES, *PNDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES;
成員
Header
NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 結構的型別、修訂和大小。 此成員的格式為 NDIS_OBJECT_HEADER 結構。
迷你埠驅動程序必須將 Header 的 Type 成員設定為 NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES。 若要指定NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES結構的版本,驅動程式必須將 Header 的 Revision 成員設定為下列其中一個值:
NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2
已新增 NDIS 6.30 的 AttributeFlags 旗標。
將 Size 成員設定為 NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2。
NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1
NDIS 6.0 的原始版本。
將 Size 成員設定為 NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1。
MiniportAdapterContext
迷你埠驅動程式在其 MiniportInitializeEx 函式中配置的內容區域句柄。 迷你埠驅動程式會使用此內容區域來維護迷你埠配接器的狀態資訊。
AttributeFlags
與位 OR 結合的旗標位掩碼。 NDIS 迷你埠驅動程式應該設定下列一或多個旗標:
NDIS_MINIPORT_ATTRIBUTES_HARDWARE_DEVICE
設定迷你埠驅動程式是否直接控制實體裝置。 實體裝置會指派硬體資源,例如中斷、I/O 埠、記憶體對應 I/O 或迷你埠驅動程式應該從 中宣告的 DMA 通道 MiniportInitializeEx 函式。
NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM
設定迷你埠適配卡的較低層級介面是否為WDM 總線驅動程式,例如USB或IEEE 1394。在此情況下,迷你埠驅動程式不會配置硬體資源,例如 I/O 連接埠、中斷、記憶體對應 I/O 或 DMA 通道。 相反地,驅動程式會透過基礎總線驅動程式的WDM介面與裝置通訊。
NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER
如果呼叫端的 NIC 是總線主機 DMA 裝置, 請設定 。
NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND
設定 NDIS 是否不應該在系統轉換為低電源 (睡眠) 狀態之前呼叫迷你埠驅動程式的 MiniportHaltEx 函式。 依賴硬體維護狀態的驅動程式不應設定此旗標。
NDIS_MINIPORT_ATTRIBUTES_SURPRISE_REMOVE_OK
設定迷你埠驅動程式是否可以在沒有使用者通知的情況下處理移除其 NIC。 NDIS 驅動程式在 收到意外移除通知 MiniportDevicePnPEventNotify 函式 。
NDIS_MINIPORT_ATTRIBUTES_NOT_CO_NDIS
由可支援連線導向和無連線裝置的迷你埠驅動程式設定,以指出裝置是無連線裝置。
NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO
由未提供 TAPI 服務的 CoNDIS 迷你埠驅動程式設定。 設定NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO可防止 NDIS 將迷你埠驅動程式系結至 NDIS TAPI Proxy 驅動程式 (NDPROXY) 。 根據預設,NDIS 會將 NDPROXY 系結至所有 CoNDIS 迷你埠驅動程式。
NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT
由可呼叫 NdisMNetPnPEvent 函式的迷你埠驅動程式設定,以啟動其預設埠。 如果未設定NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT,則預設埠為使用中。 如果通訊協定驅動程式沒有作用中,NDIS 不會將通訊協定驅動程式或將篩選模組附加至迷你埠配接器。
NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND
從 NDIS 6.30 開始,如果迷你埠驅動程式能夠在不暫停的情況下轉換為低電源狀態,就會設定此旗標。
如需此旗標的詳細資訊,請參閱一節。
NDIS_MINIPORT_ATTRIBUTES_REGISTER_BUGCHECK_CALLBACK
從 NDIS 6.30 迷你埠開始,除非已設定此旗標,否則 NDIS 不會在 BugCheck 期間叫用迷你埠的 MiniportShutdownEx 處理程式。 大部分的迷你埠不應該設定此旗標。
CheckForHangTimeInSeconds
逾時間隔,以秒為單位,NDIS 應該呼叫 MiniportCheckForHangEx 函式。 如果迷你埠驅動程式未回應 OID 要求,或連續兩次呼叫 MiniportCheckForHangEx 的傳送要求,NDIS 可以呼叫迷你埠驅動程式的 MiniportResetEx 函式。
呼叫 MiniportCheckForHangEx 時,NDIS 使用的間隔一律是 2 秒的倍數。 例如,如果您指定 5 秒,則間隔大約是 4 秒。
如果此成員為 0,則預設逾時間隔為 2 秒。
InterfaceType
迷你埠適配卡的 I/O 總線介面類型。 這通常是迷你埠適配卡連接的 I/O 總線類型。 NDIS 6.0 支援下列值:
NdisInterfaceInternal
指定主機特定的內部介面。
NdisInterfaceIsa
指定 ISA 介面。
NdisInterfaceEisa
指定擴充的 ISA (EISA) 介面。 NDIS 6.0 和更新版本中不支援此介面類型。
NdisInterfaceMca
是指不再支援的 MCA 總線。 NDIS 6.0 和更新版本中不支援此介面類型。
NdisInterfaceTurboChannel
指定 Turbo 通道介面。
NdisInterfacePci
指定PCI) 介面 (周邊元件互連。
NdisInterfacePcMcia
指定個人計算機記憶體卡國際關聯 (計算機卡片) 介面。
NdisInterfaceCBus
指定 CBus。
NdisInterfaceMPIBus
指定 MPIBus。
NdisInterfaceMPSABus
指定 MPSABus。
NdisInterfaceProcessorInternal
指定處理器內部總線。
NdisInterfaceInternalPowerBus
指定內部電源總線。
NdisInterfacePNPISABus
指定 PNPISABus。
NdisInterfacePNPBus
指定 PNPBus。
這個參數與中繼驅動程序無關,這應該為此成員指定 0。
備註
迷你埠驅動程式會將指標傳遞至 MiniportAttributes 參數中的NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES結構 NdisMSetMiniportAttributes 函式 。 迷你埠驅動程式會在初始化期間從MiniportInitializeEx函式呼叫 NdisMSetMiniportAttributes。
Miniport 驅動程式應該儘快在 MiniportInitializeEx內設定NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES中的屬性。 設定這些屬性是必要的。
NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND旗標
NDIS 會在基礎迷你埠適配卡轉換為 D1、D2 或 D3 的低電源狀態之前,發出 OID_PNP_SET_POWER 至迷你埠驅動程式的 OID 要求。 當驅動程式處理此 OID 時,它必須準備迷你埠適配卡以轉換至較低的電源狀態,而且不得等待等待等待的接收封包指示完成。在某些情況下,在 NDIS 對迷你埠驅動程式發出 OID_PNP_SET_POWER 的 OID 要求之前,NDIS 會呼叫迷你埠驅動程式的 MiniportPause 函式,如下所示:
- 如果未設定NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND旗標,NDIS 會在OID_PNP_SET_POWER的 OID 要求發出給驅動程式之前呼叫miniport驅動程式的MiniportPause函式。 在 MiniportPause 呼叫的內容中,驅動程式必須等候完成擱置的接收封包指示。
-
如果已設定NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND旗標,NDIS 不會在OID_PNP_SET_POWER的 OID 要求發出給驅動程式之前呼叫miniport驅動程式的MiniportPause函式。 當迷你埠驅動程序處理 OID 要求時,它不得假設它先前在準備迷你埠適配卡以轉換為低電源狀態時暫停。
注意 當支援 NDIS 6.20 或舊版 NDIS 的通訊協定或篩選驅動程式系結或附加至迷你埠配接器時,就會發生此情況的例外狀況。 在此情況下,不論迷你埠驅動程式是否設定NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND旗標,NDIS 都會呼叫迷你埠驅動程式的MiniportPause函式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
標頭 | ndis.h (包括 Ndis.h) |