次の方法で共有


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

NDIS は、クエリまたはドライバーの情報を設定する OID 要求を送信する CoNDIS ミニポート ドライバーの ミニポートCoOidRequest 関数を呼び出します。 NDIS は、自身のため、または NdisCoOidRequest 関数を呼び出した上位ドライバーに代わって、MiniportCoOidRequest を呼び出します。

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

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

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

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

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

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