作為查詢,OID_GEN_CURRENT_PACKET_FILTER OID 會報告迷你埠驅動程式接收指示的 net 封包類型。
OID_GEN_CURRENT_PACKET_FILTER OID 會設定通訊協定從迷你埠驅動程式接收指示的 net 封包類型。
版本資訊
Windows Vista 和更新版本的 Windows
支援。
NDIS 6.0 和更新版本的迷你埠驅動程式
命令的。 (請參閱一節)
言論
若為 NDIS 6.0 和更新版本的迷你埠驅動程式,則不會要求查詢,而且此集合為必要專案。 NDIS 會處理迷你埠驅動程序的查詢。 迷你埠驅動程式會在初始化期間報告封包篩選資訊。
迷你埠驅動程式會將其中型類型報告為系統提供篩選連結庫的媒體類型。 封包篩選會使用 OR 作業來包含合併下列型態:
NDIS_PACKET_TYPE_DIRECTED
導向封包。 導向封包包含等於 NIC 月台位址的目的地位址。
NDIS_PACKET_TYPE_MULTICAST
多播位址封包傳送至多播位址清單中的位址。
通訊協定驅動程式可以藉由指定多播或功能位址封包類型來接收乙太網路 (802.3) 多播封包。 設定多播通訊清單或功能位址會決定 NIC 驅動程式啟用的多播位址群組。
NDIS_PACKET_TYPE_ALL_MULTICAST
所有多播位址封包,而不只是多播位址清單中列舉的封包。
NDIS_PACKET_TYPE_BROADCAST
廣播封包。
NDIS_PACKET_TYPE_PROMISCUOUS
指定所有封包,不論是否啟用 VLAN 篩選,以及 VLAN 識別碼是否相符。
NDIS_PACKET_TYPE_ALL_FUNCTIONAL
所有功能位址封包,而不只是目前功能位址中的封包。
NDIS_PACKET_TYPE_ALL_LOCAL
由已安裝通訊協定傳送的所有封包,以及由指定 NdisBindingHandle 所識別之 NIC 所指出的所有封包。
NDIS_PACKET_TYPE_FUNCTIONAL
傳送至目前功能位址中所含位址的功能位址封包。
NDIS_PACKET_TYPE_GROUP
傳送至目前群組位址的封包。
NDIS_PACKET_TYPE_MAC_FRAME
令牌通道 NIC 收到的 NIC 驅動程式框架。
NDIS_PACKET_TYPE_SMT
FDDI NIC 接收的 SMT 封包。
NDIS_PACKET_TYPE_SOURCE_ROUTING
所有來源路由封包。 如果通訊協定驅動程式設定此位,NDIS 連結庫會嘗試做為來源路由網橋。
對於媒體類型為 NdisMedium802_3 或 NdisMedium802_5的迷你埠配接器,NDIS 會在呼叫 NdisOpenAdapterEx 函式時停用封包接收,以及多播和功能位址。
對於具有所有其他媒體類型的迷你埠配接器,通訊協定驅動程式可以在 NdisOpenAdapterEx 呼叫期間,隨時開始接收封包。 請注意,通訊協定甚至可以在 NdisOpenAdapterEx 傳回之前接收封包。 一般而言,封包篩選是最佳工作,而且通訊協定驅動程式必須準備好處理接收指示,即使封包篩選為零也一般。
對於查詢,NDIS 會傳回使用 OR 運算子結合的系結篩選。
針對集合,指定的封包篩選會取代系結的先前封包篩選。 如果迷你埠驅動程式先前已啟用封包類型,但通訊協定驅動程式未在新篩選中指定該類型,則通訊協定驅動程式將不會接收此類型的封包。
對於媒體類型為 NdisMedium802_3 或 NdisMedium802_5的迷你埠配接器,如果迷你埠驅動程式未針對特定封包類型設定位以回應此查詢,則通訊協定驅動程式將不會接收該類型的封包。 因此,通訊協定驅動程式可以使用零的篩選條件呼叫 NdisOidRequest 或 NdisCoOidRequest 函式來停用封包接收。
對於具有所有其他媒體類型的迷你埠適配卡,NDIS 不會檢查封包類型。 針對這些媒體類型,通訊協定驅動程式無法藉由指定零的篩選來停用封包接收。
呼叫迷你埠驅動程式的 MiniportInitializeEx 函式時,迷你埠驅動程式的封包篩選應設定為零。 當封包篩選器為零時,會停用接收指示。 在迷你埠驅動程式的 MiniportInitializeEx 函式傳回之後,通訊協定驅動程式可以將OID_GEN_CURRENT_PACKET_FILTER設定為非零值,讓迷你埠驅動程式能夠指出接收的封包給該通訊協定。
如果啟用NDIS_PACKET_TYPE_PROMISCUOUS位的雜交模式,則即使傳送網路節點未將封包導向至封包,通訊協定驅動程式仍會繼續接收封包。 NDIS 接著會傳送 NIC 接收的所有封包通訊協定驅動程式。
設定特定的封包篩選不會改變系結至相同 NIC 之其他通訊協定驅動程式的封包篩選。 例如,如果一個系結通訊協定啟用交集模式,則其他系結通訊協定驅動程式不會接收其本身封包篩選器未特別要求的封包。
Native 802.11 封包篩選器
Native 802.11 迷你埠驅動程式只能支援下列標準封包篩選類型:
NDIS_PACKET_TYPE_DIRECTED
NDIS_PACKET_TYPE_MULTICAST
NDIS_PACKET_TYPE_BROADCAST
NDIS_PACKET_TYPE_PROMISCUOUS
啟用時,這些標準封包篩選僅適用於802.11數據封包。
此外,Native 802.11 迷你埠驅動程序必須支援下列封包篩選類型,其專屬於 Native 802.11 媒體:
NDIS_PACKET_TYPE_802_11_RAW_DATA
802.11 媒體訪問控制 (MAC) 通訊協定數據單位 (MPDU) 框架,其中包含 802.11 月臺所接收格式的所有數據。 設定此篩選條件時,驅動程式必須先指出每個未修改的 MPDU 片段,才能指出從 MPDU 片段重新組合的 MAC 服務數據單位 (MSDU) 封包。
如果 MPDU 片段已加密,則它不得在指出片段之前解密。 不過,迷你埠驅動程序必須先解密每個 MPDU 片段,再重新組合並指出 MSDU 封包。
如果啟用,此篩選類型只會影響其他標準封包篩選,例如NDIS_PACKET_TYPE_DIRECTED或NDIS_PACKET_TYPE_BROADCAST。
如需指示原始 802.11 資料封包之 方法的詳細資訊,請參閱 指出原始 802.11 封包。
NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT
導向 802.11 管理封包。 導向封包包含等於 NIC 月台位址的目的地位址。
NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT
多播 802.11 管理封包傳送至多播地址清單中的位址。
NDIS_PACKET_TYPE_802_11_ALL_MULTICAST_MGMT
802.11 月臺接收的所有多播 802.11 管理封包,不論 802.11 MAC 標頭中的目的地位址是否位於多播地址清單中。
NDIS_PACKET_TYPE_802_11_BROADCAST_MGMT
廣播 802.11 站收到的 802.11 管理封包。
NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT
802.11 月臺接收的所有 802.11 管理封包。
NDIS_PACKET_TYPE_802_11_RAW_MGMT
802.11 MPDU 管理框架,其中包含802.11月臺所接收格式的所有數據。 設定此篩選條件時,驅動程式必須先指出每個未修改的 MPDU 片段,才能指出從 MPDU 片段重新組合的 MAC 管理通訊協定數據單位 (MMPDU) 封包。
如果啟用,此篩選類型只會影響其他 802.11 管理封包篩選,例如NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT或NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT。
如需指示原始 802.11 管理封包之方法的詳細資訊,請參閱 指出原始 802.11 封包。
NDIS_PACKET_TYPE_802_11_DIRECTED_CTRL
導向802.11控制封包。 導向封包包含等於 NIC 月台位址的目的地位址。
NDIS_PACKET_TYPE_802_11_BROADCAST_CTRL
廣播 802.11 站收到的 802.11 控制封包。
NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL
802.11 月臺接收的所有 802.11 控制封包。
如果迷你埠驅動程式是以 Native 802.11 網路監視器 (NetMon) 或可延伸存取點 (AP) 模式運作,驅動程式必須透過一組OID_GEN_CURRENT_PACKET_FILTER要求啟用下列封包篩選。
NDIS_PACKET_TYPE_PROMISCUOUS
NDIS_PACKET_TYPE_802_11_RAW_DATA
NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT
NDIS_PACKET_TYPE_802_11_RAW_MGMT
NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL
除了 NetMon 之外,其他 Native 802.11 模式中執行的迷你埠驅動程式不得啟用這些封包篩選設定,但NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL除外。 在 NetMon 模式中未運作的迷你埠驅動程式可以選擇性地透過一組OID_GEN_CURRENT_PACKET_FILTER要求來啟用NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL。
注意 當迷你埠驅動程序處於 NetMon 以外的原生 802.11 模式,且已設定OID_GEN_CURRENT_PACKET_FILTER時,如果 OID 數據中已啟用任何不交集或原始篩選設定,驅動程式就不得失敗設定要求。
如需 NetMon 和 ExtAP 作業模式的詳細資訊,請參閱下列主題:
要求
頁眉 |
Ntddndis.h (包括 Ndis.h) |