PROPSETFLAG 상수

PROPSETFLAG 상수는 속성 집합의 특성을 정의 합니다. 다음 표에 나열 된 값은 에 ipropertysetstorage 메서드, StgCreatePropStg 함수 및 StgOpenPropStg 함수의 grfflags 매개 변수에 사용 됩니다.

상수/값 Description
PROPSETFLAG _ 기본값
0
입니다.
지정 하지 않으면 기본적으로 단순 속성 값만 속성 집합에 기록 될 수 있습니다. 단순 속성 값을 사용 하면 복합 파일에서 속성 집합이 트랜잭션 처리 되지 않으며 에 ipropertysetstorage의 독립 실행형 구현으로 설정 됩니다. 이 용도로는 e가 아닌 속성 값을 사용 해야 합니다.
PROPSETFLAG _ 단순
하지 않은
1
지정 된 경우에는 단순 하지 않은 속성 값을 속성 집합에 쓸 수 있으며 속성 집합은 저장소 개체에 저장 됩니다. 단순 하지 않은 속성 값은 VT _ 저장소, vt _ 스트림, vt _ 저장 된 _ 개체 또는 VT _ 스트리밍된 _ 개체의 VARTYPE을 포함 하는 값을 포함 합니다. 이 플래그를 지정 하지 않으면 단순 형식이 아닌 형식을 속성 집합에 쓸 수 없습니다. 복합 파일 및 독립 실행형 구현에서는 PROPSETFLAG _ 가 지정 되지 않은 경우에만 속성 집합이 트랜잭션 될 수 있습니다.
PROPSETFLAG _ ANSI
2
지정 된 경우 명시적으로 유니코드가 아닌 속성 집합의 모든 문자열 값 (예를 들어, VT LPWSTR 이외의 값) _ 은 현재 시스템 ANSI 코드 페이지에 저장 됩니다. 자세한 내용은 Getacp를 참조 하세요. 이 값은 사용 하지 않는 것이 좋습니다. 자세한 내용은 설명 부분을 참조하세요.
이 값이 없으면 새 속성 집합의 문자열 값이 유니코드로 저장 됩니다. 속성 관련 인터페이스를 사용 하는 클라이언트가 ANSI 코드 페이지에 있을 수 있는 OLE2 요약 정보와 같은 표준 속성 집합과 상호 운용할 수 있도록이 값에서 제공 하는 제어 수준이 필요 합니다.
PROPSETFLAG _ 버퍼링
되지 않음
4
StgCreatePropStgStgOpenPropStg 함수 에서만 사용 됩니다. 즉, 속성 집합 인터페이스의 독립 실행형 구현에서입니다. 이러한 함수에서 지정 하는 경우 속성 집합에 대 한 변경 내용은 버퍼링 되지 않습니다. 대신 변경 내용이 항상 속성 집합에 직접 기록 됩니다. 속성 집합 Ipropertystorage 메서드를 호출 하면 변경 됩니다. 그러나 기본적으로 변경 내용은 내부 속성 집합 캐시에 버퍼링 되 고 이후에 Ipropertystorage:: Commit 메서드를 호출할 때 속성 집합에 기록 됩니다.
PROPSETFLAG로 설정 하면 속성 집합이 변경 될 때마다 속성 집합 내부 버퍼가 자동으로 플러시되고 성능이 저하 됩니다. _ 그러나 변경 내용을 직접 쓰면 조정 문제가 발생 하지 않습니다. 예를 들어 저장소 개체가 트랜잭션 모드에서 열리고 속성 집합이 버퍼링 되는 경우입니다. 그런 다음 저장소 개체에서 IStorage:: Commit 메서드를 호출 하는 경우 속성 집합 변경 내용은 아직 플러시되지 않은 버퍼에 있기 때문에 트랜잭션의 일부로 선택 되지 않습니다. 저장소에 변경 내용을 커밋하기 전에 IStorage:: commit 을 호출 하기 전에 ipropertystorage:: commit 을 호출 하 여 속성 집합 버퍼를 플러시해야 합니다. 두 호출을 대신 하 여 변경 내용이 항상 속성 집합에 직접 기록 되 고 속성 집합의 내부 캐시에서 버퍼링 되지 않도록 PROPSETFLAG를 _ 버퍼링 되지 않도록 설정할 수 있습니다. 그런 다음 트랜잭션 된 저장소를 커밋할 때 변경 내용이 선택 됩니다.
PROPSETFLAG _ 대/소문자 _ 구분
8
지정 된 경우 속성 이름은 대/소문자를 구분 합니다. 대/소문자를 구분 하는 속성 이름은 버전 1 속성 집합 serialization 형식 에서만 가능 합니다. 자세한 내용은 속성 집합 Serialization을 참조 하세요.

설명

이러한 값은 속성 집합이 만들어지고 열리는 방법을 결정 하는 비트 연산을 사용 하 여 설정 하 고 확인할 수 있습니다. 속성 집합은 에 ipropertysetstorage:: Create 메서드 또는 StgCreatePropStg 함수를 사용 하 여 만듭니다. 에 ipropertysetstorage:: Open 메서드 또는 StgOpenPropStg 함수를 사용 하 여 열립니다.

Grfflags 매개 변수에 PROPSETFLAG _ ANSI 플래그를 설정 하지 않으면 속성 집합을 유니코드로 만드는 것이 좋습니다. 또한 VT _ LPSTR 값을 사용 하지 말고 vt LPWSTR values를 사용 하는 것이 좋습니다 _ . 속성 설정 코드 페이지가 Unicode 인 경우에는 VT _ LPSTR 문자열 값을 저장할 때 유니코드로 변환한 다음 검색 시 멀티 바이트 문자열 값으로 다시 변환 합니다. 속성 집합의 코드 페이지가 유니코드가 아닌 경우 속성 이름, VT _ BSTR 문자열 및 단순 하지 않은 속성 값이 저장 될 때 멀티 바이트 문자열로 변환 되 고 검색 시 모두 현재 시스템 ANSI 코드 페이지를 사용 하 여 유니코드로 변환 됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional [데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server [데스크톱 앱만]
헤더
Propidl .h

참고 항목

FmtIdToPropStgName

에 ipropertysetstorage:: Create

에 ipropertysetstorage:: Open

PropStgNameToFmtId

StgCreatePropSetStg

StgCreatePropStg

StgOpenPropStg