次の方法で共有


NDIS プロトコル ドライバーからの OID 要求の生成

基になるドライバーに OID 要求を送信するには、プロトコルは NdisOidRequest 関数を呼び出します。

次の図は、プロトコル ドライバーによって送信される OID 要求を示しています。

プロトコル ドライバーによって送信された OID 要求を示す図。

プロトコル ドライバーが NdisOidRequest 関数を呼び出した後、NDIS は、次の基になるドライバーの要求関数を呼び出します。 ミニポート ドライバーが OID 要求を処理する方法の詳細については、 アダプターの OID 要求を参照してください。 フィルター ドライバーが OID 要求を処理する方法の詳細については、「 フィルター モジュール OID 要求」を参照してください。

同期的に完了するには、 NdisOidRequest はNDIS_STATUS_SUCCESSまたはエラー状態を返します。 非同期的に完了するために、 NdisOidRequest はNDIS_STATUS_PENDINGを返します。

NdisOidRequest がNDIS_STATUS_PENDINGを返す場合、基になるドライバーが OID 要求を完了した後、NDIS は ProtocolOidRequestComplete 関数を呼び出します。 この場合、NDIS は ProtocolOidRequestCompleteOidRequest パラメーターで要求の結果を渡します。 NDIS は、ProtocolOidRequestComplete状態パラメーターで要求の最終的な状態を渡します。

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 を呼び出すことができます。