영구 속성 집합의 사용 가능성이 완전히 탭되지는 않지만 현재 두 가지 기본 용도가 있습니다.
- 문서와 같은 개체에 요약 정보 저장
- 개체 간에 속성 데이터 전송
COM 속성 집합은 세분화된 값의 적당한 크기의 컬렉션으로 표현에 적합한 데이터를 저장하도록 설계되었습니다. 이를 실현하기에는 너무 큰 데이터 집합을 별도의 스트림, 스토리지 및/또는 속성 집합으로 나누어야 합니다. COM 속성 집합 데이터 형식은 많은 작은 개체의 데이터베이스를 대신하기 위한 것이 아닙니다.
COM은 세 가지 도우미 함수와 함께 다양한 개체에 대한 속성 집합 인터페이스의 구현을 제공합니다. 다음 섹션에서는 이러한 구현의 몇 가지 성능 특성을 설명합니다. 특정 인터페이스 및 이러한 인터페이스에 대한 포인터를 가져오는 방법에 대한 자세한 내용은 COM 참조 섹션에서 다음을 참조하세요.
-
IStorage 및 IStream 인터페이스를 제공하는 복합 파일 구현은 IPropertySetStorage 및 IPropertyStorage 인터페이스를 제공합니다. IStorage복합 파일 구현이 제공되면 IUnknown::QueryInterface호출하여IPropertySetStorage 인터페이스를 가져올 수 있습니다.
IPropertySetStorage–NTFS 파일 시스템 구현
IPropertySetStorage 및 IPropertyStorage 인터페이스는 복합 파일이 아닌 NTFS 파일에 대해서도 가져올 수 있습니다. 따라서 NTFS 볼륨의 모든 파일에 대해 이러한 인터페이스를 가져올 수 있습니다.
-
이 IPropertySetStorage 및 IPropertyStorage 구현하면 IStorage 인터페이스를 지원하는 개체에 대한 포인터가 제공됩니다. 그런 다음 해당 스토리지 개체 내에서 속성 집합 스토리지를 조작합니다. 따라서 지원하는 모든 개체에서 속성 집합에 액세스하고 조작할 수 있습니다.
-
IPropertySetStorage 인터페이스의 구현을 제공할 때 고려해야 할 몇 가지 문제가 있습니다. COM 참조 섹션에서 이러한 구현 고려 사항 참조하세요.
또한 메모리로 설정된 속성에서 읽은 속성을 처리하도록 설계된 4개의 도우미 함수가 있습니다(PROPVARIANT 구조로).
- PropVariantInit
- PropVariantClear
- FreePropVariantArray
- PropVariantCopy
다음 섹션에서는 COM의 속성 집합 구현에 대해 자세히 설명합니다.