共用方式為


列舉 VMQ 上的過濾器

若要取得接收佇列上設定的所有篩選清單,上層驅動程式和應用程式可以使用 OID_RECEIVE_FILTER_ENUM_FILTERS 方法物件識別碼 (OID)要求。

InformationBuffer 成員在 NDIS_OID_REQUEST 結構中起初包含了一個指向 NDIS_RECEIVE_FILTER_INFO_ARRAY 結構的指標。 當格式化 NDIS_RECEIVE_FILTER_INFO_ARRAY 結構時,上層驅動程式或應用程式必須將 QueueId 成員設為接收佇列的識別碼(ID)。 接收佇列識別碼是以下列方式取得:

OID_RECEIVE_FILTER_ENUM_FILTERS的 OID 方法要求成功傳回之後,InformationBuffer 成為 NDIS_OID_REQUEST 結構的成員,並包含一個指向更新的 NDIS_RECEIVE_FILTER_INFO_ARRAY 結構的指標,後面接著一個或多個 NDIS_RECEIVE_FILTER_INFO 結構。 每個 NDIS_RECEIVE_FILTER_INFO 結構都會指定在指定接收佇列上設定之篩選的標識碼。

上層驅動程式或應用程式可以使用 OID_RECEIVE_FILTER_PARAMETERS OID 方法要求,來取得在接收佇列上特定的篩選器的參數。

一開始,NDIS_OID_REQUEST 結構中的 InformationBuffer 成員會包含指向 NDIS_RECEIVE_FILTER_PARAMETERS 結構的指標。 上層驅動程式或應用程式會將 FilterId 成員設定為要返回參數的篩選器的非零ID值,來格式化 NDIS_RECEIVE_FILTER_PARAMETERS 結構。

附註 上層驅動程式從先前的 OID 方法要求 OID_RECEIVE_FILTER_SET_FILTEROID_RECEIVE_FILTER_ENUM_FILTERS中取得篩選器ID。 應用程式只能從先前的 OID 方法要求 OID_RECEIVE_FILTER_ENUM_FILTERS 中取得過濾器 ID。

NDIS 負責處理迷你埠驅動程式的 OID_RECEIVE_FILTER_ENUM_FILTERSOID_RECEIVE_FILTER_PARAMETERS 方法的 OID 請求。 NDIS 從 OID_RECEIVE_FILTER_SET_FILTER OID 要求接收到的數據的內部快取中取得資訊。