다음을 통해 공유


IEnumSTATPROPSETSTG-Compound 파일 구현

IEnumSTATPROPSETSTG 인터페이스의 복합 파일 구현은 통계 속성 데이터를 포함하는 STATPROPSETSTG 구조체의 배열을 열거하는 데 사용됩니다. IPropertySetStorage 구현은 통계 데이터를 관리하고 현재 복합 파일 스토리지 개체와 연결됩니다.

사용 시기

IEnumSTATPROPSETSTG의 메서드를 호출하여 각각 복합 파일 스토리지 개체와 연결된 속성 집합 중 하나에 대한 데이터를 제공하는 STATPROPSETSTG 구조를 열거합니다.

설명

IEnumSTATPROPSETSTG::Next

다음 하나 이상의 STATPROPSETSTG 구조체를 가져옵니다(숫자는 celt 매개 변수에 의해 지정됨). IEnumSTATPROPSETSTG::Next의 복합 파일 구현에 대한 호출을 통해 제공되는 STATPROPSETSTG 요소는 다음 규칙을 따릅니다.

  • IEnumSTATPROPSETSTG::Next에서 STATPROPSETSTG.fmtid를 제공할 수 없는 경우 0은 해당 멤버에 기록됩니다. 이 문제는 속성 집합에 미리 정의된 이름(예: \005SummaryInformation)이 없으며 법적 값이 아닌 경우에 발생합니다.
  • DocumentSummaryInformation 및 UserDefined 속성 집합은 두 개의 속성 집합 섹션이 있을 수 있다는 측면에서 특별합니다. 이 속성 집합은 DocumentSummaryInformation 및 사용자 정의 속성 집합 섹션에 설명되어 있습니다. 두 번째 섹션을 User-Defined 속성이라고 합니다. 각 섹션은 FMTID(고유한 형식 식별자)로 식별됩니다. IPropertySetStorage::Enum을 사용하여 속성 집합을 열거하면 User-Defined 속성 집합이 열거되지 않습니다.

참고

항상 IPropertySetStorage::Create를 사용하여 속성 집합을 만드는 경우 스토리지 이름에 대해 "문자 GUID"가 만들어지므로 IEnumSTATPROPSETSTG::Next 는 속성 집합 [STATPROPSETSTG.fmtid]에 대해 0이 아닌 유효한 FMTID를 반환합니다.

 

  • STATPROPSETSTG.grfFlags 멤버는 속성 집합이 ANSI인지 여부를 반드시 반영하지는 않습니다. PROPSETFLAG_ANSI 설정된 경우 속성 집합은 확실히 ANSI입니다. PROPSETFLAG_ANSI 명확한 경우 열지 않고 ANSI인지 여부를 알 수 없으므로 속성 집합은 유니코드 또는 비유니코드일 수 있습니다.
  • STATPROPSETSTG.grfFlags 멤버는 속성 집합이 간단한지 여부를 반영하므로 PROPSETFLAG_NONSIMPLE 플래그의 설정은 항상 유효합니다.
  • IEnumSTATPROPSETSTG::Next에서 STATPROPSETSTG.clsid를 제공할 수 없는 경우 모든 0(CLSID_NULL)으로 설정됩니다. COM 복합 파일 구현에서는 속성 집합이 단순하거나(PROPSETFLAG_NONSIMPLE 플래그가 설정되지 않음) 비심플이지만 CLSID가 명시적으로 설정되지 않은 경우에 발생합니다. 비심플 속성 집합의 경우 수신되는 CLSID는 기본 IStorage에서 유지 관리되는 CLSID입니다.
  • IEnumSTATPROPSETSTG::Next에서 시간 필드 [ctime, mtime, atime] 제공할 수 없는 경우 지원되지 않는 각 시간은 0으로 설정됩니다. COM 복합 파일 구현에서 이러한 값을 가져오는 것은 기본 IStorage 구현에서 검색하는 데 따라 달라집니다.

IEnumSTATPROPSETSTG::Skip

celt에 지정된 요소 수를 건너뜁니다. 지정된 수의 요소를 건너뛰면 S_OK 반환하고, 요청된 것보다 적은 요소를 건너뛰면 S_FALSE 반환합니다. 다른 경우에서 는 적절한 오류를 반환합니다.

IEnumSTATPROPSETSTG::Reset

커서를 열거형의 시작 부분으로 설정합니다. 성공하면 S_OK 반환하고, 그렇지 않으면 STG_E_INVALIDHANDLE 반환합니다.

IEnumSTATPROPSETSTG::Clone

이 열거자의 현재 열거형 상태를 복사합니다.