共用方式為


從 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 會在ProtocolOidRequestCompleteStatus參數傳遞要求的最終狀態。

如果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