Photo Metadata Policy
Microsoft Corporation
August 2006
Applies to:
Microsoft® Windows Vista™
Summary: Enumerates the underlying metadata paths that property keys for photos will map to in the Windows Shell property system. Explains the policy by which conflicts are resolved when metadata for the same property is present in more than one container.
Contents
Introduction
Policies for Resolving Schema Conflicts
Reconciled Properties
Merged Properties
Property Rules
System Properties
GPS Properties
Image Properties
Photo Properties
Introduction
Metadata (file properties) for photo files can be stored using multiple metadata schemas, in different data formats and in different locations within a file. In Windows Vista™, the Microsoft® Windows® Shell provides a built-in property handler for photo files formats, such as JPEG, TIFF, and PNG, to simplify metadata retrieval.
When a piece of metadata is present in different underlying schemas, the built-in property handler determines which value to return . For instance, the Author property may be stored in the following locations in a TIFF file:
- The Creator tag in the XMP Dublin Core schema:
/ifd/xmp/purl.org/dc/elements/1.1/dc:creator
- The Artist tag in the EXIF schema:
- The Artist tag in the EXIF schema embedded in an XMP block:
/ifd/xmp/ns.adobe.com/tiff/1.0/tiff:artist
On read, the property handler determines the value that takes precedence over the others that exist in the file and returns it. On write, the property handler makes sure it leaves each schema in a resolved and consistent state with the others. This may mean either updating or removing the tag in question in a given schema.
Instantiating a Property Store
The photo metadata handler is an implementation of IPropertyStore. After an IPropertyStore object is instantiated from a file, its GetValue and SetValue methods can be used to access metadata.
The following example shows a function that creates a property store from a file.
HRESULT CreatePropertyStore(__in LPWSTR pFileName, __out IPropertyStore** ppPropertyStore)
{
// Get the pidl for the file
LPITEMIDLIST pidlFull = NULL;
HRESULT hr = SHParseDisplayName(pFileName, NULL, &pidlFull, 0, NULL);
if (SUCCEEDED(hr))
{
// Get the shell folder
CComPtr<IShellFolder> spShellFolder;
LPCITEMIDLIST pidlChild = NULL;
hr = SHBindToParent(pidlFull, IID_PPV_ARGS(&spShellFolder), &pidlChild);
// pidlChild is not a new allocation, so it doesn't need to be freed
if (SUCCEEDED(hr))
{
// Get an IShellItem and IShellItem2
CComPtr<IShellItem> spShellItem;
hr = SHCreateItemWithParent(NULL, spShellFolder, pidlChild, IID_PPV_ARGS(&spShellItem));
if (SUCCEEDED(hr))
{
CComPtr<IShellItem2> spShellItem2;
hr = spShellItem->QueryInterface(IID_PPV_ARGS(&spShellItem2));
if (SUCCEEDED(hr))
{
// Get the IPropertyStore
hr = spShellItem2->GetPropertyStore(GPS_READWRITE, IID_PPV_ARGS(ppPropertyStore));
}
}
}
ILFree(pidlFull);
}
return hr;
}
PKEYs and PROPVARIANTs
The Shell property system defines a single property key (PKEY) for access to each property. For example, photo metadata may include camera shutter speed and the date that the photo was taken. The corresponding PKEYs in this case would be PKEY_Photo_ShutterSpeed and PKEY_Photo_DateTaken.
Property values are stored in a PROPVARIANT structure. For each property, the handler also specifies the data types of the PROPVARIANT used to access the value. The PROPVARIANT's data type (that is, the VARTYPE value in the PROPVARIANT's vt member) might be different from the actual format of the metadata on disk.
The following code example demonstrates retrieving a property value.
PROPVARIANT pv;
PropVariantInit(&pv);
FILETIME dateTaken;
pIPropertyStore->GetValue(PKEY_Photo_DateTaken, &pv);
dateTaken = pv.filetime;
Further descriptions of the values corresponding to each PKEY, how to read and write property values using IPropertyStore, and how to create an IPropertyStore from a file are documented on MSDN® in the Windows Shell SDK documentation.
Policies for Resolving Schema Conflicts
When reading a property, if the property exists in more than one schema, the returned value may be merged from various paths, or reconciled from among them.
Reconciled Properties
Reconciled properties are the most common. The built-in metadata handler for photo file formats generally reads property value(s) from the image file in the following order of precedence:
- XMP
- IPTC
- EXIF
- Microsoft internal tags
The first property value found is returned. The few exceptions to this rule are properties that occur in Microsoft internal tags only. In those cases, the handler reads only from the Microsoft tags. The Property Rules sections below explain the policy for each property in detail.
When writing a property, all schemas in the file that contain the property are updated with the new value. For some properties, the handler may require that the property exist in a given schema, and for these required paths, the containing schema is created if it does not already exist.
On write, the handler also resolves between ASCII (7-bit) and Unicode values. In the case of Unicode strings, it is not always possible to store an ASCII equivalent string.
All schemas that exist for the property and can handle Unicode strings will be updated.
If the Unicode can be converted to ASCII and back again with no loss, then the property will also be written to schemas that support only ASCII. Otherwise, in the case where there is no lossless conversion from Unicode to ASCII, the ASCII paths will be deleted.
Rational Properties
Rational properties are those properties with rational values. They are a special case of reconciled properties. Rational PKEYs are all read-only. You cannot write to the property directly using IPropertyStore. To write to a rational property, write to the numerator and denominator properties it is generated from. For instance, to change the value of PKEY_Photo_ExposureTime, update PKEY_Photo_ExposureTimeNumerator and PKEY_Photo_ExposureTimeDenominator.
Merged Properties
Merged properties are those that merge the values from the schemas present to create a combined value. The handler resolves cases of special formatting such as combining multiple values in a delimited list. Merged properties are used for values that represent a list, such as PKEY_Keywords.
Property Rules
The following property topics, listed by canonical name, contain tables indicating the order in which metadata is read, written, and removed for each photo property. The "Disk Format" column in the table, when present, describes the original format of the data value on disk, and may contain information for interpreting the data returned—for instance, whether a string is delimited. The "conflict resolution policy" section in each topic indicates whether a property is reconciled, merged, or generated.
Each property topic contains tables, for each supported file format, of the order of precedence that is used when reading, writing, or removing data. Except for a few cases, the same order of precedence is used for reading and for writing, so there is generally one table for each file format. The paths in the tables are in Metadata Query Language, which is documented in the Windows Imaging Codecs (WIC) documentation in the MSDN Library. WIC methods can be used for getting and setting metadata values directly from specified locations. Note the following rules when using the tables:
- When reading a value for a reconciled property that reconciles values from conflicting schemas (the vast majority of properties fall into this category), the handler searches each path in the specified order of precedence until it finds a path containing the value, and then returns that value.
- When reading a value for a merged property that creates a combined value from conflicting schemas, the combined value is based on all values that are found among the list of paths in the order of precedence.
- When writing a value, the handler will write the value to each path listed in the order of precedence that it can find in the file. If a path is listed as required, even if the path does not exist in the file, it is created and the value is written to it.
- When removing a property, all the paths listed in the order of precedence are removed.
System Properties
System.ApplicationName
PKEY
PKEY_ApplicationName
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/xmp:creatortool | Unicode | Yes |
| 2 | /xmp/tiff:software | Unicode | Yes |
| 3 | /app13/irb/8bimiptc/iptc/Originating Program
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
| 4 | /app1/ifd/{ushort=305}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/xmp:creatortool | Unicode | Yes |
| 2 | /ifd/xmp/tiff:software | Unicode | Yes |
| 3 | /ifd/iptc/Originating Program
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
| 4 | /ifd/irb/8bimiptc/iptc/Originating Program
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
| 5 | /ifd/{ushort=305}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
System.Author
PKEY
PKEY_Author
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_VECTOR | VT_LPWSTR
Input PROPVARIANT Type
VT_VECTOR | VT_LPWSTR is preferred, but VT_LPWSTR is also accepted.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/<xmpseq>dc:creator | A vector of Unicode strings. The XMP format of the string is xmpseq. | Yes |
| 2 | /xmp/tiff:artist | A vector of Unicode strings. | Yes |
| 3 | /app13/irb/8bimiptc/iptc/by-line | An ASCII vector | No |
| 4 | /app1/ifd/{ushort=315} | An ASCII vector. Delimited. | No |
| 5 | /app1/ifd/{ushort=40093} | Unicode bytes. Semicolon delimited. | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/<xmpseq>dc:creator | Unicode | XMP sequential | Yes |
| 2 | /ifd/xmp/tiff:artist | Unicode | delimited | Yes |
| 3 | /ifd/iptc/by-line | ASCII vector | vector | No |
| 4 | /ifd/irb/8bimiptc/iptc/by-line | ASCII vector | vector | No |
| 5 | /ifd/{ushort=315} | ASCII | delimited | No |
| 6 | /ifd/{ushort=40093} | Unicode bytes | delimited | No |
System.Comment
PKEY
PKEY_Comment
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input PROPVARIANT Type
VT_LPWSTR or VT_LPSTR
Conflict Resolution Policy
Values from different schemas are reconciled.
Read and Write Paths (JPEG)
If the file is in JPEG format, the handler searches for the data to read from or write to in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/<xmpalt>exif:UserComment | Unicode. The XMP format is lang_alt. | Yes |
| 2 | /app13/irb/8bimiptc/iptc/caption
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
| 3 | /app1/ifd/exif/{ushort=37510} | EXIF comment format | No |
| 4 | /app1/ifd/{ushort=40092} | Vector of Unicode bytes | No |
Read and Write Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/<xmpalt>exif:UserComment | Unicode. The XMP format is lang_alt. | Yes |
| 2 | /ifd/iptc/caption
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
| 3 | /ifd/irb/8bimiptc/iptc/caption | ASCII | No |
| 4 | /ifd/exif/{ushort=37510} | EXIF comment format | No |
| 5 | /ifd/{ushort=40092} | Vector of Unicode bytes | No |
Remove Paths (JPEG)
If the file is in JPEG format, the handler searches for the data in the following order:
| Order | Path |
| 1 | /xmp/exif:UserComment |
| 2 | /app13/irb/8bimiptc/iptc/caption |
| 3 | /app1/ifd/exif/{ushort=37510} |
| 4 | /app1/ifd/{ushort=40092} |
Remove Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path |
| 1 | /ifd/xmp/exif:UserComment |
| 2 | /ifd/iptc/caption |
| 3 | /ifd/irb/8bimiptc/iptc/caption |
| 4 | /ifd/exif/{ushort=37510} |
| 5 | /ifd/{ushort=40092} |
| 6 | /ifd/xmp/<xmpalt>exif:UserComment |
System.Copyright
PKEY
PKEY_Copyright
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input PROPVARIANT Type
String
Conflict Resolution Policy
Values from different schemas are reconciled.
Read and Write Paths (JPEG)
If the file is in JPEG format, the handler searches for paths to read from or write to in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/<xmpalt>dc:rights | Unicode. The XMP format is lang_alt. | Yes |
| 2 | /app13/irb/8bimiptc/iptc/copyright notice
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
| 3 | /app1/ifd/{ushort=33432} | ASCII | No |
Read and Write Paths (TIFF)
If the file is in TIFF format, the handler searches for paths to read from or write to in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/<xmpalt>dc:rights | Unicode. The XMP format is lang_alt | Yes |
| 2 | /ifd/iptc/copyright notice
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
| 3 | /ifd/irb/8bimiptc/iptc/copyright notice
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
| 4 | /ifd/{ushort=33432}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Remove Paths (JPEG)
If the file is in JPEG format, the handler searches for the data to remove in the following order:
| Order | Path |
| 1 | /xmp/dc:rights |
| 2 | /app13/irb/8bimiptc/iptc/copyright notice |
| 3 | /app1/ifd/{ushort=33432} |
Remove Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path |
| 1 | /ifd/xmp/dc:rights |
| 2 | /ifd/iptc/copyright notice |
| 3 | /ifd/irb/8bimiptc/iptc/copyright notice |
| 4 | /ifd/{ushort=33432}. |
System.DateAcquired
PKEY
PKEY_DateAcquired
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_FILETIME
Input PROPVARIANT Type
VT_FILETIME
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/MicrosoftPhoto:DateAcquired | Unicode string in XMP date format. | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/MicrosoftPhoto:DateAcquired | Unicode string in XMP date format. | Yes |
System.Keywords
PKEY
PKEY_Keywords
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_VECTOR | VT_LPWSTR
Input PROPVARIANT Type
VT_VECTOR | VT_LPWSTR is preferred. A VT_LPWSTR containing a semicolon-delimited string is also accepted.
Conflict Resolution Policy
Values from different schemas are merged.
Read Paths (JPEG)
If the file is in JPEG format, the handler searches for the data in the following order:
| Order | Path | Disk Format |
| 1 | /xmp/<xmpbag>dc:subject
Note When this path is read, the path /xmp/<xmpbag>MicrosoftPhoto:LastKeywordXMP is also checked for discrepancies. If any differences are found, they will be merged. | Unicode, in XMP_bag format. |
| 2 | /app13/arb/8bimiptc/iptc/keywords
Note When this path is read, the path /xmp/<xmpbag>MicrosoftPhoto:LastKeywordIPTC is also checked for discrepancies. If any differences are found, they will be merged. | ASCII vector |
| 3 | /app1/ifd/{ushort=18247} | Unicode byte array formatted according to DIS11 XML hierarchy. |
| 4 | /app1/ifd/{ushort=40094} | Unicode byte array representing semicolon-delimited keywords. |
Read Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path | Disk Format |
| 1 | /ifd/xmp/<xmpbag>dc:subject
Note When this path is read, the handler also checks /ifd/xmp/<xmpbag>MicrosoftPhoto:LastKeywordXMP for discrepancies and resolves any differences. | Unicode, in XMP_bag format. |
| 2 | /ifd/iptc/keywords
Note When this path is read, the handler also checks /ifd/xmp/<xmpbag>MicrosoftPhoto:LastKeywordIPTC for discrepancies and resolves any differences. | ASCII vector |
| 3 | /ifd/irb8/bimiptc/iptc/keywords
Note When this path is read, the handler also checks /ifd/xmp/<xmpbag>MicrosoftPhoto:LastKeywordIrbIPTC for discrepancies and resolves any differences. | ASCII vector |
| 4 | /ifd/{ushort=18247} | Unicode byte array formatted according to DIS11 XML hierarchy. |
| 5 | /ifd/{ushort=40094} | Unicode byte array representing semicolon-delimited keywords. |
Write Paths (JPEG)
If the file is in JPEG format, the handler searches for paths to write to in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/<xmpbag>dc:subject | Unicode. The XMP format is XMP_bag. | Yes |
| 2 | /app13/irb/8bimiptc/iptc/keywords
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII vector | No |
| 3 | /app1/ifd/{ushort=18247}
Note This path is always deleted on write. | Unicode byte array | No |
| 4 | /app1/ifd/{ushort=40094}
Note This path is always deleted on write. | Unicode byte array. | No |
| 5 | /xmp/<xmpbag>MicrosoftPhoto:LastKeywordXMP | Unicode, in XMP_bag format. | Yes |
| 6 | /xmp/<xmpbag>MicrosoftPhoto:LastKeywordIPTC | Unicode, in XMP_bag format. | Yes |
Write Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/<xmpbag>dc:subject | Unicode, in XMP_bag format. | Yes |
| 2 | /ifd/iptc/keywords | ASCII vector | No |
| 3 | /ifd/irb8/bimiptc/iptc/keywords
Note When this path is read, the handler also checks /ifd/xmp/<xmpbag>MicrosoftPhoto:LastKeywordIrbIPTC for discrepancies and resolves any differences. | ASCII vector | No |
| 4 | /ifd/{ushort=18247}
Note This path is always removed on write. | Unicode bytes, formatted according to DIS11 XML hierarchy. | No |
| 5 | /ifd/{ushort=40094}
Note This path is always removed on write. | Unicode bytes representing delimited keywords. | No |
| 6 | /ifd/xmp/<xmpbag>MicrosoftPhoto:LastKeywordXMP | Unicode, in XMP_bag format. | Yes |
| 7 | /ifd/xmp/<xmpbag>MicrosoftPhoto:LastKeywordIPTC | Unicode, in XMP_bag format. | Yes |
Remove Paths (JPEG)
If the file is in JPEG format, the handler searches for the data to remove in the following order:
| Order | Path |
| 1 | /xmp/dc:subject |
| 2 | /app13/irb/8bimiptc/iptc/keywords |
| 3 | /app1/ifd/{ushort=18247} |
| 4 | /app1/ifd/{ushort=40094} |
| 5 | /xmp/<xmpbag>MicrosoftPhoto:LastKeywordXMP |
| 6 | /xmp/<xmpbag>MicrosoftPhoto:LastKeywordIPTC |
Remove Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path |
| 1 | /ifd/xmp/<xmpbag>dc:subject |
| 2 | /ifd/iptc/keywords |
| 3 | /ifd/irb8/bimiptc/iptc/keywords |
| 4 | /ifd/{ushort=18247}. |
| 5 | /ifd/{ushort=40094} |
| 6 | /ifd/xmp/<xmpbag>MicrosoftPhoto:LastKeywordXMP |
| 7 | /ifd/xmp/<xmpbag>MicrosoftPhoto:LastKeywordIPTC |
System.Rating
PKEY
PKEY_Rating
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI4
Input PROPVARIANT Type
May be VT_UI1, VT_UI2, or VT_UI4. The value may range from 0 to 99.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/MicrosoftPhoto:Rating | Unicode string representing an unsigned short integer. | Yes |
| 2 | /app1/ifd/{ushort=18249} | Unsigned short integer. | False |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/MicrosoftPhoto:Rating | Unicode string representing an unsigned short integer. | Yes |
| 2 | /ifd/{ushort=18249} | Unsigned short integer. | False |
System.SimpleRating
PKEY
PKEY_SimpleRating
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI4
Input PROPVARIANT Type
May be VT_UI1, VT_UI2, or VT_UI4. The integer value may range from 0 to 5.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/xmp:Rating | Unicode string representing an unsigned short integer. | Yes |
| 2 | /app1/ifd/{ushort=18246} | Unsigned short integer. | Yes |
Write Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/xmp:Rating | Unicode string representing an unsigned short integer. | Yes |
| 2 | /ifd/{ushort=18246} | Unsigned short integer. | Yes |
System.Subject
PKEY
PKEY_Subject
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input PROPVARIANT Type
Either VT_LPWSTR or VT_LPWSTR
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths for Reading and Writing (JPEG)
If the file is in JPEG format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/<xmpalt>dc:description | Unicode in XMP lang_alt format. | Yes |
| 2 | /app1/ifd/{ushort=40095} | Unicode byte array. | No |
Precedence of Paths for Reading and Writing (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/<xmpalt>dc:description | Unicode in XMP lang_alt format. | Yes |
| 2 | /ifd/{ushort=40095} | Unicode byte array. | No |
Remove Paths (JPEG)
If the file is in JPEG format, the handler searches for the data in the following order when a request to remove System.Subject is made:
| Order | Path |
| 1 | /xmp/dc:description |
| 2 | /app1/ifd/{ushort=40095} |
Remove Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order when a request to remove System.Subject is made:
| Order | Path |
| 1 | /ifd/xmp/dc:description |
| 2 | /ifd/{ushort=40095} |
System.Title
PKEY
PKEY_Title
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input PROPVARIANT Type
Either VT_LPWSTR or VT_LPSTR
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/<xmpalt>dc:title | Unicode, in XMP lang_alt format. | Yes |
| 2 | /app13/irb/8bimiptc/iptc/object name
Note This path will be removed if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
| 3 | /app1/ifd/{ushort=40091} | Unicode bytes | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/<xmpalt>dc:title | Unicode, in XMP lang_alt format. | Yes |
| 2 | /ifd/iptc/object name
Note This path will be removed if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
| 3 | /ifd/irb/8bimiptc/iptc/object name
Note This path will be removed if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
| 4 | /ifd/{ushort=40091} | Unicode bytes | No |
GPS Properties
System.GPS.Altitude
PKEY
PKEY_GPS_Altitude
Description
The altitude is indicated as an absolute value referenced in meters.
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Input PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value can be written by writing to System.GPS.Altitude.Numerator and System.GPS.Altitude.Denominator. It cannot be written directly. The write paths in the following tables indicate where the value may be saved when it is generated, not when it is written directly. When the value is read, values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSAltitude | XMP rational | Yes |
| 2 | /app1/ifd/gps/{ushort=6} | EXIF rational | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSAltitude | XMP rational | Yes |
| 2 | /ifd/gps/{ushort=6} | EXIF rational | No |
System.GPS.AltitudeRef
PKEY
PKEY_GPS_AltitudeRef
Description
Indicates the altitude used as the reference altitude. A value of 0 indicates the altitude is above sea level. A value of 1 indicates an altitude below sea level.
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI1
Input Type
Byte.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSAltitudeRef | Unicode string representing a byte vale | Yes |
| 2 | /app1/ifd/gps/{ushort=5} | Byte | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler searches for the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSAltitudeRef | Unicode string representing a byte value. | Yes |
| 2 | /ifd/gps/{ushort=5} | Byte | No |
System.GPS.AreaInformation
PKEY
PKEY_GPS_AreaInformation
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler searches for the data to read, write, and remove in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSAreaInformation | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=28} | EXIF comment | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler searches for the data to read, write, and remove in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSAreaInformation | Unicode | Yes |
| 2 | /ifd/gps/{ushort=28} | EXIF comment | No |
System.GPS.Date
PKEY
PKEY_GPS_Date
Containers
JPEG, TIFF
Read-Only
No
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format |
| 1 | /xmp/exif:GPSTimeStamp | Unicode XMP date |
| 2 | /app1/ifd/gps/{ushort=29} | ASCII gps_date |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSTimeStamp | Unicode XMP date | Yes |
| 2 | /ifd/gps/{ushort=29} | ASCII gps_date | No |
System.GPS.DestBearing
PKEY
PKEY_GPS_DestBearing
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value can be written by writing to System.GPS.DestBearingNumerator and System.GPS.DestBearingDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSDestBearing | XMP rational | Yes |
| 2 | /app1/ifd/gps/{ushort=24} | EXIF rational | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSDestBearing | XMP rational | Yes |
| 2 | /ifd/gps/{ushort=24} | EXIF rational | No |
System.GPS.DestBearingRef
PKEY
PKEY_GPS_DestBearingRef
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSDestBearingRef | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=23}
Note This path will be removed if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSDestBearingRef | Unicode | Yes |
| 2 | /ifd/gps/{ushort=23}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
System.GPS.DestDistance
PKEY
PKEY_GPS_DestDistance
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated from System.GPS.DestDistanceNumerator and System.GPS.DestDistanceDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSDestDistance | XMP rational | Yes |
| 2 | /app1/ifd/gps/{ushort=26} | EXIF rational | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSDestDistance | XMP rational | Yes |
| 2 | /ifd/gps/{ushort=26} | EXIF rational | Yes |
System.GPS.DestDistanceRef
PKEY
PKEY_DestDistanceRef
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
VT_LPWSTR or VT_LPSTR are accepted.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSDestDistanceRef | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=25}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSDestDistanceRef | Unicode | Yes |
| 2 | /ifd/gps/{ushort=25}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
System.GPS.DestLatitude
PKEY
PKEY_GPS_DestLatitude
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_VECTOR | VT_R8
Input PROPVARIANT Type
VT_VECTOR | VT_R8
Conflict Resolution Policy
This value is generated from System.GPS.DestLatitudeNumerator and System.GPS.DestLatitudeDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSDestLatitude | XMP gps_coordinate | Yes |
| 2 | /app1/ifd/gps/{ushort=20} | Array of EXIF rationals | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSDestLatitude | XMP gps_coordinate | Yes |
| 2 | /ifd/gps/{ushort=20} | Array of EXIF rationals | No |
System.GPS.DestLatitudeRef
PKEY
PKEY_GPS_DestLatitudeRef
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
VT_LPWSTR is preferred, but VT_LPSTR is accepted.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSDestLatitudeRef | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=19}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSDestLatitudeRef | Unicode | Yes |
| 2 | /ifd/gps/{ushort=19}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
System.GPS.DestLongitude
PKEY
PKEY_GPS_DestLongitude
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_VECTOR | VT_R8
Input PROPVARIANT Type
VT_VECTOR | VT_R8
Conflict Resolution Policy
This value is generated from System.GPS.DestLongitudeNumerator and System.GPS.DestLongitudeDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSDestLongitude | XMP gps_coordinate | Yes |
| 2 | /app1/ifd/gps/{ushort=22} | Array of EXIF rationals | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSDestLongitude | XMP gps_coordinate | Yes |
| 2 | /ifd/gps/{ushort=22} | Array of EXIF rationals | No |
System.GPS.DestLongitudeRef
PKEY
PKEY_GPS.DestLongitudeRef
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input PROPVARIANT Type
VT_LPWSTR is preferred, but VT_LPSTR is also accepted.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSDestLongitudeRef | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=21}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSDestLongitudeRef | Unicode | Yes |
| 2 | /ifd/gps/{ushort=21}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
System.GPS.Differential
PKEY
PKEY_GPS_Differential
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI2
Input PROPVARIANT Type
VT_UI1, VT_UI2, and VT_UI4 are all accepted.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSDifferential | Unicode string representing an unsigned integer | Yes |
| 2 | /app1/ifd/gps/{ushort=30} | Unsigned Short | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSDifferential | Unicode string representing an unsigned integer | Yes |
| 2 | /ifd/gps/{ushort=30} | Unsigned Short | No |
System.GPS.DOP
PKEY
PKEY_GPS_DOP
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value can be written by writing to System.GPS.DOPNumerator and System.GPS.DOPDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSDOP | XMP rational | Yes |
| 2 | /app1/ifd/gps/{ushort=11} | EXIF rational | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSDop | XMP rational | Yes |
| 2 | /ifd/gps/{ushort=11} | EXIF rational | No |
System.GPS.ImgDirection
PKEY
PKEY_GPS_ImgDirection
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value can be written by writing to System.GPS.ImgDirectionNumerator and System.GPS.ImgDirectionDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSImgDirection | XMP rational | Yes |
| 2 | /app1/ifd/gps/{ushort=17} | EXIF rational | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSImgDirection | XMP rational | Yes |
| 2 | /ifd/gps/{ushort=17} | EXIF rational | No |
System.GPS.ImgDirectionRef
PKEY
PKEY_GPS.ImgDirectionRef
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
VT_LPWSTR is preferred, but VT_LPSTR is also accepted.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSImgDirectionRef | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=16} | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSImgDirectionRef | Unicode | Yes |
| 2 | /ifd/gps/{ushort=16} | ASCII | Yes |
System.GPS.Latitude
PKEY
PKEY_GPS_Latitude
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_VECTOR | VT_R8
Conflict Resolution Policy
This value can be written by writing to System.GPS.LatitudeNumerator and System.GPS.LatitudeDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSLatitude | XMP gps_coordinate | Yes |
| 2 | /app1/ifd/gps/{ushort=2} | Array of EXIF rationals | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSLatitude | XMP gps_coordinate | Yes |
| 2 | /ifd/gps/{ushort=2} | Array of EXIF rationals | No |
System.GPS.LatitudeRef
PKEY
PKEY_GPS_LatitudeRef
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
VT_LPWSTR is preferred, but VT_LPSTR is also accepted.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSLatitudeRef | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=1}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSLatitudeRef | Unicode | Yes |
| 2 | /ifd/gps/{ushort=1}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
System.GPS.Longitude
PKEY
PKEY_GPS_Longitude
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_VECTOR | VT_R8
Conflict Resolution Policy
This value can be written by writing to System.GPS.LongitudeNumerator and System.GPS.LongitudeDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSLongitude | XMP gps_coordinate | Yes |
| 2 | /app1/ifd/gps/{ushort=4} | Array of EXIF rationals | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSLongitude | XMP gps_coordinate | Yes |
| 2 | /ifd/gps/{ushort=4} | Array of EXIF rationals | No |
System.GPS.LongitudeRef
PKEY
PKEY_GPS_LongitudeRef
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSLongitudeRef | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=3}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSLongitudeRef | Unicode | Yes |
| 2 | /ifd/gps/{ushort=3}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
System.GPS.MapDatum
PKEY
PKEY_GPS_MapDatum
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
VT_LPWSTR is preferred, but VT_LPSTR is also accepted
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSMapDatum | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=18}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSMapDatum | Unicode | Yes |
| 2 | /ifd/gps/{ushort=18}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
System.GPS.MeasureMode
PKEY
PKEY_GPS_MeasureMode
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input PROPVARIANT Type
VT_LPWSTR is preferred, but VT_LPSTR is also accepted.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSMeasureMode | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=10}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSMeasureMode | Unicode | Yes |
| 2 | /ifd/gps/{ushort=10}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
System.GPS.ProcessingMethod
PKEY
PKEY_GPS_ProcessingMethod
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input PROPVARIANT Type
VT_LPWSTR is preferred, but VT_LPSTR is also accepted.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSProcessingMethod | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=27} | EXIF comment | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSProcessingMethod | Unicode | Yes |
| 2 | /ifd/gps/{ushort=27} | EXIF comment | No |
System.GPS.Satellites
PKEY
PKEY_GPS_Satellites
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSSatellites | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=8}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSSatellites | Unicode | Yes |
| 2 | /ifd/gps/{ushort=8}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
System.GPS.Speed
PKEY
PKEY_GPS_Speed
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated from System.GPS.SpeedNumerator and System.GPS.SpeedDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSSpeed | XMP rational | Yes |
| 2 | /app1/ifd/gps/{ushort=13} | EXIF rational | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSSpeed | XMP rational | Yes |
| 2 | /ifd/gps/{ushort=13} | EXIF rational | No |
System.GPS.SpeedRef
PKEY
PKEY_GPS_SpeedRef
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input PROPVARIANT Type
VT_LPWSTR is preferred, but VT_LPSTR is also accepted..
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSSpeedRef | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=12}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSSpeedRef | Unicode | Yes |
| 2 | /ifd/gps/{ushort=12}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
System.GPS.Status
PKEY
PKEY_GPS_Status
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input PROPVARIANT Type
VT_LPWSTR is preferred, but VT_LPSTR is also accepted.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/exif:GPSStatus | Unicode | Yes |
| 2 | /app1/ifd/gps/{ushort=9}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/exif:GPSStatus | Unicode | Yes |
| 2 | /ifd/gps/{ushort=9}
Note This path will be deleted if there is no lossless conversion from Unicode to ASCII. | ASCII | No |
System.GPS.Track
PKEY
PKEY_GPS_Track
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated from System.GPS.TrackNumerator and System.GPS.TrackDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:GPSTrack | | XMP rational | Yes |
| 2 | /app1/ifd/gps/{ushort=15} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:GPSTrack | | XMP rational | Yes |
| 2 | /ifd/gps/{ushort=15} | | | No |
System.GPS.TrackRef
PKEY
PKEY_GPS_TrackRef
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:GPSTrackRef | Unicode | | Yes |
| 2 | /app1/ifd/gps/{ushort=14} | ASCII | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:GPSTrackRef | Unicode | | Yes |
| 2 | /ifd/gps/{ushort=14} | ASCII | | No |
System.GPS.VersionID
PKEY
PKEY_GPS_VersionID
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_VECTOR | VT_UI
Input Type
Buffer
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:GPSVersionID | Unicode | buffer (XMP gps_version) | Yes |
| 2 | /app1/ifd/gps/{ushort=0} | | buffer | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:GPSVersionID | Unicode | buffer (XMP gps_version) | Yes |
| 2 | /ifd/gps/{ushort=0} | | buffer | No |
Image Properties
System.Image.ColorSpace
PKEY
PKEY_Image_ColorSpace
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_UI2
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:ColorSpace | Unicode | UShort | Yes |
| 2 | /app1/ifd/exif/{ushort=40961} | | UShort | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:ColorSpace | Unicode | UShort | Yes |
| 2 | /ifd/exif/{ushort=40961} | | UShort | No |
System.Image.CompressedBitsPerPixel
PKEY
PKEY_Image_CompressedBitsPerPixel
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated from System.Image.CompressedBitsPerPixelNumerator and System.Image.CompressedBitsPerPixelDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:CompressedBitsPerPixel | | XMP rational | Yes |
| 2 | /app1/ifd/exif/{ushort=37122} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:CompressedBitsPerPixel | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=37122} | | | No |
System.Image.Compression
PKEY
PKEY_Image_Compression
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_UI2
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/tiff:Compression | Unicode | UShort | Yes |
| 2 | /app1/ifd/{ushort=259} | | UShort | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/tiff:Compression | Unicode | UShort | Yes |
| 2 | /ifd/{ushort=259} | | UShort | No |
System.Image.HorizontalResolution
PKEY
PKEY_Image_HorizontalResolution
Containers
JPEG, TIFF
Read-Only
Yes.
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated by the system and cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/tiff:XResolution | | XMP rational | Yes |
| 2 | /app1/ifd/{ushort=282} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/tiff:XResolution | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=282} | | | No |
System.Image.ImageID
PKEY
PKEY_Image_ImageID
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:ImageUniqueID | Unicode | | Yes |
| 2 | /app1/ifd/exif/{ushort=42016} | ASCII | | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:ImageUniqueID | Unicode | | Yes |
| 2 | /ifd/exif/{ushort=42016} | ASCII | | Yes |
System.Image.ResolutionUnit
PKEY
PKEY_Image_ResolutionUnit
Containers
JPEG, TIFF
Read-Only
Yes.
Output PROPVARIANT Type
VT_I2
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/tiff:ResolutionUnit | Unicode | UShort | Yes |
| 2 | /app1/ifd/{ushort=296} | | UShort | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/tiff:ResolutionUnit | Unicode | UShort | Yes |
| 2 | /ifd/{ushort=296} | | UShort | No |
System.Image.VerticalResolution
PKEY
PKEY_Image_VerticalResolution
Containers
JPEG, TIFF
Read-Only
Yes.
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated by the system and it cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/tiff:YResolution | | XMP rational | Yes |
| 2 | /app1/ifd/{ushort=283} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/tiff:YResolution | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=283} | | | No |
Photo Properties
System.Photo.Aperture
PKEY
PKEY_Photo_Aperture
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated from System.Photo.ApertureNumerator and System.Photo.ApertureDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:ApertureValue | | XMP rational | Yes |
| 2 | /app1/ifd/exif/{ushort=37378} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:ApertureValue | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=37378} | | | No |
System.Photo.Brightness
PKEY
PKEY_Photo_Brightness
Containers
JPEG, TIFF
Read-Only
Yes
Input Type
Double
Conflict Resolution Policy
This value is generated from System.Photo.ApertureNumerator and System.Photo.ApertureDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:BrightnessValue | | XMP rational | Yes |
| 2 | /app1/ifd/exif/{ushort=37379} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:BrightnessValue | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=37379} | | | No |
System.Photo.CameraManufacturer
PKEY
PKEY_Photo_CameraManufacturer
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/tiff:make | Unicode | | Yes |
| 2 | /app1/ifd/{ushort=271} | ASCII | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/tiff:make | Unicode | | Yes |
| 2 | /ifd/{ushort=271} | ASCII | | No |
System.Photo.CameraModel
PKEY
PKEY_Photo_CameraModel
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/tiff:model | Unicode | Yes |
| 2 | /app1/ifd/{ushort=272}
Note This path will be deleted if the value fails to round-trip to ASCII. | ASCII | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/tiff:model | Unicode | Yes |
| 2 | /ifd/{ushort=272}
Note This path will be deleted if the value fails to round-trip to ASCII. | ASCII | No |
System.Photo.CameraSerialNumber
PKEY
PKEY_Photo_CameraSerialNumber
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data from the following path:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/MicrosoftPhoto:CameraSerialNumber | Unicode | | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data from the following path
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/MicrosoftPhoto:CameraSerialNumber | Unicode | | Yes |
System.Photo.Contrast
PKEY
PKEY_Photo_Contrast
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI4
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:Contrast | Unicode | UShort | Yes |
| 2 | /app1/ifd/exif/{ushort=41992} | | UShort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:Contrast | Unicode | UShort | Yes |
| 2 | /ifd/exif/{ushort=41992} | | UShort | Yes |
System.Photo.DateTaken
PKEY
PKEY_Photo_DateTaken
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_FILETIME
Input Type
DateTime
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will use the following order of precedence when reading or writing the data:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:DateTimeOriginal | Unicode | xmp_date | Yes |
| 2 | /app1/ifd/exif/{ushort=36867} | ASCII | exif_date | Yes |
| 3 | /app13/irb/8bimiptc/iptc/date created | ASCII | iptc_date_created_jpeg | No |
Paths for Removal (JPEG)
If the file is in JPEG format, the handler will remove the following paths when a request to delete the data for System.Photo.DateTaken is made:
| Order | Path |
| 1 | /xmp/exif:DateTimeOriginal |
| 2 | /app1/ifd/exif/{ushort=36867} |
| 3 | /app13/irb/8bimiptc/iptc/date created |
| 4 | /app13/irb/8bimiptc/iptc/time created |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will use the following order of precedence when reading or writing the data:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:DateTimeOriginal | Unicode | xmp_date | Yes |
| 2 | /ifd/exif/{ushort=36867} | ASCII | exif_date | Yes |
| 3 | /ifd/iptc/date created | ASCII | iptc_date_created_tiff | Yes |
| 4 | /ifd/irb/8bimiptc/iptc/date created | ASCII | iptc_date_created_tiff | No |
Paths for Removal (TIFF)
If the file is in TIFF format, the handler will remove the following paths when a request to delete the data for System.Photo.DateTaken is made:
| Order | Path |
| 1 | /ifd/xmp/exif:DateTimeOriginal |
| 2 | /ifd/exif/{ushort=36867} |
| 3 | /ifd/iptc/date created |
| 4 | /ifd/iptc/time created |
| 5 | /ifd/irb/8bimiptc/iptc/date created |
| 6 | /ifd/irb/8bimiptc/iptc/time created |
Precedence of Paths (PNG)
If the file is in PNG format, the handler will use the following path when reading, writing, or removing the data:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /[*]tEXt/Creation Time | ASCII | exif_date | Yes |
System.Photo.DigitalZoom
PKEY
PKEY_Photo_DigitalZoom
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated from System.Photo.DigitalZoomNumerator and System.Photo.DigitalZoomDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:DigitalZoomRatio | | XMP rational | Yes |
| 2 | /app1/ifd/exif/{ushort=41988} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:DigitalZoomRatio | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=41988} | | | No |
System.Photo.EXIFVersion
PKEY
PKEY_Photo_EXIFVersion
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:ExifVersion | Unicode | | Yes |
| 2 | /app1/ifd/exif/{ushort=36864} | ASCII | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:ExifVersion | Unicode | | Yes |
| 2 | /ifd/exif/{ushort=36864} | ASCII | | No |
System.Photo.ExposureBias
PKEY
PKEY_Photo_ExposureBias
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated from System.Photo.ExposureBiasNumerator and System.Photo.ExposureBiasDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:ExposureBiasValue | | XMP rational | Yes |
| 2 | /app1/ifd/exif/{ushort=37380} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:ExposureBiasValue | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=37380} | | | No |
System.Photo.ExposureTime
PKEY
PKEY_Photo_ExposureTime
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated from System.Photo.ExposureTimeNumerator and System.Photo.ExposureTimeDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:ExposureTime | | XMP rational | Yes |
| 2 | /app1/ifd/exif/{ushort=33434} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:ExposureTime | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=33434} | | | No |
System.Photo.Flash
PKEY
PKEY_Photo_Flash
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI1 (if the source schema was XMP), or VT_UI2 (if the source schema was EXIF)
Input Type
VT_UI1, VTUI2, VT_UI4
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /xmp/<xmpstruct>exif:Flash | XMP flash | Yes |
| 2 | /app1/ifd/exif/{ushort=37385} | UShort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Required |
| 1 | /ifd/xmp/<xmpstruct>exif:Flash | XMP flash | Yes |
| 2 | /ifd/exif/{ushort=37385} | UShort | Yes |
System.Photo.FlashEnergy
PKEY
PKEY_Photo_FlashEnergy
Containers
JPEG, TIFF
Read-Only
Yes
Input Type
Double
Conflict Resolution Policy
Values from different schemas are reconciled.
System.Photo.FlashManufacturer
PKEY
PKEY_Photo_FlashManufacturer
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will use the following path when reading or writing the data.
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/MicrosoftPhoto:FlashManufacturer | Unicode | | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will use the following order of precedence when reading or writing the data.
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/MicrosoftPhoto:FlashManufacturer | Unicode | | Yes |
System.Photo.FlashModel
PKEY
PKEY_Photo_FlashModel
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will use the following path when reading or writing the data.
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/MicrosoftPhoto:FlashModel | Unicode | | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will use the following order of precedence when reading or writing the data.
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/MicrosoftPhoto:FlashModel | Unicode | | Yes |
System.Photo.FNumber
PKEY
PKEY_Photo_FNumber
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated from System.Photo.FNumberNumerator and System.Photo.FNumberDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:FNumber | | XMP rational | Yes |
| 2 | /app1/ifd/exif/{ushort=33437} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:FNumber | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=33437} | | | No |
System.Photo.FocalLength
PKEY
PKEY_Photo_FocalLength
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated from System.Photo.FocalLengthNumerator and System.Photo.FocalLengthDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:FocalLength | | XMP rational | Yes |
| 2 | /app1/ifd/exif/{ushort=37386} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:FocalLength | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=37386} | | | No |
System.Photo.FocalLengthInFilm
PKEY
PKEY_FocalLengthInFilm
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI4
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:FocalLengthIn35mmFilm | Unicode | UShort | Yes |
| 2 | /app1/ifd/exif/{ushort=41989} | | UShort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:FocalLengthIn35mmFilm | Unicode | UShort | Yes |
| 2 | /ifd/exif/{ushort=41989} | | UShort | Yes |
System.Photo.ISOSpeed
PKEY
PKEY_Photo_ISOSpeed
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI2
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:ISOSpeed | Unicode | UShort | Yes |
| 2 | /app1/ifd/exif/{ushort=34855} | | UShort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:ISOSpeed | Unicode | UShort | Yes |
| 2 | /ifd/exif/{ushort=34855} | | UShort | Yes |
System.Photo.LensManufacturer
PKEY
PKEY_Photo_LensManufacturer
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will use the following path when reading or writing the data.
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/MicrosoftPhoto:LensManufacturer | Unicode | | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will use the following order of precedence when reading or writing the data.
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/MicrosoftPhoto:LensManufacturer | Unicode | | Yes |
System.Photo.LensModel
PKEY
PKEY_Photo_LensModel
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will use the following path when reading or writing the data.
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/MicrosoftPhoto:LensModel | Unicode | | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will use the following order of precedence when reading or writing the data.
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/MicrosoftPhoto:LensModel | Unicode | | Yes |
System.Photo.LightSource
PKEY
PKEY_Photo_LightSource
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI4
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:LightSource | Unicode | UShort | Yes |
| 2 | /app1/ifd/exif/{ushort=37384} | | UShort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:LightSource | Unicode | UShort | Yes |
| 2 | /ifd/exif/{ushort=37384} | | UShort | Yes |
System.Photo.MakerNote
PKEY
PKEY_Photo_MakerNote
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_VECTOR | VTUI1
Input Type
Buffer
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (TIFF)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /app1/ifd/exif/{ushort=37500} | | | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/exif/{ushort=37500} | | | Yes |
System.Photo.MaxAperture
PKEY
PKEY_Photo_MaxAperture
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Input Type
Double
Conflict Resolution Policy
This value is generated from System.Photo.MaxApertureNumerator and System.Photo.MaxApertureDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:MaxApertureValue | | XMP rational | Yes |
| 2 | /app1/ifd/exif/{ushort=37381} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:MaxApertureValue | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=37381} | | | No |
System.Photo.MeteringMode
PKEY
PKEY_Photo_MeteringMode
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI2
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:MeteringMode | Unicode | UShort | Yes |
| 2 | /app1/ifd/exif/{ushort=37383} | | UShort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:MeteringMode | Unicode | UShort | Yes |
| 2 | /ifd/exif/{ushort=37383} | | UShort | Yes |
System.Photo.Orientation
PKEY
PKEY_Photo_Orientation
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI2
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/tiff:Orientation | Unicode | UShort | Yes |
| 2 | /app1/ifd/{ushort=274} | | UShort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/tiff:Orientation | Unicode | UShort | Yes |
| 2 | /ifd/{ushort=274} | | UShort | Yes |
System.Photo.PhotometricInterpretation
PKEY
PKEY_Photo_PhotometricInterpretation
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_UI2
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/tiff:PhotometricInterpretation | Unicode | UShort | Yes |
| 2 | /app1/ifd/{ushort=262} | | UShort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/tiff:PhotometricInterpretation | Unicode | UShort | Yes |
| 2 | /ifd/{ushort=262} | | UShort | Yes |
System.Photo.ProgramMode
PKEY
PKEY_Photo_ProgramMode
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI4
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:ProgramMode | Unicode | UShort | Yes |
| 2 | /app1/ifd/exif/{ushort=34850} | | UShort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:ProgramMode | Unicode | UShort | Yes |
| 2 | /ifd/exif/{ushort=34850} | | UShort | Yes |
System.Photo.RelatedSoundFile
PKEY
PKEY_Photo_RelatedSoundFile
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_LPWSTR
Input Type
String.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:RelatedSoundFile | Unicode | | Yes |
| 2 | /app1/ifd/exif/{ushort=40964} | ASCII | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:RelatedSoundFile | Unicode | | Yes |
| 2 | /ifd/exif/{ushort=40964} | ASCII | | No |
System.Photo.Saturation
PKEY
PKEY_Photo_Saturation
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI4
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:Saturation | Unicode | UShort | Yes |
| 2 | /app1/ifd/exif/{ushort=41993} | | UShort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:Saturation | Unicode | UShort | Yes |
| 2 | /ifd/exif/{ushort=41993} | | UShort | Yes |
System.Photo.Sharpness
PKEY
PKEY_Photo_Sharpness
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI4
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:Sharpness | Unicode | UShort | Yes |
| 2 | /app1/ifd/exif/{ushort=41994} | | UShort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:Sharpness | Unicode | UShort | Yes |
| 2 | /ifd/exif/{ushort=41994} | | UShort | Yes |
System.Photo.ShutterSpeed
PKEY
PKEY_Photo_ShutterSpeed
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated from System.Photo.ShutterSpeedNumerator and System.Photo.ShutterSpeedDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:ShutterSpeedValue | | XMP rational | Yes |
| 2 | /app1/ifd/exif/{ushort=37377} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:ShutterSpeedValue | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=37377} | | | No |
System.Photo.SubjectDistance
PKEY
PKEY_Photo_SubjectDistance
Containers
JPEG, TIFF
Read-Only
Yes
Output PROPVARIANT Type
VT_R8
Conflict Resolution Policy
This value is generated from System.Photo.SubjectDistanceNumerator and System.Photo.SubjectDistanceDenominator. It cannot be written directly. Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:SubjectDistance | | XMP rational | Yes |
| 2 | /app1/ifd/exif/{ushort=37382} | | | No |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:SubjectDistance | | XMP rational | Yes |
| 2 | /ifd/exif/{ushort=37382} | | | No |
System.Photo.TranscodedForSync
PKEY
PKEY_Photo_TranscodedForSync
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_BOOL
Input Type
Boolean.
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/MicrosoftPhoto:TranscodedForSync | | boolean | Yes |
| 2 | /app1/ifd/{ushort=18248} | | bool_ushort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/MicrosoftPhoto:TranscodedForSync | | boolean | Yes |
| 2 | /ifd/{ushort=18248} | | bool_ushort | Yes |
System.Photo.WhiteBalance
PKEY
PKEY_Photo_WhiteBalance
Containers
JPEG, TIFF
Read-Only
No
Output PROPVARIANT Type
VT_UI4
Input Type
UShort
Conflict Resolution Policy
Values from different schemas are reconciled.
Precedence of Paths (JPEG)
If the file is in JPEG format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /xmp/exif:WhiteBalance | Unicode | UShort | Yes |
| 2 | /app1/ifd/exif/{ushort=41987} | | UShort | Yes |
Precedence of Paths (TIFF)
If the file is in TIFF format, the handler will read, write, and remove the data in the following order:
| Order | Path | Disk Format | Data Format | Required |
| 1 | /ifd/xmp/exif:WhiteBalance | Unicode | UShort | Yes |
| 2 | /ifd/exif/{ushort=41987} | | UShort | Yes |