ネットワーク コンポーネントのインストール
ネットワーク コンポーネントは、ネットワーク構成サブシステムによってインストールされます。
Driver Store から実行される通知オブジェクトを使用してドライバー パッケージを作成するには、最小 OS ビルド番号 25341 が必要です。 このシナリオでは、以前のバージョンの Windows にドライバー パッケージを正常にインストールできません。
ネットワーク コンポーネントをインストールするには
ネットワーク構成サブシステムは、特定のコンポーネントの種類のクラス インストーラーを呼び出します。 次に、クラス インストーラーは Setup API を呼び出して、コンポーネントの INF ファイルから情報を取得し、コンポーネントをインストールします。
コンポーネントが、通知オブジェクトを所有している場合は、クラス インストーラーは、通知オブジェクトを格納する DLL の名前を取得します。 この DLL は、コンポーネントの INF ファイルに次のように表示されます。
HKR, Ndi, ComponentDll, 0, "notifyobject.dll"
クラス インストーラーは、DLL のエントリ ポイント関数を呼び出して、通知オブジェクトを登録します。 ネットワーク構成サブシステムは、通知オブジェクトのインスタンスを作成し、オブジェクトの INetCfgComponentControl::Initialize メソッドを呼び出します。 このメソッドは、オブジェクトを初期化し、コンポーネントとネットワーク構成のすべての側面へのアクセスを提供します。
コンポーネントのインストールに必要な操作を実行するために、ネットワーク構成サブシステムは通知オブジェクトの INetCfgComponentSetup::Install メソッドを呼び出します。
コンポーネントのインストールが無人の場合、ネットワーク構成サブシステムは通知オブジェクトの INetCfgComponentSetup::ReadAnswerFile メソッドを呼び出します。 このメソッドは、応答ファイルと呼ばれる無人セットアップ用のファイルを開き、そこからコンポーネントのパラメーターを取得します。
ネットワーク構成サブシステムは、通知オブジェクトのインスタンスを作成して初期化した後、通知オブジェクトの INetCfgComponentNotifyGlobal::GetSupportedNotifications メソッドを呼び出して、オブジェクトに必要な通知の種類を取得します。 サブシステムはこの情報を使用して、必要な通知をオブジェクトに送信します。 オブジェクトは、これらの通知を使用して、オブジェクトを所有するコンポーネントに影響を与える可能性のあるネットワークのセットアップと構成の側面を制御できます。 たとえば、サブシステムが INetCfgComponentNotifyGlobal::SysNotifyComponent メソッドを呼び出して、サブシステムが別のネットワーク コンポーネントをインストールまたは削除したことをオブジェクトに通知する場合、オブジェクトは、変更に関連する操作を実行する機会があります。
ネットワーク構成サブシステムは、通知オブジェクトのインスタンスを作成して初期化した後、通知オブジェクトの INetCfgComponentNotifyBinding インターフェイスのメソッドのいずれかを呼び出して、サブシステムが他のネットワーク コンポーネントを通知オブジェクトを所有するコンポーネントにバインドする方法の変更について、オブジェクトに通知します。
ネットワーク構成サブシステムがコンポーネントのプロパティをオペレーティング システムに適用する準備を完了したら、通知オブジェクトの INetCfgComponentControl::ApplyRegistryChanges メソッドを呼び出して、コンポーネントのレジストリ キーの下にコンポーネントのパラメーターを割り当てます。 通知オブジェクトは、コンポーネントの INetCfgComponent::OpenParamKey メソッドを呼び出して、コンポーネントのレジストリ キーを開いて取得します。
コンポーネントのドライバーを構成するために、ネットワーク構成サブシステムは、通知オブジェクトの INetCfgComponentControl::ApplyPnpChanges メソッドを呼び出し、INetCfgPnpReconfigCallback インターフェイスを渡します。 通知オブジェクトは、INetCfgPnpReconfigCallback::SendPnpReconfig メソッドを呼び出して、コンポーネントのドライバーに構成情報を送信します。
セットアップ API と無人セットアップのファイルの詳細については、Microsoft Windows SDK を参照してください。