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:
    /ifd/{ushort=315} 
    
  • 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:

  1. XMP
  2. IPTC
  3. EXIF
  4. 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

Page view tracker