Поделиться через


Функция wiasSetItemPropAttribs (wiamdef.h)

Функция wiasSetItemPropAttribs задает флаги доступа и допустимые значения для набора свойств элемента.

Синтаксис

HRESULT wiasSetItemPropAttribs(
  [in] BYTE               *pWiasContext,
       LONG               cPropSpec,
  [in] PROPSPEC           *pPropSpec,
  [in] PWIA_PROPERTY_INFO pwpi
);

Параметры

[in] pWiasContext

Указатель на контекст элемента WIA.

cPropSpec

Указывает количество свойств.

[in] pPropSpec

Указатель на первый элемент массива структур PROPSPEC (определенных в документации по Microsoft Windows SDK), указывающий свойства, для которых следует задать допустимые значения и флаги доступа.

[in] pwpi

Указатель на первый элемент массива WIA_PROPERTY_INFO структур, содержащих записываемые значения свойств.

Возвращаемое значение

При успешном выполнении функция возвращает S_OK. Если функция завершается сбоем, она возвращает стандартную ошибку COM или одну из WIA_ERROR_XXX ошибок (описано в документации по Windows SDK).

Комментарии

Мини-накопители должны использовать эту функцию для инициализации групп простых свойств. Группами свойств могут быть битовые наборы, диапазоны значений или списки значений. Ниже приведены поддерживаемые простые типы, сгруппированные по атрибуту.

Атрибуты Поддерживаемые типы
WIA_PROP_FLAG VT_UI1, VT_UI2, VT_UI4, VT_UI8, VT_I1, VT_I2, VT_I4 VT_I8
WIA_PROP_RANGE VT_UI1, VT_UI2, VT_UI4, VT_UI8, VT_I1, VT_I2, VT_I4, ,VT_I8, VT_R4, VT_R8
WIA_PROP_LIST VT_UI1, VT_UI2, VT_UI4, VT_UI8, VT_I1, VT_I2, VT_I4, ,VT_I8, VT_R4, VT_R8, VT_BSTR

Мини-накопители должны инициализировать сложные свойства с помощью функции wiasSetPropertyAttributes .

Мини-диск может установить флаг WIA_PROP_CACHEABLE для свойства, которое не изменяется с течением времени. Установив этот флаг для свойства, мини-диск указывает, что служба WIA может кэшировать значение свойства. Список всех атрибутов свойств см. в документации по Windows SDK.

Важно помнить, что wiasSetItemPropAttribs возвращает HRESULT, а не BOOLEAN. Например, если wiasSetItemPropAttribs возвращает значение 0, это значение должно интерпретироваться как S_OK, а не FALSE, и указывает, что все работало должным образом. Если wiasSetItemPropAttribs возвращает S_FALSE HRESULT, это означает, что одно из свойств, которые вы пытаетесь задать, вероятно, не существует в потоке свойств.

Чтобы получить журнал wiadebug об этой ошибке, откройте реестр и включите ведение журнала WIA для предупреждений и ошибок. Раздел реестра для этого: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StillImage\Debug\wiaservc.dll

Задайте для параметра DebugFlags значение 0x00000003

Перезагрузите систему и повторите действия, необходимые для возникновения этой ошибки. Теперь в каталоге %windir% будет находиться файл с именем "wiadebug.log".

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть wiamdef.h (включая Wiamdef.h)
Библиотека Wiaservc.lib
DLL Wiaservc.dll

См. также раздел

WIA_PROPERTY_INFO

wiasSetItemPropNames

wiasSetPropertyAttributes