共用方式為


從 NDIS 通訊協定驅動程式產生 OID 要求

為了產生基礎驅動程式的 OID 要求,通訊協定會呼叫 NdisOidRequest 函式。

下圖說明源自通訊協定驅動程式的 OID 要求。

圖表,說明 OID 要求源自通訊協定驅動程式。

通訊協定驅動程式呼叫 NdisOidRequest 函式之後,NDIS 會呼叫下一個基礎驅動程式的要求函式。 如需迷你埠驅動程式如何處理 OID 要求的詳細資訊,請參閱配接器 OID 要求。 如需篩選驅動程式如何處理 OID 要求的詳細資訊,請參閱 篩選模組 OID 要求

若要同步完成,NdisOidRequest 會傳回NDIS_STATUS_SUCCESS或錯誤狀態。 若要以異步方式完成,NdisOidRequest 會傳回NDIS_STATUS_PENDING。

如果 NdisOidRequest 傳回NDIS_STATUS_PENDING,NDIS 會在基礎驅動程式完成 OID 要求之後呼叫 ProtocolOidRequestComplete 函式。 在此情況下,NDIS 會將請求的結果在 ProtocolOidRequestCompleteOidRequest 參數中傳遞。 NDIS 會在 ProtocolOidRequestComplete Status 參數中傳遞請求的最終狀態。

如果 NdisOidRequest 傳回 NDIS_STATUS_SUCCESS,它會在 OidRequest 參數中的 NDIS_OID_REQUEST 結構中傳回查詢要求的結果。 在此情況下,NDIS 不會呼叫 ProtocolOidRequestComplete 函式。

若要判斷基礎驅動程式成功處理的資訊,發出 OID 要求的通訊協定驅動程式必須在 OID 要求傳回之後,檢查 NDIS_OID_REQUEST 結構中 SupportedRevision 成員中的值。 如需更詳細的 NDIS 版本資訊,請參閱 指定 NDIS 版本資訊

如果基礎驅動程式應該將 OID 要求與後續的狀態指示產生關聯,通訊協定驅動程式應該在NDIS_OID_REQUEST結構中設定 RequestId 成員。 當基礎驅動程式發出狀態指示時,它會將 NDIS_STATUS_INDICATION 結構中的 RequestId 成員設定為 OID 要求中提供的值。

當系結處於 重新啟動執行暫停暫停 狀態時,驅動程式可以呼叫 NdisOidRequest