共用方式為


FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE函式 (ndis.h)

從基礎驅動程式完成同步 OID 要求之後,NDIS 會呼叫篩選驅動程式的 FilterSynchronousOidRequestComplete 函式。

NDIS 6.81 和更新版本支援此函式。

語法

void FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE(
  [in]      NDIS_HANDLE      FilterModuleContext,
  [in, out] NDIS_OID_REQUEST *OidRequest,
  [in, out] NDIS_STATUS      *Status,
  [in]      PVOID            CallContext
);

參數

[in] FilterModuleContext

此要求目標之篩選模組的內容區域句柄。 篩選驅動程式在 FilterAttach 函式中建立並初始化此內容區域。

[in, out] OidRequest

指定已完成作業 之NDIS_OID_REQUEST 結構的指標。

[in, out] Status

正在完成之要求結果狀態代碼的指標。

[in] CallContext

篩選驅動程式在其 FilterSynchronousOidRequestFilterSynchronousOidRequestComplete 處理程式之間共享狀態的 PVOID 大小儲存位置。 如果篩選驅動程式實作 FilterSynchronousOidRequest 處理程式,此參數會包含 FilterSynchronousOidRequest 處理程式傳回的內容值。 否則,如果篩選驅動程式未實作 FilterSynchronousOidRequest 處理程式,這個值會是零。

傳回值

備註

FilterSynchronousOidRequestComplete 是選擇性函式。 如果篩選驅動程式不需要觀察或修改從迷你埠驅動程式完成的同步 OID 要求,篩選驅動程式在呼叫 NdisFRegisterFilterDriver 時,應該將此函式的進入點設定為 NULL

NDIS 會呼叫篩選驅動程式的 FilterSynchronousOidRequestComplete 函式來處理基礎驅動程式完成的同步 OID 要求。 篩選驅動程式可以讀取或修改 NDIS_OID_REQUEST 結構中的某些欄位,如下所示:

欄位 篩選存取
標頭 唯讀
RequestType 讀取/寫入
PortNumber 讀取/寫入
逾時 請勿存取
RequestId 請勿存取
RequestHandle 讀取/寫入
DATA 讀取/寫入
NdisReserved 請勿存取
MiniportReserved 請勿存取
SourceReserved 請勿存取
SupportedRevision 讀取/寫入
Reserved1、Reserved2 請勿存取
SwitchId 讀取/寫入
VPortId 讀取/寫入
Flags 讀取/寫入

除了修改 NDIS_OID_REQUEST 結構之外,篩選驅動程式還可以讀取或修改作業完成的狀態代碼。 篩選驅動程式可以將新值寫入 *Status 參數。 篩選驅動程式不得將NDIS_STATUS_PENDING或NDIS_STATUS_ALREADY_COMPLETE寫入 *Status 參數。

如果篩選驅動程式也註冊 FilterSynchronousOidRequest 處理程式,NDIS 保證 只有在 FilterSynchronousOidRequestCompquest 處理程式傳回NDIS_STATUS_SUCCESS時,才會呼叫 FilterSynchronousOidRequest 處理程式。

篩選驅動程式預期會從 其 FilterSynchronousOidRequestComplete 處理程式快速傳回,而不會封鎖、等候或睡眠。 同步 OID 要求僅用於低延遲作業,而篩選驅動程式應該努力在數毫秒內繼續或完成這些要求。

NDIS 不會針對彼此、其他 OID 要求或 FilterPause 串行化同步 OID 要求。 篩選驅動程式必須負責實作任何必要的同步處理。

NDIS 會針對 FilterDetach 串行化同步 OID 要求:NDIS 保證在 叫用 FilterDetach 之後,不會有任何同步 OID 要求作用中。

篩選驅動程式不得在同步 OID 要求上呼叫 NdisAllocateCloneOidRequestNdisCancelOidRequest 。 篩選驅動程式不得在透過 FilterSynchronousOidRequestComplete 處理程式接收的 OID 要求上呼叫 NdisFSynchronousOidRequest

規格需求

需求
最低支援的用戶端 Windows 10 (版本 1709)
目標平台 Windows
標頭 ndis.h (包含 Ndis.h)
IRQL <= DISPATCH_LEVEL

另請參閱

FilterSynchronousOidRequest

NdisFSynchronousOidRequest

NDIS 6.80 中的同步 OID 要求介面