IUPnPRegistrar::RegisterRunningDevice メソッド (upnphost.h)
RegisterRunningDevice メソッドは、実行中のデバイスをデバイス ホストに登録します。 デバイス情報は、デバイス ホストによって格納されます。 次に、デバイス ホストはデバイス識別子を返し、ネットワーク上のデバイスを発行して読み上げる。 このデバイスの公開は、システムの起動時に保持されません。
構文
HRESULT RegisterRunningDevice(
[in] BSTR bstrXMLDesc,
[in] IUnknown *punkDeviceControl,
[in] BSTR bstrInitString,
[in] BSTR bstrResourcePath,
[in] long nLifeTime,
[out] BSTR *pbstrDeviceIdentifier
);
パラメーター
[in] bstrXMLDesc
登録するデバイスの XML デバイス記述テンプレートを指定します。
[in] punkDeviceControl
デバイスのデバイス コントロール オブジェクトへの IUnknown ポインターを指定します。
[in] bstrInitString
デバイスに固有の初期化文字列を識別します。 この文字列は、後で IUPnPDeviceControl::Initialize に渡されます。
[in] bstrResourcePath
デバイスのリソース ディレクトリの場所を指定します。 このリソース ディレクトリには、デバイス記述テンプレート bstrXMLDesc で指定されているアイコン ファイルとサービスの説明が含まれています。
[in] nLifeTime
デバイスアナウンスの有効期間を秒単位で指定します。 タイムアウトが切れると、アナウンスが更新されます。 0 を指定すると、既定値の 1800 (30 分) が使用されます。 最小値は 900 (15 分) です。900 未満を指定すると、エラーが返されます。
[out] pbstrDeviceIdentifier
デバイス識別子を受け取ります。 デバイスの登録を解除または再登録する場合は、この識別子を使用します。 このデバイス ID を保存します。 UnregisterDevice を呼び出すときに使用する必要があります。
戻り値
メソッドが成功した場合、戻り値はS_OK。 それ以外の場合、メソッドは WinError.h で定義されている COM エラー コードの 1 つ、または次の UPnP 固有のエラー コードのいずれかを返します。
リターン コード | 説明 |
---|---|
|
重複する要素が存在します。 |
|
同じ親デバイス内のサービスの重複するサービス ID が存在します。 |
|
デバイスの説明が無効です。 |
|
デバイスの説明の icon 要素にエラーが存在します。 |
|
デバイスの説明のサービス要素にエラーが存在します。 |
|
必要な要素がありません。 |
注釈
このメソッドを呼び出すクライアントは、このメソッドの処理を完了するために LocalService を偽装できる必要があります。
IUPnPDeviceControl::Initialize メソッドは、最初のコントロールまたはイベント要求を受信したときに呼び出されます。
UnregisterDevice または IUPnPReregistrar::ReregisterRunningDevice を呼び出すときに pbstrDeviceIdentifier で返される識別子を使用します。
このデバイスの登録は、システムの起動時に保持されません。
この関数を呼び出すときに発生する可能性がある一般的なエラーは次のとおりです。
- 必要な COM オブジェクトが見つかりませんでした。
- LocalService の COM オブジェクトにはアクセス権がありません。
- 下位 COM インターフェイス。
- XML の説明の制限 ( 「デバイスの説明の作成」を参照)。
- イベントが発生した変数は成功コードを返せず、デバイスがシャットダウンされました。
- サービスの説明が無効です。 validatesd.exe を使用して、サービスの説明が有効であることを確認します。
- サービスは IUPnPEventSource を実装せず、成功コードを IUPnPEventSource::Advise に返せず、デバイスがシャットダウンされました。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | サポートなし |
対象プラットフォーム | Windows |
ヘッダー | upnphost.h |
[DLL] | Upnphost.dll |