Partager via


fonction wiasSetItemPropAttribs (wiamdef.h)

La fonction wiasSetItemPropAttribs définit les indicateurs d’accès et les valeurs valides pour l’ensemble de propriétés d’un élément.

Syntaxe

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

Paramètres

[in] pWiasContext

Pointeur vers un contexte d’élément WIA.

cPropSpec

Spécifie le nombre de propriétés.

[in] pPropSpec

Pointeur vers le premier élément d’un tableau de structures PROPSPEC (définies dans la documentation Microsoft Windows SDK) indiquant les propriétés pour lesquelles définir des valeurs valides et des indicateurs d’accès.

[in] pwpi

Pointeur vers le premier élément d’un tableau de structures WIA_PROPERTY_INFO qui contiennent les valeurs de propriété à écrire.

Valeur retournée

En cas de réussite, la fonction retourne S_OK. Si la fonction échoue, elle retourne une erreur COM standard ou l’une des erreurs WIA_ERROR_XXX (décrites dans la documentation SDK Windows).

Remarques

Les minidrivers doivent utiliser cette fonction pour initialiser des groupes de propriétés simples. Les groupes de propriétés peuvent être des bitsets, des plages de valeurs ou des listes de valeurs. Les types simples pris en charge, regroupés par attribut, sont les suivants.

Attributs Types pris en charge
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

Les minidrivers doivent initialiser des propriétés complexes à l’aide de la fonction wiasSetPropertyAttributes .

Le minidriver peut définir l’indicateur WIA_PROP_CACHEABLE sur une propriété qui ne change pas au fil du temps. En définissant cet indicateur sur une propriété, le minidriver indique que le service WIA peut mettre en cache la valeur de la propriété. Consultez la documentation SDK Windows pour obtenir la liste de tous les attributs de propriété.

Il est important de se rappeler que wiasSetItemPropAttribs retourne un HRESULT, et non un BOOLEAN. Par exemple, si wiasSetItemPropAttribs retourne 0, cette valeur doit être interprétée comme S_OK plutôt que COMME FALSE, et indique que tout a fonctionné comme prévu. Si wiasSetItemPropAttribs retourne le S_FALSE HRESULT, cela indique qu’une des propriétés que vous essayez de définir n’existe probablement pas dans le flux de propriétés.

Pour obtenir un journal wiadebug de cette erreur, ouvrez le Registre et activez la journalisation WIA pour les avertissements et les erreurs. La clé de Registre pour ceci est : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StillImage\Debug\wiaservc.dll

Définissez la valeur « DebugFlags » sur 0x00000003

Redémarrez le système et répétez les étapes nécessaires pour générer cette erreur. Un fichier nommé « wiadebug.log » est désormais disponible dans le répertoire %windir% .

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête wiamdef.h (inclure Wiamdef.h)
Bibliothèque Wiaservc.lib
DLL Wiaservc.dll

Voir aussi

WIA_PROPERTY_INFO

wiasSetItemPropNames

wiasSetPropertyAttributes