다음을 통해 공유


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

추가 정보

IPropertyStorage

IWiaPropertyStorage