속성 집합에 대한 스토리지 및 스트림 개체

프로그래머가 속성 집합을 만들 때 속성 집합이 스토리지 또는 스트림에 저장되는지 여부를 지정합니다. grfFlags 매개 변수에서 IPropertySetStorage::Create 메서드에 전달된 PROPSETFLAG_NONSIMPLE 열거형 값은 이를 나타냅니다. 속성 집합이 저장되는 위치를 설정하면 COM 속성 집합과 IPropertySetStorage 인터페이스를 통해 완전히 상호 운용할 수 있는 적절한 애플리케이션 컨트롤이 제공됩니다.

PROPSETFLAG_NONSIMPLE 플래그를 설정하면 속성 집합이 스토리지 개체에 저장되고, 비심플 속성 값을 기록할 수 있습니다. 비심플 값에는 VARTYPE 이 VT_STORAGE, VT_STREAM, VT_STORED_OBJECT 또는 VT_STREAMED_OBJECT 있는 값이 포함됩니다. VARTYPE 값 및 사용 방법에 대한 자세한 내용은 PROPVARIANT 구조를 참조하세요.

PROPSETFLAG_NONSIMPLE 플래그를 설정하지 않으면 간단한 값만 속성 집합에 쓸 수 있습니다.

비심플 속성 집합의 스토리지 개체에서 Contents라는 스트림이 만들어집니다. 이는 속성 집합의 기본 스트림이며 모든 단순 속성 값을 보유합니다. 비심플 속성 값(스트림 및 스토리지)은 하위 스트림 및 스토리지로 설정된 속성의 기본 스토리지 개체 아래에 저장됩니다. 즉, 이러한 비심플 값은 Contents 스트림에 형제로 저장됩니다. 형제 스트림 및 스토리지의 이름은 구현에 의해 결정되며 간단한 문자열 속성이 저장되는 방식과 유사하게 Contents 스트림에 저장됩니다.