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 | 유니코드에서 ANSI로 또는 ANSI에서 유니코드로 변환하지 못했습니다. |
설명
이 메서드는 속성 액세스 권한과 유효한 속성 값을 모두 검색합니다. 액세스 권한은 속성을 읽을 수 있는지, 쓰기 가능한지 또는 둘 다인지 보고합니다. 유효한 속성 값은 값 범위, 값 목록 또는 플래그 값 그룹으로 지정됩니다. 자세한 내용은 속성 특성을 참조하세요.
속성 액세스 권한 플래그에 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 매개 변수를 사용하여 유효한 플래그 값을 검색합니다. instance 경우 속성 플래그가 VT_UI4 지정되면 구조체 멤버를 통해 유효한 플래그 값을 확인할 수 있습니다.
rgpropspec[n].caul.pElems[flag_specifier]
여기서 n 은 검사되는 속성의 인덱스 번호이며 flag_specifier 다음 중 하나입니다.
범위 지정자 | 의미 |
---|---|
WIA_FLAG_NOM | 속성의 명목 값입니다. |
WIA_FLAG_NUM_ELEMS | 명목 값을 제외한 총 목록 요소 수입니다. |
WIA_FLAG_VALUES | 모든 유효한 플래그 비트가 설정된 모든 값입니다. |
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional, Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wia_xp.h(Wia.h 포함) |
라이브러리 | Wiaguid.lib |
DLL | Wiaservc.dll |