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 コードを決定しますが、通常は次のいずれかの値です。
リターン コード | 説明 |
---|---|
|
要求操作が正常に完了しました。 |
|
OidRequest でNDIS_OID_REQUEST構造化バッファーの Oid メンバーで指定されたOID_Xxx コードが無効であるか、基になるドライバーによってサポートされていません。 |
|
OidRequest のNDIS_OID_REQUEST構造化バッファーの InformationBufferLength メンバーで指定された値が、指定されたOID_Xxx コードの要件と一致しませんでした。 情報バッファーが小さすぎる場合、BytesNeeded メンバーには、NdisSynchronousOidRequest からの戻り値に対する InformationBufferLength の正しい値が含まれます。 |
|
指定されたNDIS_OID_REQUEST構造体の InformationBuffer で指定されたデータが、指定されたOID_Xxx コードに対して無効でした。 |
|
基になるドライバーは、要求された操作をサポートしていません。 |
|
リソース不足のため、要求を満たできませんでした。 通常、この戻り値は、メモリの割り当て試行が失敗したことを示しますが、後で送信された同じ要求が同じ理由で失敗したとは限りません。 |
|
基になるドライバーは、要求された操作 (通常は NIC のセット) を試行しましたが、失敗しました。 たとえば、マルチキャスト アドレスを設定しようとすると、この値が返される可能性があります。 |
|
閉じる操作が進行中のため、基になるドライバーが要求された操作に失敗しました。 |
|
基になるミニポート ドライバーは、現在影響を受ける NIC をリセットしているため、現時点では要求を満たすことはできません。 呼び出し元の ProtocolStatusEx 関数は、リセットが進行中であることを示すために、NDIS_STATUS_RESET_STARTで または 呼び出されます。 この戻り値は、後で送信された同じ要求が同じ理由で失敗することを必ずしも示すわけではありません。 |
|
通常、この値は非固有の既定値であり、基になるドライバーが要求に失敗する原因となったより具体的な 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 |