Méthode IWiaPropertyStorage ::GetPropertyAttributes (wia_xp.h)
La méthode IWiaPropertyStorage ::GetPropertyAttributes récupère les droits d’accès et les informations de valeur légale pour un ensemble de propriétés spécifié.
Syntaxe
HRESULT GetPropertyAttributes(
[in] ULONG cpspec,
[in] PROPSPEC [] rgpspec,
[out] ULONG [] rgflags,
[out] PROPVARIANT [] rgpropvar
);
Paramètres
[in] cpspec
Type : ULONG
Spécifie le nombre d’attributs de propriété à interroger.
[in] rgpspec
Type : PROPSPEC[]
Spécifie un tableau de constantes de propriété Device Information. Chaque constante du tableau sélectionne une propriété à interroger.
[out] rgflags
Type : ULONG[]
Tableau qui reçoit un descripteur d’attribut de propriété pour chaque propriété spécifiée dans le tableau rgpspec . Chaque élément du tableau est une ou plusieurs valeurs de descripteur combinées à une opération OR au niveau du bit.
[out] rgpropvar
Type : PROPVARIANT[]
Tableau qui reçoit un descripteur d’attribut de propriété pour chaque propriété spécifiée dans le tableau pPROPSPEC . Pour plus d’informations, consultez PROPVARIANT.
Valeur retournée
Type : HRESULT
Cette méthode retourne l’une des valeurs suivantes ou un code d’erreur COM standard :
Valeur renvoyée | Signification |
---|---|
S_OK | Cette méthode a réussi. |
S_FALSE | Les noms de propriétés spécifiés n’existent pas. Aucun attribut n’a été récupéré. |
STG_E_ACCESSDENIED | L’application n’a pas accès au flux de propriétés ou le flux est peut-être déjà ouvert. |
STG_E_INSUFFICIENTMEMORY | La mémoire disponible est insuffisante pour terminer cette opération. |
ERROR_NOT_SUPPORTED | Le type de propriété n’est pas pris en charge. |
STG_E_INVALIDPARAMETER | Un ou plusieurs paramètres ne sont pas valides. Une ou plusieurs structures PROPSPEC contiennent des données non valides. |
STG_E_INVALIDPOINTER | Un ou plusieurs des pointeurs passés à cette méthode ne sont pas valides. |
ERROR_NO_UNICODE_TRANSLATION | Une traduction d’Unicode vers ANSI ou ANSI vers Unicode a échoué. |
Remarques
Cette méthode récupère à la fois les droits d’accès aux propriétés et les valeurs de propriété valides. Les droits d’accès indiquent si la propriété est lisible, accessible en écriture ou les deux. Les valeurs de propriété valides sont spécifiées sous la forme d’une plage de valeurs, d’une liste de valeurs ou d’un groupe de valeurs d’indicateur. Pour plus d’informations, consultez Attributs de propriété.
Si l’indicateur de droits d’accès à la propriété a le WIA_PROP_NONE bit défini, aucune information de valeur légale n’est disponible pour cette propriété. Les propriétés en lecture seule et les propriétés avec un type de données binaire sont des exemples de propriétés dont le WIA_PROP_NONE bit est défini.
Si la propriété a une plage de valeurs valides, elles peuvent être déterminées par le paramètre rgpropvar à l’achèvement de cette méthode. Le paramètre ppvValidValues spécifie un tableau de structures PROPVARIANT .
Par exemple, si la plage de propriétés est spécifiée comme VT_VECTOR | VT_UI4, les informations de plage peuvent être récupérées via le membre de structure
rgpropvar[n].caul.pElems[range_specifier]
où n est le numéro d’index de la propriété inspectée et range_specifier est l’un des éléments suivants :
Spécificateur de plage | Signification |
---|---|
WIA_RANGE_MAX | Valeur maximale sur laquelle la propriété peut être définie. |
WIA_RANGE_MIN | Valeur minimale sur laquelle la propriété peut être définie. |
WIA_RANGE_NOM | Valeur de propriété normale ou par défaut. |
WIA_RANGE_STEP | Incrémentez ou décrémentez entre les valeurs de propriété. |
Si la propriété a une liste de valeurs valides, les applications les déterminent via le paramètre ppvValidValues à l’issue de cette méthode.
Par exemple, si la plage de propriétés est spécifiée comme VT_VECTOR | VT_UI4, la liste des valeurs de propriété valides peut être récupérée via le membre de la structure
rgpropspecValues[n].caul.pElems[list_specifier]
où n est le numéro d’index de la propriété inspectée et list_specifier est l’un des éléments suivants :
Spécificateur de plage | Signification |
---|---|
WIA_LIST_COUNT | Nombre total d’éléments de liste à l’exclusion de la valeur nominale. |
WIA_LIST_NOM | Valeur nominale de la propriété. |
WIA_LIST_VALUES | Numéro d’index de la première valeur. |
Les programmes utilisent également le paramètre ppvValidValues pour récupérer des valeurs d’indicateur valides. Par instance, si les indicateurs de propriété sont spécifiés comme VT_UI4, les valeurs d’indicateur valides peuvent être déterminées par le biais du membre de la structure
rgpropspec[n].caul.pElems[flag_specifier]
où n est le numéro d’index de la propriété inspectée, et flag_specifier est l’un des éléments suivants :
Spécificateur de plage | Signification |
---|---|
WIA_FLAG_NOM | Valeur nominale de la propriété. |
WIA_FLAG_NUM_ELEMS | Nombre total d’éléments de liste à l’exclusion de la valeur nominale. |
WIA_FLAG_VALUES | Toutes les valeurs avec tous les bits d’indicateur valides définis. |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel, Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wia_xp.h (incluez Wia.h) |
Bibliothèque | Wiaguid.lib |
DLL | Wiaservc.dll |