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

PROPSETFLAG 상수의 값입니다.

[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

추가 정보

IPropertySetStorage

IPropertySetStorage::Open

PROPSETFLAG 상수

샘플

StgCreatePropSetStg 샘플

WriteRead 샘플