DeviceInfoデータセットは、デバイスに関する情報をまとめたデータセットです。イニシエーターはGetDeviceInfoオペレーションを使って、セッション外でもデバイスからStorageInfoデータセットを取得することができます。デバイスはスリープに入るなど、デバイスの状態が変化するとき状態の変化をこのデータセットに反映させる必要があります。さらに、開かれているすべてのセッションに対してDeviceInfoChangedイベントを発行してデバイスのケイパビリティの変化をイニシエーターに通知する必要があります。
フィールド順 | フィールド | サイズ [bytes] | データ型 |
---|---|---|---|
1 | StandardVersion | 2 | UINT16 |
2 | VendorExtensionID | 4 | UINT32 |
3 | VendorExtensionVersion | 4 | UINT16 |
4 | VendorExtensionDesc | 可変長 | 文字列 |
5 | FunctionalMode | 2 | UINT16 |
6 | OperationsSupported | 可変長 | オペレーションコード(OperationCode)の配列 |
7 | EventsSupported | 可変長 | イベントコード(EventCode)の配列 |
8 | DevicePropertiesSupported | 可変長 | デバイスプロパティコード(DevicePropCode)の配列 |
9 | CaptureFormats | 可変長 | オブジェクトフォーマットコード(ObjectFormatCode)の配列 |
10 | ImageFormats | 可変長 | オブジェクトフォーマットコード(ObjectFormatCode)の配列 |
11 | Manufacturer | 可変長 | 文字列 |
12 | Model | 可変長 | 文字列 |
13 | DeviceVersion | 可変長 | 文字列 |
14 | SerialNumber | 可変長 | 文字列 |
StandardVersionフィールドは、そのデバイスが対応可能な最も新しいPTP仕様のバージョン番号を示します。値の意味は、バージョン番号を100倍した値となります。例えばバージョン1.00の場合、1.00 x 100 = 100(0x0064)をセットします。
PTP仕様に対して何らかのベンダー拡張を行った場合、このフィールドにPIMAによって割り当てられるVendorExtensionIDをセットして他のベンダーとの競合を避ける必要があります。ベンダー拡張を行わない場合、0x00000000をセットします。
VendorExtensionVersionフィールドは、ベンダー拡張のバージョンを示します。StandardVersionフィールドと同じように、バージョン番号を100倍した値をセットします。
VendorExtensionDescフィールドは、VendorExtensionIDを説明する文字列です。これは単なる表示用のデータであり、ベンダー拡張の解釈のためのものではありません。このフィールドのサポートは任意です。
FunctionalModeフィールドは、通常モードとスリープ モードなどケイパビリティの異なる複数のファンクショナル モード(functional mode)をサポートする場合に、現在どのファンクショナル モードに入っているかを示します。デバイスが通常モードのみをサポートする場合、このフィールドの値は常にゼロとなります。
ファンクショナルモード値
bit15 | bit14-0 | 意味 |
---|---|---|
0 | 0 | 通常モード(Standard Mode) |
1 | スリープ状態(Sleep State) | |
その他の値 | Reserved | |
1 | Vendor-Defined |
OperationsSupportedフィールドは、現在のファンクショナルモードでサポートされるオペレーションをオペレーションコード(OperationCode)の配列で示します。
EventsSupportedフィールドには、現在のファンクショナルモードでサポートされるイベントをイベントコード(EventCode)の配列で示します。
DevicePropertiesSupportedフィールドには、現在のファンクショナルモードでサポートされるデバイスプロパティ(DeviceProperties)をデバイスプロパティコード(DevicePropCode)の配列で示します。
CaptureFormatsフィールドには、現在のファンクショナルモードでInitiateCaptureやOpenCaptureオペレーションでデバイスが生成することのできるオブジェクト形式をオブジェクトフォーマットコード(ObjectFormatCode)の配列で示します。
ImageFormatsフィールドには、現在のファンクショナルモードでInitiateCaptureやOpenCaptureオペレーションでデバイスが生成することのできるオブジェクト形式をオブジェクトフォーマットコード(ObjectFormatCode)の配列で示します。
Manufacturerフィールドには、製造業者名を示す文字列がセットされます。サポートは任意です。
Modelフィールドには、機種名を示す文字列がセットされます。サポートは任意です。
レスポンダのファームウェアやソフトウェアのバージョンを示す文字列です。書式はベンダー依存で自由です。このフィールドのサポートは任意です。
SerialNumberフィールドには、レスポンダのシリアル番号がセットされます。シリアル番号は、特定のModelのDeviceVersionでユニークな値となります。このフィールドをサポートしない場合は殻の文字列をセットします。