Typeinfo

Указывает сведения о типе свойства. Для каждого propertyDescription должен быть только один элемент typeInfo. Этот элемент был изменен для Windows 7.

Если элементов несколько, используется последний. Если элемент typeInfo не указан, к описанию свойства применяются параметры атрибута по умолчанию.

Синтаксис для Windows 7

<!-- typeInfo for Windows 7-->
<xs:element name="typeInfo">
    <xs:complexType>
        <xs:attribute name="type" default="Any">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="Any"/>
                    <xs:enumeration value="Null"/>
                    <xs:enumeration value="String"/>
                    <xs:enumeration value="Boolean"/>
                    <xs:enumeration value="Byte"/>
                    <xs:enumeration value="Buffer"/>
                    <xs:enumeration value="Int16"/>
                    <xs:enumeration value="UInt16"/>
                    <xs:enumeration value="Int32"/>
                    <xs:enumeration value="UInt32"/>
                    <xs:enumeration value="Int64"/>
                    <xs:enumeration value="UInt64"/>
                    <xs:enumeration value="Double"/>
                    <xs:enumeration value="DateTime"/>
                    <xs:enumeration value="Guid"/>
                    <xs:enumeration value="Blob"/>
                    <xs:enumeration value="Stream"/>
                    <xs:enumeration value="Clipboard"/>
                    <xs:enumeration value="Object"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="groupingRange">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="Discrete"/>
                    <xs:enumeration value="Alphanumeric"/>
                    <xs:enumeration value="Size"/>
                    <xs:enumeration value="Date"/>
                    <xs:enumeration value="Dynamic"/>
                    <xs:enumeration value="Percent"/>
                    <xs:enumeration value="Enumerated"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="isInnate" type="xs:boolean" default="false"/>
        <xs:attribute name="canBePurged" type="xs:boolean"/>
        <xs:attribute name="multipleValues" type="xs:boolean" default="false"/>
        <xs:attribute name="isGroup" type="xs:boolean" default="false"/>
        <xs:attribute name="aggregationType">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="Default"/>
                    <xs:enumeration value="First"/>
                    <xs:enumeration value="Sum"/>
                    <xs:enumeration value="Average"/>
                    <xs:enumeration value="DateRange"/>
                    <xs:enumeration value="Union"/>
                    <xs:enumeration value="Maximum"/>
                    <xs:enumeration value="Minimum"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="isTreeProperty" type="xs:boolean" default="false"/>
        <xs:attribute name="isViewable" type="xs:boolean" default="false"/>
        <xs:attribute name="isQueryable" type="xs:boolean" default="false"/>
        <xs:attribute name="includeInFullTextQuery" type="xs:boolean" default="false"/>
        <xs:attribute name="searchRawValue" type="xs:boolean" default="false"/>
        <xs:attribute name="conditionType">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="None"/>
                    <xs:enumeration value="String"/>
                    <xs:enumeration value="Number"/>
                    <xs:enumeration value="DateTime"/>
                    <xs:enumeration value="Boolean"/>
                    <xs:enumeration value="Size"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="defaultOperation">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="Equal"/>
                    <xs:enumeration value="NotEqual"/>
                    <xs:enumeration value="LessThan"/>
                    <xs:enumeration value="GreaterThan"/>
                    <xs:enumeration value="Contains"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
</xs:element>

Сведения об элементе

Родительский элемент Дочерние элементы
PropertyDescription Нет

 

Атрибуты

Атрибут Описание
type Общедоступный. Необязательный элемент. Значение по умолчанию — "Любой". Указывает тип свойства . Ниже приведены допустимые типы, а связанные с ними типы вариантов извлекаются методом IPropertyDescription::GetPropertyType.
Значение Значение
Любой По умолчанию. Подсистема свойств не будет применять или принудить значение свойства. IPropertyDescription::GetPropertyType возвращает VT_NULL. Независимым поставщикам программного обеспечения настоятельно рекомендуется предоставлять тип, а не использовать этот тип по умолчанию.
Null Это свойство не имеет значения. IPropertyDescription::GetPropertyType возвращает VT_NULL.
Строка Значение должно быть VT_LPWSTR, которая является строкой Юникода, заканчивающейся пустой ссылкой.
Логическое Значение должно быть VT_BOOL, которое является логическим.
Byte Значение должно быть VT_UI1, то есть байт.
Буфер Значение должно быть VT_UI1 | VT_VECTOR буфер байтов.
Int16 Значение должно быть VT_I2, то есть 16-разрядное целое число.
UInt16 Значение должно быть VT_UI2, то есть 16-разрядное целое число без знака.
Int32 Значение должно быть VT_I4, то есть 32-разрядное целое число.
UInt32 Значение должно быть VT_UI4, то есть 32-разрядное целое число без знака.
Int64 Значение должно быть VT_I8, то есть 64-разрядное целое число.
UInt64 Значение должно быть VT_UI8, то есть 64-разрядное целое число без знака.
Double Значение должно быть VT_R8, то есть значением double.
Дата и время Значение должно быть VT_FILETIME, то есть FILETIME.
Guid Значение должно быть VT_CLSID, которое является идентификатором класса (CLSID).
BLOB-объект Значение должно быть VT_BLOB, которые представляют собой байты с префиксом длины.
Stream Значение должно быть VT_STREAM, то есть объектом, реализующим IStream.
Буфер обмена Значение должно быть VT_CF, которое является форматом буфера обмена.
Объект Значение должно быть VT_UNKNOWN, то есть объектом, реализующим IUnknown.

 

