IEnumSTATPROPSETSTG-Compound Dateiimplementierung

Die Verbunddateiimplementierung der IEnumSTATPROPSETSTG-Schnittstelle wird verwendet, um ein Array von STATPROPSETSTG-Strukturen zu aufzählen, die statistische Eigenschaftsdaten enthalten. Die IPropertySetStorage-Implementierung verwaltet die statistischen Daten und ist einem aktuellen Verbunddateispeicherobjekt zugeordnet.

Verwendung

Rufen Sie die Methoden von IEnumSTATPROPSETSTG auf, um STATPROPSETSTG-Strukturen aufzählen, die jeweils Daten zu einem der Eigenschaftensätze bereitstellen, die dem Verbunddateispeicherobjekt zugeordnet sind.

Hinweise

IEnumSTATPROPSETSTG::Next

Ruft die nächste oder mehrere STATPROPSETSTG-Strukturen ab (die Zahl wird durch den Celt-Parameter angegeben). Die STATPROPSETSTG-Elemente, die durch einen Aufruf der Verbunddateiimplementierung von IEnumSTATPROPSETSTG::Next bereitgestellt werden, befolgen diese Regeln:

  • Wenn IEnumSTATPROPSETSTG::Next STATPROPSETSTG.fmtid nicht bereitstellen kann, werden Nullen in diesen Member geschrieben. Dies tritt auf, wenn der Eigenschaftensatz keinen vordefinierten Namen (z. B. \ 005SummaryInformation) hat und kein rechtlicher Wert ist.
  • Der Eigenschaftensatz DocumentSummaryInformation und UserDefined ist besonders, da er zwei Eigenschaftensatzabschnitte enthalten kann. Dieser Eigenschaftensatz wird im Abschnitt DocumentSummaryInformation und UserDefined Property Sets beschrieben. Der zweite Abschnitt wird als Eigenschaften User-Defined bezeichnet. Jeder Abschnitt wird mit einem eindeutigen Formatbezeichner (FMTID) identifiziert. Wenn IPropertySetStorage::Enum zum Aufzählen von Eigenschaftensätzen verwendet wird, wird der User-Defined-Eigenschaftensatz nicht aufzählt.

Hinweis

Wenn Sie immer einen Eigenschaftensatz mithilfe von IPropertySetStorage::Createerstellen, gibt IEnumSTATPROPSETSTG::Next einen ungültigen FMTID für den Eigenschaftensatz [ STATPROPSETSTG.fmtid zurück, da eine "Zeichen-GUID" für den Speichernamen erstellt ] wird.

  • Der STATPROPSETSTG.grfFlags-Member gibt nicht notwendigerweise an, ob der Eigenschaftensatz ANSI ist oder nicht. Wenn PROPSETFLAG _ ANSI festgelegt ist, ist der Eigenschaftensatz definitiv ANSI. Wenn PROPSETFLAG ANSI klar ist, kann der Eigenschaftensatz entweder Unicode oder Nicht-Unicode sein, da es nicht möglich ist, festzustellen, ob es sich um ANSI handelt, ohne ihn _ zu öffnen.
  • Der Member STATPROPSETSTG.grfFlags gibt an, ob der Eigenschaftensatz einfach ist oder nicht, sodass die Einstellung des PROPSETFLAG _ NONSIMPLE-Flags immer gültig ist.
  • Wenn IEnumSTATPROPSETSTG::Next STATPROPSETSTG.clsid nicht bereitstellen kann, wird sie auf alle Nullen (CLSID _ NULL) festgelegt. In der Com-Verbunddateiimplementierung tritt dies auf, wenn der Eigenschaftensatz einfach ist (das PROPSETFLAG NONSIMPLE-Flag ist nicht festgelegt) oder nicht einfach ist, aber die CLSID nicht explizit festgelegt _ wurde. Bei nicht einfachen Eigenschaftensätzen wird die empfangene CLSID von der zugrunde liegenden IStorage verwaltet.
  • Wenn IEnumSTATPROPSETSTG::Next die Zeitfelder [ ctime, mtime, atime nicht bereitstellen kann, wird jede nicht unterstützte Zeit auf ] Nullen festgelegt. In der COM-Verbunddateiimplementierung hängt das Abrufen dieser Werte davon ab, ob sie aus der zugrunde liegenden IStorage-Implementierung abgerufen werden.

IEnumSTATPROPSETSTG::Skip

Überspringt die Anzahl der in celt angegebenen Elemente. Gibt S OK zurück, wenn die angegebene Anzahl von Elementen übersprungen wird, gibt S FALSE zurück, wenn weniger Elemente _ _ als angefordert übersprungen werden. In jedem anderen Fall gibt den entsprechenden Fehler zurück.

IEnumSTATPROPSETSTG::Reset

Legt den Cursor auf den Anfang der Enumeration fest. Bei Erfolg gibt S _ OK zurück, andernfalls gibt STG _ E _ INVALIDHANDLE zurück.

IEnumSTATPROPSETSTG::Clone

Kopiert den aktuellen Enumerationszustand dieses Enumerators.