NdisSynchronousOidRequest 関数 (ndis.h)

プロトコル ドライバーは 、NdisSynchronousOidRequest 関数を呼び出して、新しい同期 OID 要求を生成し、基になるドライバーに発行します。

構文

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

パラメーター

[in] NdisBindingHandle

バインドのターゲット ミニポート アダプターを識別する NdisOpenAdapterEx 関数によって返されるハンドル。

[in] OidRequest

特定のOID_Xxx コードで要求される操作を指定するNDIS_OID_REQUEST構造体へのポインター。 構造体では、OID クエリ、セット、またはメソッドの要求を指定できます。

戻り値

基になるドライバーは、NdisSynchronousOidRequest が返すNDIS_STATUS_XXX コードを決定しますが、通常は次のいずれかの値です。

リターン コード 説明
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 要求が完了するまで、アダプター のバインドを閉じてはなりません。

プロトコル ドライバーは、NdisSynchronousOidRequest を呼び出すために ProtocolOidRequestComplete または ProtocolDirectOidRequestComplete を実装する必要はありません。 その名前が示すように、同期 OID 要求は常に同期的に完了するため、非同期コールバックはありません。

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 1709
対象プラットフォーム ユニバーサル
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

NDIS_OID_REQUEST

NdisOidRequest

NdisOpenAdapterEx

ProtocolDirectOidRequestComplete

ProtocolOidRequestComplete

ProtocolStatusEx