KVMetadataElement

This structure defines a single metadata element. This structure is defined in kvmetadata.h.

typedef struct tag_KVMetadataElement
{
    KVStructHeader;
    KVString* pKey;
    KVMetadataKey eKey;
    KVMetadataValueType eType;
    void* pValue;
    BOOL bHasStandardAlternative;
    BOOL bIsSuperseded;
} KVMetadataElement;
		

Member Descriptions

KVStructHeader

The KeyView version of the structure. See KVStructHead.

pKey

A pointer to a KVString member, whose value specifies the key for this metadata element.

eKey

A value from the KVMetadataKey enum that specifies the standardized field name. The value KVMetadataKey_Other indicates that this element does not represent a standardized field.

eType

A value from the KVMetadataValueType enum, which specifies how to interpret the pValue member.

pValue

A pointer to the value for this metadata element, which must be interpreted according to the value of the eType member.

bHasStandardAlternative

You can use this member to determine whether a non-standardized element has a standardized counterpart.

  • When this member is true, this element contains metadata that also exists in a standardized KVMetadataElement in the same KVMetadataList. The standardized element might present the metadata with different units.
  • If eKey is KVMetadataKey_Other and this member is false, the element represents a non-standard field and no standard counterpart exists.
bIsSuperseded

A Boolean value that specifies whether this element has been superseded, meaning that this element exists only to preserve backwards compatibility. An element can be superseded to fix issues with the key or value type. When this value is true, the same metadata is available through an improved KVMetadataElement in the same KVMetadataList.