NdisSynchronousOidRequest 函式 (ndis.h)

通訊協定驅動程式會呼叫 NdisSynchronousOidRequest 函式來產生新的同步 OID 要求,並將它發出給基礎驅動程式。

語法

NDIS_STATUS NdisSynchronousOidRequest(
  [in] NDIS_HANDLE      NdisBindingHandle,
  [in] NDIS_OID_REQUEST *OidRequest
);

參數

[in] NdisBindingHandle

NdisOpenAdapterEx 函式所傳回的句柄,可識別系結上的目標迷你埠配接器。

[in] OidRequest

NDIS_OID_REQUEST 結構的指標,指定使用指定OID_Xxx 程式代碼要求的作業。 結構可以指定 OID 查詢、設定或方法要求。

傳回值

基礎驅動程式會決定 NdisSynchronousOidRequest 傳回哪些NDIS_STATUS_XXX 程式代碼,但通常是下列其中一個值:

傳回碼 Description
NDIS_STATUS_SUCCESS
要求作業已順利完成。
NDIS_STATUS_INVALID_OID
OidRequest 上NDIS_OID_REQUEST結構化緩衝區的 Oid 成員中指定的 OID_Xxx 程式代碼無效或不受基礎驅動程序支援。
NDIS_STATUS_INVALID_LENGTH或NDIS_STATUS_BUFFER_TOO_SHORT
OidRequest 上NDIS_OID_REQUEST結構化緩衝區之 InformationBufferLength 成員中指定的值不符合指定之OID_Xxx 程式代碼的需求。 如果信息緩衝區太小,BytesNeeded 成員會在從 NdisSynchronousOidRequest 傳回時包含 InformationBufferLength 的正確值。
NDIS_STATUS_INVALID_DATA
給定NDIS_OID_REQUEST結構中 InformationBuffer 提供的數據對於指定的 OID_Xxx 程式代碼無效。
NDIS_STATUS_NOT_SUPPORTED或NDIS_STATUS_NOT_RECOGNIZED
基礎驅動程式不支援要求的作業。
NDIS_STATUS_RESOURCES
因為資源不足,所以無法滿足要求。 一般而言,這個傳回值表示嘗試配置記憶體失敗,但不一定表示稍後提交的相同要求將會因為相同原因而失敗。
NDIS_STATUS_NOT_ACCEPTED
基礎驅動程式嘗試要求的作業,通常是在 NIC 上設定,但失敗。 例如,嘗試設定太多多播位址可能會導致此值傳回。
NDIS_STATUS_CLOSING或NDIS_STATUS_CLOSING_INDICATING
基礎驅動程式因為關閉作業正在進行中,所以要求作業失敗。
NDIS_STATUS_RESET_IN_PROGRESS
基礎迷你埠驅動程式目前無法滿足要求,因為它目前正在重設受影響的 NIC。 呼叫端的 ProtocolStatusEx 函 式是或將會使用 NDIS_STATUS_RESET_START 呼叫,以指出重設正在進行中。 此傳回值不一定表示稍後提交的相同要求將會因為相同原因而失敗。
NDIS_STATUS_FAILURE
這個值通常是非特定預設值,當沒有更特定的NDIS_STATUS_Xxx 值導致基礎驅動程序失敗要求時,就會傳回。

備註

NdisSynchronousOidRequest 函式無法用於一般 OID 要求。 針對一般 OID 要求,請改用 NdisOidRequest 函式。 NdisSynchronousOidRequest 只能用於 NDIS 支援的 OID,以便與同步 OID 介面搭配使用。 大部分的通訊協議驅動程式不需要呼叫 NdisSynchronousOidRequest

通訊協定驅動程式必須等到通訊協定驅動程序產生的任何同步 OID 要求完成之後,才關閉配接器系結。

不需要通訊協議驅動程式才能實作 ProtocolOidRequestCompleteProtocolDirectOidRequestComplete ,才能呼叫 NdisSynchronousOidRequest。 如其名所示,同步 OID 要求一律會同步完成,因此沒有異步回呼。

規格需求

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

另請參閱

NDIS_OID_REQUEST

NdisOidRequest

NdisOpenAdapterEx

ProtocolDirectOidRequestComplete

ProtocolOidRequestComplete

ProtocolStatusEx