groupingRange Необязательный элемент. Значение по умолчанию — "Дискретный". Указывает, как отображается свойство, если представление сгруппировано по этому свойству. После установки эти значения извлекаются методом IPropertyDescription::GetGroupingRange. Ниже приведены допустимые типы.
Значение Значение
Discrete По умолчанию. Отображает отдельные значения.
Буквенно-цифровой Отображает статические буквенно-цифровые диапазоны значений.
Размер Отображает статические диапазоны размеров для значений.
Дата Отображает группы месяцев и годов. Значение по умолчанию для свойств type="DateTime".
TimeRelative Отображается в группах, зависящих от времени.
Динамический Отображает динамически создаваемые диапазоны для значений.
Процент Отображает процент сегментов.

 

isInnate Общедоступный. Необязательный элемент. Значение по умолчанию — false. Указывает, считается ли свойство врожденным. Врожденное свойство — это свойство, которое вычисляется либо на основе содержимого файла, либо из других ресурсов или систем. Например, System.Size — это врожденное свойство, предоставляемое файловой системой; Изменение значения свойства в и само по себе не выполняет никаких действий. Другими примерами являются System.Image.Dimensions и System.Document.PageCount, которые вычисляются программами на основе содержимого файла, а не на основе изменяемого пользователем параметра. Параметр isInnate="true" означает, что пользователь не может редактировать это свойство напрямую с помощью элемента управления свойством. Это значение сопоставляется с флагом PDTF_ISINNATE, определенным в PROPDESC_TYPE_FLAGS и используемым в IPropertyDescription::GetTypeFlags.
canBePurged Только Windows Vista с пакетом обновления 1 (SP1) и более поздними версиями. Общедоступный. Необязательный элемент. Если задано значение true, допускает удаление врожденного свойства. Встроенные свойства, которые вычисляются из других свойств, по определению доступны только для чтения. Значение по умолчанию для этого атрибута зависит от значения isInnate .
isInnate значение по умолчанию canBePurged
true false
false true

 

Примечание.
Свойство, значение isInnate которого равно false (это означает, что свойство является чтением и записью), также не может задать для значения canBePurged значение false. Это ограничение применяется операционной системой.

 

Хотя этот атрибут появился в Windows Vista с пакетом обновления 1 (SP1), PROPDESC-файл, содержащий этот атрибут, совместим с Windows Vista до Windows Vista с пакетом обновления 1 (SP1). Атрибут canBePurged просто игнорируется в этой ситуации.

