デバイスホストにデバイスを登録する方法

実行中のデバイスまたは実行中でないデバイスを登録できます。

実行中のデバイスの登録

デバイスは、 IUPnPRegistrar インターフェイスを使用して登録されます。 実行中のデバイスを登録できるのは管理者のみです。 実行中のデバイス コントロール オブジェクトを持つデバイスを登録するには、アプリケーションで IUPnPRegistrar::RegisterRunningDevice を呼び出し、次を渡す必要があります。

  • デバイスの説明のテキスト。
  • デバイス コントロール オブジェクトへの IUnknown ポインター。
  • デバイス コントロール オブジェクトの IUPnPDeviceControl::Initialize メソッドに渡される初期化文字列。
  • リソース ディレクトリの場所。
  • デバイスの有効期間。
  • この呼び出しの戻り値である Device ID パラメーター (OUT パラメーター)。デバイス ID へのポインターが C++ で返されます。

実行されていないデバイスの登録

既定では、管理者と対話型ユーザーのみが実行されていないデバイスを登録できます。 実行されていないデバイス コントロール オブジェクトにデバイスを登録するために、アプリケーションは IUPnPRegistrar::RegisterDevice メソッドを使用します。

実行中ではないデバイス コントロール オブジェクトにデバイスをプログラムで登録するには、アプリケーションで IUPnPRegistrar::RegisterDevice を呼び出し、次のパラメーターを渡す必要があります。

  • デバイスの説明のテキスト。
  • デバイス コントロール オブジェクトの ProgID。
  • デバイス コントロール オブジェクトの IUPnPDeviceControl::Initialize メソッドに渡される初期化文字列。
  • コンテナー ID。
  • リソース ディレクトリの場所。
  • デバイスの有効期間。
  • この呼び出しの戻り値である Device ID パラメーター (OUT パラメーター)。デバイス ID へのポインターが C++ で返されます。

実行中でないデバイスの登録は、システムの起動時に保持するように構成できます (デバイスはシャットダウン フェーズ中に発行されません)。 したがって、このように構成されている場合、コンピューターが起動されるたびにデバイスが発行され、発表されます。