Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Implementacja pliku złożonego interfejsu IEnumSTATPROPSETSTG służy do wyliczania tablicy STATPROPSETSTG struktur zawierających dane właściwości statystycznych. Implementacja IPropertySetStorage zarządza danymi statystycznymi i jest skojarzona z bieżącym obiektem magazynu plików złożonych.
Kiedy należy używać
Wywołaj metody IEnumSTATPROPSETSTG, aby wyliczyć struktury STATPROPSETSTG, z których każda dostarcza dane o jednym z zestawów właściwości skojarzonych z obiektem magazynu plików złożonych.
Uwagi
-
Pobiera następny lub więcej struktur STATPROPSETSTG (liczba jest określana przez parametr celt). Elementy STATPROPSETSTG udostępniane za pośrednictwem wywołania implementacji pliku złożonego IEnumSTATPROPSETSTG::Next są zgodne z następującymi regułami:
- Jeśli IEnumSTATPROPSETSTG::Next nie może podać parametru STATPROPSETSTG.fmtid, do tego elementu członkowskiego są zapisywane zera. Dzieje się tak, gdy zestaw właściwości nie ma wstępnie zdefiniowanej nazwy (takiej jak \005SummaryInformation) i nie jest wartością prawną.
- Zestaw właściwości DocumentSummaryInformation i UserDefined jest specjalny, ponieważ może zawierać dwie sekcje zestawu właściwości. Ten zestaw właściwości jest opisany w sekcji DocumentSummaryInformation i UserDefined Property Sets. Druga sekcja jest nazywana właściwościami User-Defined. Każda sekcja jest identyfikowana z unikatowym identyfikatorem formatu (FMTID). Gdy IPropertySetStorage::Enum służy do wyliczania zestawów właściwości, zestaw właściwości User-Defined nie zostanie wyliczony.
Nuta
Jeśli zawsze tworzysz zestaw właściwości przy użyciu IPropertySetStorage::Create, wówczas, ponieważ dla nazwy magazynu jest tworzony identyfikator GUID znaku, IEnumSTATPROPSETSTG::Next zwróci wartość inną niżzerowa, prawidłowa wartość FMTID dla zestawu właściwości [STATPROPSETSTG.fmtid].
- Element członkowski STATPROPSETSTG.grfFlags nie musi odzwierciedlać, czy zestaw właściwości jest ANSI, czy nie. Jeśli PROPSETFLAG_ANSI jest ustawiona, zestaw właściwości jest zdecydowanie ANSI. Jeśli PROPSETFLAG_ANSI jest jasne, zestaw właściwości może być unicode lub inny niż Unicode, ponieważ nie jest możliwe określenie, czy jest to ANSI bez jego otwierania.
- Element członkowski STATPROPSETSTG.grfFlags odzwierciedla, czy zestaw właściwości jest prosty, czy nie, więc ustawienie flagi PROPSETFLAG_NONSIMPLE jest zawsze prawidłowe.
- Jeśli IEnumSTATPROPSETSTG::Next nie może podać identyfikatora STATPROPSETSTG.clsid, jest ustawiona na wszystkie zera (CLSID_NULL). W implementacji pliku złożonego COM występuje to, gdy zestaw właściwości jest prosty (flaga PROPSETFLAG_NONSIMPLE nie jest ustawiona) lub jest niesimple, ale CLSID nie został jawnie ustawiony. W przypadku zestawów właściwości innych niżimple identyfikator CLSID, który jest odbierany, jest tym, który jest obsługiwany przez bazowy IStorage.
- Jeśli IEnumSTATPROPSETSTG::Next nie może podać pól czasu [ctime, mtime, atime], każdy nieobsługiwany czas zostanie ustawiony na zera. W implementacji pliku złożonego COM pobieranie tych wartości zależy od pobierania ich z podstawowej implementacji IStorage.
-
Pomija liczbę elementów określonych w celt. Zwraca S_OK, jeśli określona liczba elementów zostanie pominięta, zwraca S_FALSE, jeśli pominięto mniej elementów niż żądane. W każdym innym przypadku zwraca odpowiedni błąd.
-
Ustawia kursor na początek wyliczenia. Jeśli operacja powiedzie się, zwraca S_OK, w przeciwnym razie zwraca STG_E_INVALIDHANDLE.
-
Kopiuje bieżący stan wyliczania tego modułu wyliczającego.