multipleValues Общедоступный. Необязательный элемент. Значение по умолчанию — false. Указывает, может ли это свойство иметь несколько значений. Это значение сопоставляется с флагом PDTF_MULTIPLEVALUES, определенным в PROPDESC_TYPE_FLAGS и используемым в IPropertyDescription::GetTypeFlags. Это также влияет на то, имеет ли VT_VECTOR значение OR'd к VARTYPE значения свойства.
isGroup Общедоступный. Необязательный элемент. Значение по умолчанию — false. Указывает, является ли свойство заголовком группы. Заголовок группы строго используется в proplists, не имеет значения, никогда не хранится в файле, а также должен иметь <typeInfo type="Null".> Некоторые элементы пользовательского интерфейса в системе используют proplists для указания последовательности отображаемых свойств. Эти сторонники могут содержать ссылки на заголовки групп (например, System.PropGroup.Camera), которые сообщают пользовательскому интерфейсу о запуске нового раздела группы (например, "Параметры камеры"). В описании свойства с параметром <isGroup="true" должно быть указано labelInfo label="Some localized label">, в противном случае это не является полезным свойством. Это значение сопоставляется с флагом PDTF_ISGROUP, определенным в PROPDESC_TYPE_FLAGS и используемым в IPropertyDescription::GetTypeFlags.
aggregationType Общедоступный. Необязательный элемент. Значение по умолчанию — "Default". Указывает способ отображения агрегатных свойств при выборе нескольких элементов. После установки эти значения извлекаются IPropertyDescription::GetAggregationType в качестве PROPDESC_AGGREGATION_TYPE. Ниже приведены допустимые типы.
Значение Значение
По умолчанию По умолчанию. Отображает заполнитель "Несколько значений " в пользовательском интерфейсе. Это значение по умолчанию, если тип несовместим с указанным aggregationType.
First Отображает значение свойства первого элемента в выделенном фрагменте или коллекции.
SUM Отображает сумму числовых значений. Полезно для таких свойств, как System.Media.Duration или System.Size. Это значение несовместимо с нечисловыми типами.
Среднее Отображает среднее значение числовых значений. Полезно для таких свойств, как System.Rating. Это значение несовместимо с нечисловыми типами.
Диапазон дат Отображает диапазон дат. Полезно для таких свойств, как System.Photo.DateTaken. Это значение не совместимо ни с чем, кроме type="DateTime", и используется по умолчанию для свойств этого типа.
Union Отображает объединение всех значений в выделенном фрагменте или коллекции. Порядок отображения значений не определен. Это значение является значением по умолчанию для свойств type="String" и multipleValues="true".
Максимальная Отображает максимальное значение в коллекции. Полезно для таких свойств, как System.DateModified. Несовместим с нечисловыми типами или типами, не относящиеся к дате.
Минимальные Отображает минимальное значение в коллекции. Несовместим с нечисловыми типами или типами, не относящиеся к дате.

 

isTreeProperty Общедоступный. Необязательный элемент. Значение по умолчанию — false.
isViewable Общедоступный. Необязательный элемент. Значение по умолчанию — false. Указывает, предназначено ли это свойство для просмотра пользователю. Например, в пользовательском интерфейсе выбора столбцов отображаются только те свойства, которые имеют значение isViewable="true". Исключением является пользовательский интерфейс, управляемый proplist, который всегда будет отображать свойство . Если у вас есть свойство, которое предназначено только для переноса данных между двумя объектами и никогда не предназначено для просмотра пользователем, этот атрибут должен иметь значение false. Это значение сопоставляется с флагом PDTF_ISVIEWABLE, определенным в PROPDESC_TYPE_FLAGS и используемым в IPropertyDescription::GetTypeFlags.
isQueryable Только Windows Vista. Не поддерживается в Windows 7 и более поздних версиях. Общедоступный. Необязательный элемент. Значение по умолчанию — false. Указывает, должно ли это свойство быть доступным в пользовательском интерфейсе построителя запросов поиска. Свойство должно иметь значение isViewable="true", прежде чем isQueryable="true" учитывается. Это значение сопоставляется с флагом PDTF_ISQUERYABLE, определенным в PROPDESC_TYPE_FLAGS и используемым в IPropertyDescription::GetTypeFlags.
searchRawValue Windows 7 и более поздних версий. Общедоступный. Необязательный элемент. Значение по умолчанию — false.
includeInFullTextQuery Только Windows Vista. Не поддерживается в Windows 7 и более поздних версиях. Общедоступный. Необязательный элемент. Значение по умолчанию — false.
conditionType Общедоступный. Необязательный элемент. Значение по умолчанию — String. Указывает подсказку для пользовательского интерфейса построителя поисковых запросов, чтобы он смог определить список возможных операторов условий в предикате. Ниже перечислены распознанные значения.
Значение Значение
Строка По умолчанию. Будут использоваться следующие операторы: "is", "is not", "<", ">", "<=", ">=", "starts with", "ends with", "contains", "не содержит", "is like".
Число Значение по умолчанию для числовых свойств. Будут использоваться следующие операторы: "равно", "не равно", "меньше чем", "больше чем", "меньше или равно", "больше или равно".
Дата и время Значение по умолчанию для свойств type="DateTime". Будут использоваться следующие операторы: "is", "is not", "is before", "is after", "is before but includes", "is after but includes", "is after but includes".
Логическое Значение по умолчанию для свойств type="Boolean". То же, что и число.
Размер То же, что и число.

 

defaultOperation Общедоступный. Необязательный элемент. Значение по умолчанию — "Равно". Указывает подсказку для средства "Построитель запросов поиска", чтобы он смог определить оператор по умолчанию. Возможны следующие значения:
Значение Значение
Равно По умолчанию. Указывает эквивалент.
NotEqual Указывает, что не эквивалентно.
LessThan; Указывает меньше.
GreaterThan Значение по умолчанию для свойств conditionType="Size". Указывает больше.
Содержит Значение по умолчанию для свойств conditionType="String". Указывает на включение.