デバイスの説明の作成
UPnP ベースの デバイスの説明 は、デバイスのプロパティとその中の入れ子になったデバイスの階層を記述する XML ドキュメントです。 デバイスの UPnP テンプレート言語 (UTL) と呼ばれる UPnP ベースのデバイス記述のスキーマは、UPnP デバイス アーキテクチャで定義されています。 デバイスの説明には 、サービスの説明へのリンクが含まれています。 サービスの説明とサービスの UTL のスキーマは、"UPnP デバイス アーキテクチャ" 仕様でも定義されています。
デバイスの開発者は、デバイスのデバイスとサービスの説明を提供する必要があります。
ホストされたデバイスの開発者が提供する必要があるデバイス記述の要素は、"UPnP デバイス アーキテクチャ" 仕様で定義されているものと同じですが、次の例外があります。
- controlURL 要素と eventSubURL 要素は必須であり、空である必要があります。 デバイスホストは、デバイスが公開されて発表されたときに、これらのフィールドの値を入力します。
- UDN 要素には、デバイス記述ドキュメントに固有の識別子を含める必要があります (つまり、グローバルに一意である必要はありません)。 この識別子は、デバイス ホストによって生成された UDN を検索するために使用されます。
- SCPDURL 要素には、サービスの説明への URL を含めてはいけません。 代わりに、サービス記述ファイルの名前を含む必要があります。 サービス記述ファイルは 、リソース ディレクトリに配置する必要があります。 このディレクトリの場所は、セットアップ プログラムの使用など、登録プロセス中にデバイス ホストに提供する必要があります。 このパスとその下にあるすべてのパスは、登録済みのパスに基づく相対パスです。
- icon 要素内の url 要素には、デバイス アイコンへの URL を含めてはいけません。 代わりに、アイコン ファイルの名前を含む必要があります。 存在する場合は、アイコン ファイルがリソース ディレクトリに存在する必要があります。 このパスとその下にあるすべてのパスは、登録済みのパスに基づく相対パスです。
- URLBase 要素が存在してはなりません。
Note
デバイス ホストによって生成されるすべての URL は、相対 URL です。 URL は、最初のデバイスアナウンスで送信されるデバイス記述ドキュメントの場所を基準にしています。
重要
ユニバーサル プラグ アンド プレイ デバイス ホストがドキュメントの解析を試みると、登録エラーが発生する可能性があるため、デバイス記述ドキュメントにコメントを追加しないでください。
文字列の長さの制限事項
UPnP テクノロジを使用した Device Host API では、次の文字列の長さが使用されます。
- deviceType – 64 バイト
- friendlyName – 64 バイト
- manufacturer – 64 バイト
- modelDescription – 128 バイト
- modelName – 32 バイト
- modelNumber – 32 バイト
- serialNumber – 64 バイト
- UPC – 12 バイト
- serviceType – 64 バイト
- serviceId – 64 バイト