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