IPropertySetStorage::Create 메서드(propidl.h)
Create 메서드는 속성 집합 스토리지 개체에 새 속성 집합을 만들고 엽니다.
구문
HRESULT Create(
[in] REFFMTID rfmtid,
[in] const CLSID *pclsid,
[in] DWORD grfFlags,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg
);
매개 변수
[in] rfmtid
만들려는 속성 집합의 FMTID입니다. 플랫폼 SDK에서 잘 알려져 있고 미리 정의된 FMTID에 대한 자세한 내용은 미리 정의된 속성 집합 형식 식별자를 참조하세요.
[in] pclsid
이 속성 집합에 대한 초기 클래스 식별자 CLSID에 대한 포인터입니다. NULL일 수 있습니다. 이 경우 모든 0으로 설정됩니다. CLSID는 속성 값에 대한 프로그래밍 방식 액세스를 표시 및/또는 제공하는 클래스의 CLSID입니다. 이러한 클래스가 없는 경우 FMTID를 사용하는 것이 좋습니다.
[in] grfFlags
[in] grfMode
다음 주의 섹션에 설명된 대로 STGM_Constants 특정 값에서 가져온 새로 만든 속성 집합을 열 액세스 모드입니다.
[out] ppprstg
IPropertyStorage 인터페이스 포인터를 수신하는 출력 변수에 대한 포인터입니다.
반환 값
이 메서드는 E_UNEXPECTED 표준 반환 값과 다음을 지원합니다.
설명
IPropertySetStorage::Create 는 이 속성 집합 스토리지 개체에 포함된 새 속성 집합 하위 개체( IPropertyStorage 인터페이스 지원)를 만들고 엽니다. 속성 집합에는 코드 페이지 및 로캘 ID 속성이 자동으로 포함됩니다. 각각 유니코드 및 현재 사용자 기본값으로 설정됩니다.
grfFlags 매개 변수는 PROPSETFLAG 상수에서 가져온 값의 조합입니다. 이 열거형의 PROPSETFLAG_ANSI 값을 사용하면 코드 페이지가 유니코드가 아닌 현재 시스템 기본값으로 설정됩니다.
grfMode 매개 변수는 새로 만든 집합을 열 액세스 모드를 지정합니다. 이 매개 변수의 값은 다음 표에 나열된 값을 추가하여 IPropertySetStorage::Open에 대한 grfMode 매개 변수와 같습니다.
값 | 의미 |
---|---|
STGM_FAILIFTHERE | 지정된 fmtid 매개 변수를 사용하여 설정된 다른 속성이 있으면 호출이 실패합니다. 기본 작업입니다. 즉, STGM_CREATE 지정되지 않는 한 STGM_FAILIFTHERE 암시됩니다. |
STGM_CREATE | 지정된 fmtid 매개 변수를 사용하여 설정된 다른 속성이 이미 있는 경우 제거되고 이 새 속성으로 바뀝니다. |
만든 속성 집합은 기본적으로 간단하지만 호출자는 grfFlags 매개 변수에 PROPSETFLAG_NONSIMPLE 값을 지정하여 nonsimple 속성 집합을 요청할 수 있습니다. 단순 및 비심플 속성 집합에 대한 자세한 내용은 속성 집합에 대한 스토리지 및 Stream 개체를 참조하세요.
이 메서드는 기본 IStorage::CreateStream (단순 속성 집합의 경우) 또는 IStorage::CreateStorage (비심플 속성 집합의 경우)의 제약 조건이 적용됩니다. 예를 들어 IPropertySetStorage-Compound 파일 구현을 사용하는 경우 grfMode 매개 변수에서 IPropertySetStorage::Create에 대한 STGM_SHARE_EXCLUSIVE 지정합니다. 반대로 IPropertySetStorage-Stand-alone 구현을 사용하는 경우 IPropertySetStorage::Create 에는 호출자 지정 IStorage에 적용되는 제약 조건이 적용됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | propidl.h(Objbase.h 포함) |
라이브러리 | Uuid.lib |
DLL | Ole32.dll |