次の方法で共有


仮想ミニポートの初期化

仮想ミニポートの初期化を開始するには、中間ドライバーは NdisIMInitializeDeviceInstanceEx 関数を呼び出します。 中間ドライバーは通常、 ProtocolBindAdapterEx 関数からこの呼び出しを行います。 中間ドライバーが NdisIMInitializeDeviceInstanceEx を呼び出し、プラグ アンド プレイ マネージャーが NDIS を要求して仮想デバイスを起動した後、NDIS はドライバーの ミニポートInitializeEx 関数を呼び出します。

プラグ アンド プレイ マネージャーが NdisIMInitializeDeviceInstanceEx が返される前に仮想デバイスを起動する場合、ミニポートInitializeEx への呼び出しは NdisIMInitializeDeviceInstanceEx のコンテキストに含めることができます。 中間ドライバーが複数の仮想ミニポートを提供する場合、ドライバーは、使用可能にする各仮想ミニポートの NdisIMInitializeDeviceInstanceEx を呼び出す必要があります。

NDIS は、ミニポートInitParametersNDIS_MINIPORT_INIT_PARAMETERS構造体のミニポートInitializeEx に初期化パラメーターを渡します。 構造体の IMDeviceInstanceContext メンバーは、仮想デバイスのコンテキスト領域へのポインターを指定します。 ドライバーは、DeviceContext パラメーターで NdisIMInitializeDeviceInstanceEx 関数にこのポインターを渡しました。

ミニポートInitializeEx では、中間ドライバーは、仮想ミニポートを初期化するために必要な操作を実行します。 この初期化は、他のミニポート アダプターの初期化に似ています。