次の方法で共有


中間ドライバーでの設定およびクエリへの応答

NDIS 中間ドライバーは上位 NDIS ドライバーにバインドされているため、MiniportOidRequest 関数からクエリとセットを受信することもできます。 場合によっては、中間ドライバーは、下位ミニポート ドライバーにこのような要求を渡すだけです。 それ以外の場合は、これらのクエリに応答し、必要に応じて上端でエクスポートするメディアに設定できます。 中間ドライバーは常に、上位 NDIS ドライバーから下位ミニポート ドライバーで受け取る任意の OID_PNP_Xxx 要求を通過する必要があります。 NDIS 6.0 中間ドライバーは、OID 要求を取り消すこともできます。

下位ドライバーに要求を転送するには、NDIS 中間ドライバーは、NdisAllocateCloneOidRequest を呼び出して、複製された NDIS_OID_REQUEST 構造体を割り当てます。 ドライバーは、NdisOidRequest 関数を呼び出して要求を送信します。 要求が完了したら、ドライバーは NdisFreeCloneOidRequest 関数を呼び出して、NDIS_OID_REQUEST 構造体を解放する必要があります。

OID 要求をキャンセルするには、NdisCancelOidRequest 関数を呼び出します。

通常、中間ドライバーが受信する一般的な OID は、中間ドライバーが下位ミニポート ドライバーに送信するものと同じまたは類似しています。 中間ドライバーが受け取るメディア固有の OID は、上位ドライバーに必要なメディアの種類です。

中間ドライバー自体が下位ミニポートにセット要求を渡す代わりに OID の設定を処理する場合は、設定する値を検証する必要があります。 中間ドライバーが、設定する値が範囲外であると判断した場合は、セット要求を失敗させる必要があります。

注: 中間ドライバーが、TCP オフロード関数をネットワーク データ上で実行できないように、下位ミニポート ドライバーに転送する TCP ネットワーク データの内容を変更する場合、中間ドライバーは、下位ミニポートに要求を渡す代わりに、NDIS_STATUS_NOT_SUPPORTED の状態で OID_TCP_OFFLOAD_CURRENT_CONFIG クエリに応答する必要があります。

中間ドライバーでのセットとクエリへの応答の詳細については、「ミニポート ドライバー情報の取得と設定」および「WMI の NDIS サポート」を参照してください。