IUPnPReregistrar::ReregisterRunningDevice メソッド (upnphost.h)

ReregisterRunningDevice メソッドは、実行中のデバイスをデバイス ホストに再登録します。 デバイス情報は、デバイス ホストによって格納されます。 次に、デバイス ホストはデバイス識別子を返し、ネットワーク上のデバイスを発行して読み上げる。 このデバイスの公開は、システムの起動時に保持されません。

構文

HRESULT ReregisterRunningDevice(
  [in] BSTR     bstrDeviceIdentifier,
  [in] BSTR     bstrXMLDesc,
  [in] IUnknown *punkDeviceControl,
  [in] BSTR     bstrInitString,
  [in] BSTR     bstrResourcePath,
  [in] long     nLifeTime
);

パラメーター

[in] bstrDeviceIdentifier

デバイスのデバイス識別子を指定します。 これは、pbstrDeviceIdentifier パラメーターで IUPnPRegistrar::RegisterRunningDevice によって返される識別子と同じである必要があります。

[in] bstrXMLDesc

登録するデバイスの XML デバイス記述テンプレートを指定します。

[in] punkDeviceControl

デバイスのデバイス コントロール オブジェクトへの IUnknown ポインターを指定します。

[in] bstrInitString

デバイスに固有の初期化文字列を識別します。 この文字列は、後で IUPnPDeviceControl::Initialize に渡されます。

[in] bstrResourcePath

デバイスのリソース ディレクトリの場所を指定します。 このリソース ディレクトリには、デバイス記述テンプレート bstrXMLDesc で指定されているアイコン ファイルとサービスの説明が含まれています。

[in] nLifeTime

デバイスアナウンスの有効期間を秒単位で指定します。 タイムアウトが切れると、アナウンスが更新されます。 0 を指定すると、既定値の 1800 (30 分) が使用されます。 最小値は 900 (15 分) です。900 未満を指定すると、エラーが返されます。

戻り値

メソッドが成功した場合、戻り値はS_OK。 それ以外の場合、メソッドは WinError.h で定義されている COM エラー コードの 1 つ、または次の UPnP 固有のエラー コードのいずれかを返します。

リターン コード 説明
UPNP_E_DEVICE_NOTREGISTERED
デバイスが登録されていません。 RegisterRunningDevice を使用して、登録されていないデバイスを登録します。
UPNP_E_DUPLICATE_NOT_ALLOWED
重複する要素が存在します。
UPNP_E_DUPLICATE_SERVICE_ID
同じ親デバイス内のサービスの重複するサービス ID が存在します。
UPNP_E_INVALID_DESCRIPTION
デバイスの説明が無効です。
UPNP_E_INVALID_ICON
デバイスの説明の icon 要素にエラーが存在します。
UPNP_E_INVALID_SERVICE
デバイスの説明のサービス要素にエラーが存在します。
UPNP_E_REQUIRED_ELEMENT_ERROR
必要な要素がありません。

解説

このメソッドを呼び出すクライアントは、このメソッドの処理を完了するために LocalService を偽装できる必要があります。

IUPnPDeviceControl::Initialize メソッドは、最初のコントロールまたはイベント要求を受信したときに呼び出されます。

このデバイスの登録は、システムの起動時に保持されません。

この関数を呼び出すときに発生する可能性がある一般的なエラーは次のとおりです。

  • 必要な COM オブジェクトが見つかりませんでした。
  • LocalService の COM オブジェクトにはアクセス権がありません。
  • 下位 COM インターフェイス。
  • XML の説明の制限 ( 「デバイスの説明の作成」を参照)。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー サポートなし
対象プラットフォーム Windows
ヘッダー upnphost.h
[DLL] Upnphost.dll

関連項目

IUPnPRegistrar

IUPnPRegistrar::RegisterRunningDevice

IUPnPRegistrar::UnregisterDevice

IUPnPReregistrar