DeviceInfoデータセット
アセンブラの魔女 ⧫ PTP ⧫ データ型 ⧫ DeviceInfoデータセット
アセンブラの魔女 ⧫ PTP ⧫ データ型 ⧫ DeviceInfoデータセット

 DeviceInfoデータセットは、デバイスに関する情報をまとめたデータセットです。イニシエーターはGetDeviceInfoオペレーションを使って、セッション外でもデバイスからStorageInfoデータセットを取得することができます。デバイスはスリープに入るなど、デバイスの状態が変化するとき状態の変化をこのデータセットに反映させる必要があります。さらに、開かれているすべてのセッションに対してDeviceInfoChangedイベントを発行してデバイスのケイパビリティの変化をイニシエーターに通知する必要があります。

フィールド順フィールドサイズ
[bytes]
データ型
1StandardVersion2UINT16
2VendorExtensionID4UINT32
3VendorExtensionVersion4UINT16
4VendorExtensionDesc可変長文字列
5FunctionalMode2UINT16
6OperationsSupported可変長オペレーションコード(OperationCode)の配列
7EventsSupported可変長イベントコード(EventCode)の配列
8DevicePropertiesSupported可変長デバイスプロパティコード(DevicePropCode)の配列
9CaptureFormats可変長オブジェクトフォーマットコード(ObjectFormatCode)の配列
10ImageFormats可変長オブジェクトフォーマットコード(ObjectFormatCode)の配列
11Manufacturer可変長文字列
12Model可変長文字列
13DeviceVersion可変長文字列
14SerialNumber可変長文字列

 StandardVersionフィールドは、そのデバイスが対応可能な最も新しいPTP仕様のバージョン番号を示します。値の意味は、バージョン番号を100倍した値となります。例えばバージョン1.00の場合、1.00 x 100 = 100(0x0064)をセットします。

 PTP仕様に対して何らかのベンダー拡張を行った場合、このフィールドにPIMAによって割り当てられるVendorExtensionIDをセットして他のベンダーとの競合を避ける必要があります。ベンダー拡張を行わない場合、0x00000000をセットします。

 VendorExtensionVersionフィールドは、ベンダー拡張のバージョンを示します。StandardVersionフィールドと同じように、バージョン番号を100倍した値をセットします。

 VendorExtensionDescフィールドは、VendorExtensionIDを説明する文字列です。これは単なる表示用のデータであり、ベンダー拡張の解釈のためのものではありません。このフィールドのサポートは任意です。

 FunctionalModeフィールドは、通常モードとスリープ モードなどケイパビリティの異なる複数のファンクショナル モード(functional mode)をサポートする場合に、現在どのファンクショナル モードに入っているかを示します。デバイスが通常モードのみをサポートする場合、このフィールドの値は常にゼロとなります。

ファンクショナルモード値

bit15bit14-0意味
00通常モード(Standard Mode)
1スリープ状態(Sleep State)
その他の値Reserved
1Vendor-Defined

 OperationsSupportedフィールドは、現在のファンクショナルモードでサポートされるオペレーションをオペレーションコード(OperationCode)の配列で示します。

 EventsSupportedフィールドには、現在のファンクショナルモードでサポートされるイベントをイベントコード(EventCode)の配列で示します。

 DevicePropertiesSupportedフィールドには、現在のファンクショナルモードでサポートされるデバイスプロパティ(DeviceProperties)をデバイスプロパティコード(DevicePropCode)の配列で示します。

 CaptureFormatsフィールドには、現在のファンクショナルモードでInitiateCaptureやOpenCaptureオペレーションでデバイスが生成することのできるオブジェクト形式をオブジェクトフォーマットコード(ObjectFormatCode)の配列で示します。

 ImageFormatsフィールドには、現在のファンクショナルモードでInitiateCaptureやOpenCaptureオペレーションでデバイスが生成することのできるオブジェクト形式をオブジェクトフォーマットコード(ObjectFormatCode)の配列で示します。

 Manufacturerフィールドには、製造業者名を示す文字列がセットされます。サポートは任意です。

 Modelフィールドには、機種名を示す文字列がセットされます。サポートは任意です。

 レスポンダのファームウェアやソフトウェアのバージョンを示す文字列です。書式はベンダー依存で自由です。このフィールドのサポートは任意です。

 SerialNumberフィールドには、レスポンダのシリアル番号がセットされます。シリアル番号は、特定のModelのDeviceVersionでユニークな値となります。このフィールドをサポートしない場合は殻の文字列をセットします。

▼ Property
記事情報
datePublished2011-01-01
dateModified2018-08-28
authorアセンブラの魔女
headlinePTPのDeviceInfoデータセットについての説明記事です
keywordsPTP
keywordsDeviceInfoデータセット
publisher name= wiredFish, logo.name= wiredFish, logo.url= https://books-nekoya.jp/Programming/chigu-hagu-title-01.png size= 208 pixel x 50 pixel
image.url url= https://books-nekoya.jp/Programming/chigu-hagu-title-01.png , size= 208 pixel x 50 pixel