다음을 통해 공유


IPropertySetStorage 인터페이스(propidl.h)

IPropertySetStorage 인터페이스는 IPropertyStorage 인터페이스의 인스턴스를 지원하는 속성 집합 스토리지를 만들고, 열고, 삭제하고, 열거합니다. IPropertyStorage 인터페이스는 속성 스토리지 하위 개체의 단일 속성 집합을 관리합니다. 및 IPropertySetStorage 인터페이스는 이러한 속성 집합의 그룹 스토리지를 관리합니다. 모든 파일 시스템 엔터티는 현재 COM 복합 파일 개체에 구현된 IPropertySetStorage 를 지원할 수 있습니다.

IPropertySetStorageIPropertyStorage 인터페이스는 이러한 집합이 IStorage를 지원하는 스토리지 개체에 상주하는지 여부에 관계없이 속성 집합을 만들고 관리하는 균일한 방법을 제공합니다. IStorage(예: 구조적 및 복합 파일) 또는 IStream을 지원하는 개체를 통해 호출되는 경우 생성된 속성 집합은 구조적 스토리지 직렬화된 속성 집합 형식에 자세히 설명된 COM 속성 집합 형식을 따릅니다. 마찬가지로 IStorage 를 사용하여 COM 속성 집합 형식으로 작성된 속성은 IPropertySetStorageIPropertyStorage를 통해 표시됩니다.

IPropertySetStorage 메서드는 FMTID(형식 식별자)라는 GUID(Globally Unique Identifier)를 통해 속성 집합을 식별합니다. 속성 집합의 FMTID는 속성 집합의 속성 식별자, 해당 의미 및 값에 대한 제약 조건을 식별합니다. 속성 집합의 FMTID는 해당 속성 집합을 조작하는 수단도 제공해야 합니다. 지정된 FMTID의 instance 한 번에 하나의 속성 스토리지 내에 존재할 수 있습니다.

상속

IPropertySetStorage 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IPropertySetStorage 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IPropertySetStorage 인터페이스에는 이러한 메서드가 있습니다.

 
IPropertySetStorage::Create

속성 집합 스토리지 개체에서 새 속성 집합을 만들고 엽니다.
IPropertySetStorage::D

Delete 메서드는 속성 집합 스토리지 개체에 포함된 속성 집합 중 하나를 삭제합니다.
IPropertySetStorage::Enum

Enum 메서드는 이 속성 집합 스토리지에 저장된 속성 집합에 대한 정보를 포함하는 열거자 개체를 만듭니다. 반환 시 이 메서드는 열거자 개체의 IEnumSTATPROPSETSTG 포인터에 대한 포인터를 제공합니다.
IPropertySetStorage::Open

속성 집합 스토리지 개체에 포함된 속성 집합을 엽니다.

설명

참고 DocumentSummaryInformation 및 UserDefined 속성 집합에는 위의 예외가 있습니다. 이 속성 집합은 단일 기본 스트림에 두 개의 속성 집합 섹션이 있을 수 있다는 측면에서 고유합니다. 이 속성 집합은 DocumentSummaryInformation 및 사용자 정의 속성 집합에 설명되어 있습니다. 첫 번째 섹션은 DocumentSummaryInformation 속성 집합입니다. 두 번째 섹션은 UserDefined 속성 집합입니다. 각 섹션은 FMTID(고유 형식 식별자)로 식별됩니다. 예를 들어 FMTID_DocSummaryInformation 및 FMTID_UserDefined 속성 집합입니다. 이러한 두 속성 집합이 단일 스트림에 존재할 수 있다는 사실은 IPropertySetStorage 인터페이스의 동작에 영향을 줍니다.

UserDefined 속성 집합을 만들기 위해 IPropertySetStorage::Create 를 호출하면 첫 번째 섹션이 자동으로 만들어집니다. FMTID_UserDefinedProperties 만든 후에는 FMTID_DocSummaryInformation 만들 필요가 없지만 IPropertySetStorage::Open을 호출하여 열 수 있습니다. 첫 번째 섹션을 만들면 두 번째 섹션이 자동으로 만들어지지 않으며 두 섹션을 동시에 열 수 없습니다.

첫 번째 섹션을 삭제하려면 IPropertySetStorage::D를 호출하면 두 섹션이 모두 삭제됩니다. 즉, FMTID_DocSummaryInformation 사용하여 IPropertySetStorage::D 삭제 를 호출하면 해당 섹션과 FMTID_UserDefinedProperties 섹션이 모두 삭제됩니다. 그러나 두 번째 섹션을 삭제해도 첫 번째 섹션이 자동으로 삭제되지는 않습니다.

IPropertySetStorage::Enum을 사용하여 속성 집합을 열거하면 UserDefined 속성 집합이 열거되지 않습니다.

 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 propidl.h(Objbase.h 포함)

추가 정보

EnumAll 샘플

IEnumSTATPROPSETSTG

IPropertySetStorage-Compound 파일 구현

IPropertySetStorage-NTFS 파일 시스템 구현

IPropertySetStorage-독립 실행형 구현

IPropertyStorage

PROPVARIANT

STATPROPSETSTG

샘플