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
篩選驅動程式在其 FilterSynchronousOidRequest 和 FilterSynchronousOidRequestComplete 處理程式之間共享狀態的 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 要求上呼叫 NdisAllocateCloneOidRequest 或 NdisCancelOidRequest 。 篩選驅動程式不得在透過 FilterSynchronousOidRequestComplete 處理程式接收的 OID 要求上呼叫 NdisFSynchronousOidRequest。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 (版本 1709) |
目標平台 | Windows |
標頭 | ndis.h (包含 Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應