IWiaPropertyStorage::GetPropertyAttributes 方法 (wia_xp.h)
IWiaPropertyStorage::GetPropertyAttributes 方法检索指定属性集的访问权限和法律价值信息。
语法
HRESULT GetPropertyAttributes(
[in] ULONG cpspec,
[in] PROPSPEC [] rgpspec,
[out] ULONG [] rgflags,
[out] PROPVARIANT [] rgpropvar
);
参数
[in] cpspec
类型: ULONG
指定要查询的属性属性的数目。
[in] rgpspec
类型: PROPSPEC[]
指定 设备信息属性常量的数组。 数组中的每个常量都选择要查询的属性。
[out] rgflags
类型: ULONG[]
一个数组,该数组接收 rgpspec 数组中指定的每个属性的属性属性描述符。 数组中的每个元素都是与按位 OR 运算组合的一个或多个描述符值。
[out] rgpropvar
类型: PROPVARIANT[]
一个数组,该数组接收 pPROPSPEC 数组中指定的每个属性的属性属性描述符。 有关详细信息,请参阅 PROPVARIANT。
返回值
类型: HRESULT
此方法返回以下值之一或标准 COM 错误代码:
返回值 | 含义 |
---|---|
S_OK | 此方法成功。 |
S_FALSE | 指定的属性名称不存在。 未检索任何属性。 |
STG_E_ACCESSDENIED | 应用程序无权访问属性流,或者流可能已打开。 |
STG_E_INSUFFICIENTMEMORY | 内存不足,无法完成此操作。 |
ERROR_NOT_SUPPORTED | 不支持属性类型。 |
STG_E_INVALIDPARAMETER | 一个或多个参数无效。 一个或多个 PROPSPEC 结构包含无效数据。 |
STG_E_INVALIDPOINTER | 传递给此方法的一个或多个指针无效。 |
ERROR_NO_UNICODE_TRANSLATION | 从 Unicode 到 ANSI 或 ANSI 到 Unicode 的转换失败。 |
注解
此方法检索属性访问权限和有效属性值。 访问权限报告属性是否可读、可写或两者均可。 有效的属性值指定为值范围、值列表或标志值组。 有关详细信息,请参阅 属性属性。
如果属性访问权限标志设置了 WIA_PROP_NONE 位,则此属性没有法律值信息可用。 只读属性和具有二进制数据类型的属性是设置 WIA_PROP_NONE 位的属性的示例。
如果属性具有一系列有效值,则可以在完成此方法后通过 rgpropvar 参数确定它们。 ppvValidValues 参数指定 PROPVARIANT 结构的数组。
例如,如果将属性范围指定为 VT_VECTOR |VT_UI4,可以通过 结构成员检索范围信息
rgpropvar[n].caul.pElems[range_specifier]
其中 n 是检查的属性的索引号, range_specifier 为下列值之一:
范围说明符 | 含义 |
---|---|
WIA_RANGE_MAX | 属性可以设置为的最大值。 |
WIA_RANGE_MIN | 属性可以设置为的最小值。 |
WIA_RANGE_NOM | 普通或默认属性值。 |
WIA_RANGE_STEP | 属性值之间的递增或递减。 |
如果属性具有有效值的列表,则应用程序会在此方法完成后通过 ppvValidValues 参数确定它们。
例如,如果将属性范围指定为 VT_VECTOR |VT_UI4,可以通过结构成员检索有效属性值的列表
rgpropspecValues[n].caul.pElems[list_specifier]
其中 n 是检查的属性的索引号, list_specifier 为下列值之一:
范围说明符 | 含义 |
---|---|
WIA_LIST_COUNT | 不包括名义值的列表元素总数。 |
WIA_LIST_NOM | 属性的标称值。 |
WIA_LIST_VALUES | 第一个值的索引号。 |
程序还使用 ppvValidValues 参数来检索有效的标志值。 例如,如果将属性标志指定为VT_UI4,则可以通过 结构成员确定有效的标志值
rgpropspec[n].caul.pElems[flag_specifier]
其中 n 是检查的属性的索引号, flag_specifier 为下列值之一:
范围说明符 | 含义 |
---|---|
WIA_FLAG_NOM | 属性的标称值。 |
WIA_FLAG_NUM_ELEMS | 不包括名义值的列表元素总数。 |
WIA_FLAG_VALUES | 设置了所有有效标志位的所有值。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wia_xp.h (包括 Wia.h) |
Library | Wiaguid.lib |
DLL | Wiaservc.dll |