다음을 통해 공유


사용자 지정 속성 만들기

Windows Vista 이상의 속성 시스템에서 사용되는 속성은 속성 스키마에 선언됩니다. 이러한 속성 스키마는 XML 파일에 정의되며 해당 형식(기본 형식에 대한 정보 및 다중값인지 여부 포함), Windows UI에 표시할 수 있는 방법, 사용할 레이블의 종류(사용자에게 친숙한 편집 문자열) 및 더 빠른 액세스를 위해 검색 저장소에 캐시되는 방법을 포함하여 속성의 다양한 측면을 설명합니다. 속성은 정식 이름 또는 PKEY(속성 키)로 식별됩니다.

정식 이름은 속성의 판독기 친화적인 이름이며 Microsoft .NET에서 사용되는 것과 유사한 네임스페이스 규칙을 사용합니다. 시스템 정의 속성(Windows에 포함된 속성)의 경우 규칙은 다음과 같습니다 System.GroupName.PropertyName. 각 단어의 시작 부분에 있는 문자를 대문자로 하는 파스칼 대/소문자 구성표는 이러한 이름에 사용됩니다. 정식 이름은 속성 캐시의 속성 목록 및 열 이름을 비롯한 다양한 위치에서 사용됩니다. 따라서 구조적 쿼리 언어(SQL) 쿼리에서 속성 값을 검색하는 데 사용됩니다.

PKEY는 각각 formatID 및 propID라고 하는 GUID 및 DWORD구성된 값 쌍입니다. PROPERTYKEY 구조체로 표시됩니다. 대부분의 속성 시스템 API는 이러한 속성 키를 허용합니다. Windows SDK(소프트웨어 개발 키트)에는 규칙과 함께 각 속성 키의 System 매크로 정의가 포함된 헤더 파일 Propkey.h가 PKEY_GroupName_PropertyName포함되어 있습니다. 예를 들어 정식 PKEY_Photo_DateTaken 이름을 System.Photo.DateTaken가진 속성의 속성 키입니다. 속성 값은 OLE VARIANT 형식의 확장인 PROPVARIANT 구조체의 형태로 저장됩니다.

이 섹션에는 사용자 지정 속성을 만드는 데 필수적인 다음 항목이 포함되어 있습니다.

참고 항목

인덱서가 속성 시스템의 스키마를 사용할 때 발생할 수 있는 잠재적인 어려움으로 인해 스키마의 첫 번째 릴리스에 대해 신중하게 전략적으로 특성을 정의하는 것이 중요합니다. 스키마가 등록된 후에는 특성(형식, 열 너비, 인덱싱 가능 여부)에 대한 변경 내용이 데이터베이스에 반영되지 않습니다. 스키마가 시스템에 한 번 등록된 후 이러한 변경 내용을 인식하는 유일한 방법은 인덱스를 다시 빌드한 다음 새 스키마를 등록하거나 스키마를 등록한 다음 이후 릴리스마다 새 속성을 만드는 것입니다. 예를 들어 PKEY_GroupName_PropertyNameV2, PKEY_GroupName_PropertyNameV3등). 여러 개의 불필요한 열이 시스템 성능에 영향을 줄 수 있으므로 이러한 방식으로 새 속성을 만들지 않는 것이 좋습니다.

 

속성 처리기 구현

속성 설명 스키마