📄 mtp_types.h
字号:
enum _EVENTCODE
{
EVENTCODE_UNDEFINED = 0x4000,
/*! @brief This event is used to initiate the cancellation of a
* transaction over transports which do not have their own
* mechanism for canceling transactions.
*
* The details of how a transaction is cancelled may be
* transport-specific. When an Initiator or Responder receives this
* event, it should cancel the transaction identified by the
* TransactionID in the event dataset. If the transaction has already
* completed, this event should be ignored. After receiving a
* CancelTransaction event from the initiator during an object
* transfer, the responder should sent an IncompleteTransfer response
* for the transfer which was in progress. */
EVENTCODE_CANCELTRANSACTION = 0x4001,
EVENTCODE_OBJECTADDED = 0x4002,
EVENTCODE_OBJECTREMOVED = 0x4003,
EVENTCODE_STOREADDED = 0x4004,
EVENTCODE_STOREREMOVED = 0x4005,
EVENTCODE_DEVICEPROPCHANGED = 0x4006,
EVENTCODE_OBJECTINFOCHANGED = 0x4007,
EVENTCODE_DEVICEINFOCHANGED = 0x4008,
EVENTCODE_REQUESTOBJECTTRANSFER = 0x4009,
EVENTCODE_STOREFULL = 0x400a,
EVENTCODE_DEVICERESET = 0x400b,
EVENTCODE_STORAGEINFOCHANGED = 0x400c,
EVENTCODE_CAPTURECOMPLETE = 0x400d,
EVENTCODE_UNREPORTEDSTATUS = 0x400e,
EVENTCODE_RESERVED_FIRST = 0x400f,
EVENTCODE_RESERVED_LAST = 0x4fff,
EVENTCODE_VENDOREXTENSION_FIRST = 0xc000,
EVENTCODE_VENDOREXTENSION_LAST = 0xcfff
};
/** @brief Values for FUNCTIONALMODE datatype
*
*/
enum _FUNCTIONALMODE
{
FUNCTIONALMODE_STANDARD = 0x0000,
FUNCTIONALMODE_SLEEP = 0x0001,
FUNCTIONALMODE_RESERVED_FIRST = 0x0002,
FUNCTIONALMODE_RESERVED_LAST = 0x7FFF,
FUNCTIONALMODE_VENDOREXTENSION_FIRST = 0x8000,
FUNCTIONALMODE_VENDOREXTENSION_LAST = 0xFFFF
};
/** @brief Values for ::DEVICEPROPCODE datatype
*
*/
enum _DEVICEPROPCODE
{
DEVICEPROPCODE_NOTUSED = 0x0,
DEVICEPROPCODE_ALL = 0xFFFF,
DEVICEPROPCODE_UNDEFINED = 0x5000,
DEVICEPROPCODE_BATTERYLEVEL = 0x5001,
DEVICEPROPCODE_FUNCTIONMODE = 0x5002,
DEVICEPROPCODE_IMAGESIZE = 0x5003,
DEVICEPROPCODE_COMPRESSIONSETTING = 0x5004,
DEVICEPROPCODE_WHITEBALANCE = 0x5005,
DEVICEPROPCODE_RGBGAIN = 0x5006,
DEVICEPROPCODE_FNUMBER = 0x5007,
DEVICEPROPCODE_FOCALLENGTH = 0x5008,
DEVICEPROPCODE_FOCUSDISTANCE = 0x5009,
DEVICEPROPCODE_FOCUSMODE = 0x500A,
DEVICEPROPCODE_EXPOSUREMETERINGMODE = 0x500B,
DEVICEPROPCODE_FLASHMODE = 0x500C,
DEVICEPROPCODE_EXPOSURETIME = 0x500D,
DEVICEPROPCODE_EXPOSUREPROGRAMMODE = 0x500E,
DEVICEPROPCODE_EXPOSUREINDEX = 0x500F,
DEVICEPROPCODE_EXPOSURECOMPENSATION = 0x5010,
DEVICEPROPCODE_DATETIME = 0x5011,
DEVICEPROPCODE_CAPTUREDELAY = 0x5012,
DEVICEPROPCODE_STILLCAPTUREMODE = 0x5013,
DEVICEPROPCODE_CONTRAST = 0x5014,
DEVICEPROPCODE_SHARPNESS = 0x5015,
DEVICEPROPCODE_DIGITALZOOM = 0x5016,
DEVICEPROPCODE_EFFECTMODE = 0x5017,
DEVICEPROPCODE_BURSTNUMBER = 0x5018,
DEVICEPROPCODE_BURSTINTERVAL = 0x5019,
DEVICEPROPCODE_TIMELAPSENUMBER = 0x501A,
DEVICEPROPCODE_TIMELAPSEINTERVAL = 0x501B,
DEVICEPROPCODE_FOCUSMETERINGMODE = 0x501C,
DEVICEPROPCODE_UPLOADURL = 0x501D,
DEVICEPROPCODE_ARTIST = 0x501E,
DEVICEPROPCODE_COPYRIGHTINFO = 0x501F,
DEVICEPROPCODE_SYNCHRONIZATIONPARTNER = 0xD401,
DEVICEPROPCODE_DEVICEFRIENDLYNAME = 0xD402,
DEVICEPROPCODE_RESERVED_FIRST = 0x5020,
DEVICEPROPCODE_RESERVED_LAST = 0x5FFF,
DEVICEPROPCODE_VENDOREXTENSION_FIRST = 0xD000,
DEVICEPROPCODE_PLAYBACK_VOLUME = 0xD403,
/** @brief Device property code for the playback rate.
*
* This identifies the current speed of playback, identified
* linearly. It is a signed 32-bit integer, which identifies the
* speed in thousandths. Thus, a value of 1000 indicates that the
* playback should proceed at full speed. A value of 500 indicates
* that playback should be at half-speed. A value of -1000 indicates
* that playback should be in reverse at full speed. A value of 0
* indicates that the device is paused.
*
* A complete list of allowed playback rates for an object should be
* contained in an enumeration of allowed values defined in the
* DevicePropDesc dataset defining this property, but should always
* include the values 1000 and 0.
*
* - DevicePropCode = 0xD410
* - Datatype: INT32
* - DescForms: Enum
* - Get/Set: Get/Set
*/
DEVICEPROPCODE_PLAYBACK_RATE = 0xD410,
/** @brief Device property code for the playback object.
*
* This identifies the object currently being played back on the
* device, identified by Object Handle. This property has two
* special values. A value of 0x00000000 indicates that the device
* is currently stopped, and no media file is being consumed.
*
* Devices which support playlist or album objects should allow this
* property to contain a handle of an album or playlist. If a device
* supports these object types, as well as playback control, it must
* also support the Playback Container Index Device Property. If
* this property contains an album or playlist object, it indicates
* that the device is currently playing back the contents of that
* album or playlist.
*
* Whenever the object being played back is updated on the device
* (due to the previous object finishing playback, user input on the
* device, or active control on another active session) the device
* should indicate this by initiating a DevicePropChanged event for
* this property.
*
* - DevicePropCode = 0xD411
* - Datatype: UINT32
* - DescForms: None
* - Get/Set: Get/Set
*/
DEVICEPROPCODE_PLAYBACK_OBJECT = 0xD411,
/** @brief Device property code for the container index.
*
* When playing content, the Playback Object device property may
* contain a container object (album, playlist, etc.) rather than the
* actual object being consumed. In this case, it is important to
* expose the specific object in that playback container which is
* being consumed. The object being played should be identified by
* its index within Object References array of that playback
* container, and that index is contained in this property. Recall
* that arrays in MTP are zero-based (so a value of 0x00000000 in
* this property indicates that the first ObjectHandle in the Object
* References array is being consumed).
*
* If the Playback Object does not represent a container object, or
* the object being played back is not an object referenced by the
* object whose object handle is in the Playback Object device
* property, then this property must contain a value of 0xFFFFFFFF.
*
* - DevicePropCode = 0xD412
* - Datatype: UINT32
* - DescForms: None
* - Get/Set: Get/Set
*/
DEVICEPROPCODE_PLAYBACK_CONTAINER_INDEX = 0xD412,
/** @brief Device property code for the playback position.
*
* This identifies the current time offset of the object currently
* being played back in milliseconds. During playback, this property
* will change frequently, and those changes should not result in
* DevicePropChanged events unless they are caused by actions
* external to both the current session and the regular playback of
* the object.
*
* - DevicePropCode = 0xD413
* - Datatype: UINT32
* - DescForms: None
* - Get/Set: Get/Set
*/
DEVICEPROPCODE_PLAYBACK_POSITION = 0xD413,
DEVICEPROPCODE_VENDOREXTENSION_LAST = 0xDFFF
};
/** @brief Values for FORMATCODE datatype
*
*/
enum _FORMATCODE
{
FORMATCODE_NOTUSED = 0x0000,
FORMATCODE_ALLIMAGES = 0xFFFF,
FORMATCODE_UNDEFINED = 0x3000,
FORMATCODE_ASSOCIATION = 0x3001,
FORMATCODE_SCRIPT = 0x3002,
FORMATCODE_EXECUTABLE = 0x3003,
FORMATCODE_TEXT = 0x3004,
FORMATCODE_HTML = 0x3005,
FORMATCODE_DPOF = 0x3006,
FORMATCODE_AIFF = 0x3007,
FORMATCODE_WAVE = 0x3008,
FORMATCODE_MP3 = 0x3009,
FORMATCODE_AVI = 0x300A,
FORMATCODE_MPEG = 0x300B,
FORMATCODE_ASF = 0x300C,
FORMATCODE_RESERVED_FIRST = 0x300D,
FORMATCODE_RESERVED_LAST = 0x37FF,
FORMATCODE_IMAGE_UNDEFINED = 0x3800,
FORMATCODE_IMAGE_EXIF = 0x3801,
FORMATCODE_IMAGE_TIFFEP = 0x3802,
FORMATCODE_IMAGE_FLASHPIX = 0x3803,
FORMATCODE_IMAGE_BMP = 0x3804,
FORMATCODE_IMAGE_CIFF = 0x3805,
FORMATCODE_IMAGE_GIF = 0x3807,
FORMATCODE_IMAGE_JFIF = 0x3808,
FORMATCODE_IMAGE_PCD = 0x3809,
FORMATCODE_IMAGE_PICT = 0x380A,
FORMATCODE_IMAGE_PNG = 0x380B,
FORMATCODE_IMAGE_TIFF = 0x380D,
FORMATCODE_IMAGE_TIFFIT = 0x380E,
FORMATCODE_IMAGE_JP2 = 0x380F,
FORMATCODE_IMAGE_JPX = 0x3810,
FORMATCODE_IMAGE_RESERVED_FIRST = 0x3811,
FORMATCODE_IMAGE_RESERVED_LAST = 0x3FFF,
FORMATCODE_UNDEFINEDFIRMWARE = 0xB802,
FORMATCODE_WINDOWSIMAGEFORMAT = 0xB881,
FORMATCODE_UNDEFINEDAUDIO = 0xB900,
FORMATCODE_WMA = 0xB901,
FORMATCODE_UNDEFINEDVIDEO = 0xB980,
FORMATCODE_WMV = 0xB981,
FORMATCODE_UNDEFINEDCOLLECTION = 0xBA00,
FORMATCODE_ABSTRACTMULTIMEDIAALBUM = 0xBA01,
FORMATCODE_ABSTRACTIMAGEALBUM = 0xBA02,
FORMATCODE_ABSTRACTAUDIOALBUM = 0xBA03,
FORMATCODE_ABSTRACTVIDEOALBUM = 0xBA04,
FORMATCODE_ABSTRACTAUDIOVIDEOPLAYLIST = 0xBA05,
FORMATCODE_ABSTRACTCONTACTGROUP = 0xBA06,
FORMATCODE_ABSTRACTMESSAGEFOLDER = 0xBA07,
FORMATCODE_ABSTRACTCHAPTEREDPRODUCTION = 0xBA08,
FORMATCODE_WPLPLAYLIST = 0xBA10,
FORMATCODE_M3UPLAYLIST = 0xBA11,
FORMATCODE_MPLPLAYLIST = 0xBA12,
FORMATCODE_ASXPLAYLIST = 0xBA13,
FORMATCODE_PLSPLAYLIST = 0xBA14,
FORMATCODE_UNDEFINEDDOCUMENT = 0xBA80,
FORMATCODE_ABSTRACTDOCUMENT = 0xBA81,
FORMATCODE_UNDEFINEDMESSAGE = 0xBB00,
FORMATCODE_ABSTRACTMESSAGE = 0xBB01,
FORMATCODE_UNDEFINEDCONTACT = 0xBB80,
FORMATCODE_ABSTRACTCONTACT = 0xBB81,
FORMATCODE_VCARD2 = 0xBB82,
FORMATCODE_VCARD3 = 0xBB83,
FORMATCODE_UNDEFINEDCALENDARITEM = 0xBE00,
FORMATCODE_ABSTRACTCALENDARITEM = 0xBE01,
FORMATCODE_VCALENDAR1 = 0xBE02,
FORMATCODE_UNDEFINEDWINDOWSEXECUTABLE = 0xBE80
};
/** @brief Values for STORAGETYPE datatype
*
*/
enum _STORAGETYPE
{
STORAGETYPE_UNDEFINED = 0x0000,
STORAGETYPE_FIXEDROM = 0x0001,
STORAGETYPE_REMOVABLEROM = 0x0002,
STORAGETYPE_FIXEDRAM = 0x0003,
STORAGETYPE_REMOVABLERAM = 0x0004,
STORAGETYPE_RESERVED_FIRST = 0x0005,
STORAGETYPE_RESERVED_LAST = 0xFFFF
};
/** @brief Values for FILESYSTEMTYPE datatype
*
*/
enum _FILESYSTEMTYPE
{
FILESYSTEMTYPE_UNDEFINED = 0x0000,
FILESYSTEMTYPE_FLAT = 0x0001,
FILESYSTEMTYPE_HIERARCHICAL = 0x0002,
FILESYSTEMTYPE_DCF = 0x0003,
FILESYSTEMTYPE_RESERVED_FIRST = 0x0004,
FILESYSTEMTYPE_RESERVED_LAST = 0x7FFF,
FILESYSTEMTYPE_VENDOREXTENSION_FIRST = 0x8000,
FILESYSTEMTYPE_VENDOREXTENSION_LAST = 0xFFFF
};
/** @brief Values for STORAGEACCESSCAPABILITY datatype
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -