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 固有のエラー コードのいずれかを返します。
リターン コード | 説明 |
---|---|
|
デバイスが登録されていません。 RegisterRunningDevice を使用して、登録されていないデバイスを登録します。 |
|
重複する要素が存在します。 |
|
同じ親デバイス内のサービスの重複するサービス ID が存在します。 |
|
デバイスの説明が無効です。 |
|
デバイスの説明の icon 要素にエラーが存在します。 |
|
デバイスの説明のサービス要素にエラーが存在します。 |
|
必要な要素がありません。 |
解説
このメソッドを呼び出すクライアントは、このメソッドの処理を完了するために LocalService を偽装できる必要があります。
IUPnPDeviceControl::Initialize メソッドは、最初のコントロールまたはイベント要求を受信したときに呼び出されます。
このデバイスの登録は、システムの起動時に保持されません。
この関数を呼び出すときに発生する可能性がある一般的なエラーは次のとおりです。
- 必要な COM オブジェクトが見つかりませんでした。
- LocalService の COM オブジェクトにはアクセス権がありません。
- 下位 COM インターフェイス。
- XML の説明の制限 ( 「デバイスの説明の作成」を参照)。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | サポートなし |
対象プラットフォーム | Windows |
ヘッダー | upnphost.h |
[DLL] | Upnphost.dll |
関連項目
IUPnPRegistrar::RegisterRunningDevice