從 NDIS 篩選驅動程式產生 OID 要求
篩選驅動程式可以藉由呼叫 NdisFOidRequest 函式來產生 OID 查詢或設定基礎驅動程式的要求。
下圖說明由篩選驅動程式產生的 OID 要求。
篩選驅動程式呼叫 NdisFOidRequest 函式之後,NDIS 會呼叫下一個基礎驅動程式的要求函式。 如需迷你埠驅動程式如何處理 OID 要求的詳細資訊,請參閱 配接器的 OID 要求。
若要同步完成, NdisFOidRequest 會傳回NDIS_STATUS_SUCCESS或錯誤狀態。 若要以非同步方式完成, NdisFOidRequest 會傳回NDIS_STATUS_PENDING。
若要判斷基礎驅動程式已成功處理哪些資訊,發出 OID 要求的篩選驅動程式必須在 OID 要求傳回之後,檢查 NDIS_OID_REQUEST 結構中 SupportedRevision 成員中的值。 如需 NDIS 版本資訊的詳細資訊,請參閱 指定 NDIS 版本資訊。
如果 NdisFOidRequest 傳回NDIS_STATUS_PENDING,NDIS 會在基礎驅動程式完成 OID 要求之後呼叫 FilterOidRequestComplete 函式。 在此情況下,NDIS 會在FilterOidRequestComplete的OidRequest參數傳遞要求的結果。 NDIS 會在FilterOidRequestComplete的Status參數傳遞要求的最終狀態。
如果NdisFOidRequest傳回NDIS_STATUS_SUCCESS,它會在OidRequest參數的NDIS_OID_REQUEST結構中傳回查詢要求的結果。 在此情況下,NDIS 不會呼叫 FilterOidRequestComplete 函 式。
當驅動程式處於重新開機、執行中、暫停或暫停狀態時,驅動程式可以呼叫NdisFOidRequest。
注意 篩選驅動程式應該追蹤其源自的 OID 要求,並確定它不會在這類要求完成時呼叫 NdisFOidRequestComplete 函式。