Compartir a través de


función wiasSetItemPropAttribs (wiamdef.h)

La función wiasSetItemPropAttribs establece las marcas de acceso y los valores válidos para el conjunto de propiedades de un elemento.

Sintaxis

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

Parámetros

[in] pWiasContext

Puntero a un contexto de elemento WIA.

cPropSpec

Especifica el número de propiedades.

[in] pPropSpec

Puntero al primer elemento de una matriz de estructuras PROPSPEC (definidas en la documentación de Microsoft Windows SDK) que indican las propiedades para las que se van a establecer valores válidos y marcas de acceso.

[in] pwpi

Puntero al primer elemento de una matriz de estructuras de WIA_PROPERTY_INFO que contienen los valores de propiedad que se van a escribir.

Valor devuelto

Si se ejecuta correctamente, la función devuelve S_OK. Si se produce un error en la función, devuelve un error COM estándar o uno de los errores de WIA_ERROR_XXX (descritos en la documentación de Windows SDK).

Comentarios

Los minidrivers deben usar esta función para inicializar grupos de propiedades simples. Los grupos de propiedades pueden ser conjuntos de bits, intervalos de valores o listas de valores. Los tipos simples admitidos, agrupados por atributo, son los siguientes.

Atributos Tipos admitidos
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

Los minidrivers deben inicializar propiedades complejas mediante la función wiasSetPropertyAttributes .

El minidriver puede establecer la marca WIA_PROP_CACHEABLE en una propiedad que no cambia con el tiempo. Al establecer esta marca en una propiedad, el minidriver indica que el servicio WIA puede almacenar en caché el valor de la propiedad. Consulte la documentación de Windows SDK para obtener una lista de todos los atributos de propiedad.

Es importante recordar que wiasSetItemPropAttribs devuelve un VALOR HRESULT, no un valor BOOLEAN. Por ejemplo, si wiasSetItemPropAttribs devuelve 0, este valor debe interpretarse como S_OK en lugar de FALSE e indica que todo funcionó según lo previsto. Si wiasSetItemPropAttribs devuelve el S_FALSE HRESULT, esto indica que una de las propiedades que intenta establecer probablemente no existe en el flujo de propiedades.

Para obtener un registro de depuración de este error, abra el registro y active el registro wia para advertencias y errores. La clave del Registro para esto es: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StillImage\Debug\wiaservc.dll

Establezca el valor de "DepurarFlags" en 0x00000003

Reinicie el sistema y repita los pasos necesarios para producir este error. Ahora habrá un archivo denominado "wiadebug.log" en el directorio %windir%.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado wiamdef.h (incluye Wiamdef.h)
Library Wiaservc.lib
Archivo DLL Wiaservc.dll

Consulte también

WIA_PROPERTY_INFO

wiasSetItemPropNames

wiasSetPropertyAttributes