次の方法で共有


CoNDIS ミニポート ドライバー OID 要求

NDIS は、ミニポート ドライバーの MiniportCoOidRequest 関数を呼び出して、OID 要求を送信し、ドライバーの情報を照会または設定します。 NDIS は、それ自体の代わりに、または NdisCoOidRequest 関数を呼び出した上にあるドライバーの代わりに、MiniportCoOidRequest を呼び出します。

NDIS は、MiniportCoOidRequest に、要求情報を含む NDIS_OID_REQUEST 構造体へのポインターを渡します。 要求構造には、要求データを定義する要求の種類と他のメンバーを示す OID_Xxx 識別子が含まれています。

Timeout メンバーは、要求のタイムアウトを秒単位で指定します。 NDIS は、ドライバーをリセットするか、ドライバーが要求を完了する前にタイムアウトが切れた場合、要求を取り消すことができます。

RequestId メンバーは、要求の省略可能な識別子を指定します。 ミニポート ドライバーは、関連付けられている OID 要求の RequestId メンバーからドライバーが取得した値に状態表示の RequestId メンバーを設定できます。 通常、ミニポート ドライバーは、このメンバーを無視できます。 ドライバーがこのメンバーを設定する必要がある場合、ドライバーは、特定の OID の参照ページで指定されている必要な値のいずれかを使用する必要があります。 状態表示の詳細については、「CoNDIS ミニポート ドライバーの状態の表示」を参照してください。

ミニポート ドライバーは、成功または失敗の状態を返すことによって、OID 要求を同期的に完了できます。 ドライバーは、NDIS_STATUS_PENDING を返すことによって、OID 要求を非同期的に完了できます。 この場合、ドライバーは、操作を完了するために NdisMCoOidRequestComplete 関数を呼び出す必要があります。

MiniportCoOidRequest 関数が NDIS_STATUS_PENDING を返す場合、NDIS は、保留中の要求が完了する前にアダプターの別の要求でMiniportCoOidRequest を呼び出すことができます。 これは、すべての OID 要求がシリアル化されるコネクションレス NDIS インターフェイスとは異なる点に注意してください。

NDIS は、CoNDIS OID 要求を取り消すミニポート ドライバーの MiniportCancelOidRequest 関数を呼び出すことができます。