implementazione di IEnumSTATPROPSETSTG-Compound file
L'implementazione di file composta dell'interfaccia di IEnumSTATPROPSETSTG viene usata per enumerare una matrice di strutture STATPROPSETSTG contenenti dati statistici sulle proprietà. L'implementazione IPropertySetStorage gestisce i dati statistici ed è associata a un oggetto di archiviazione file composto corrente.
Quando usare
Chiamare i metodi di IEnumSTATPROPSETSTG per enumerare strutture STATPROPSETSTG, ognuna delle quali fornisce dati su uno dei set di proprietà associati all'oggetto di archiviazione file composto.
Osservazioni
-
Ottiene la struttura diSTATPROPSETSTG successiva o più(il numero viene specificato dal parametro celt). Gli elementi STATPROPSETSTG forniti tramite una chiamata all'implementazione di file composta di IEnumSTATPROPSETSTG::Next seguire queste regole:
- Se IEnumSTATSETSTG::Next non può fornire STATPROPSETSTG.fmtid, gli zeri vengono scritti in tale membro. Ciò si verifica quando il set di proprietà non ha un nome predefinito (ad esempio \005SummaryInformation) e non è un valore legale.
- Il set di proprietà DocumentSummaryInformation e UserDefined è speciale, in quanto può avere due sezioni impostate di proprietà. Questo set di proprietà è descritto nella sezione Set di proprietà DocumentSummaryInformation e UserDefined. La seconda sezione viene definita proprietà di User-Defined. Ogni sezione viene identificata con un identificatore di formato univoco (FMTID). Quando si utilizza IPropertySetStorage::Enum per enumerare i set di proprietà, il set di proprietà User-Defined non verrà enumerato.
Nota
Se si crea sempre una proprietà impostata usando IPropertySetStorage::Create, quindi, poiché viene creato un "GUID carattere" per il nome di archiviazione, IEnumSTATSETSTG::Next restituirà un VALORE FMTID diverso da zero per il set di proprietà [STATPROPSETSTG.fmtid].
- Il membro STATPROPSETSTG.grfFlags non riflette necessariamente se il set di proprietà è ANSI o meno. Se PROPSETFLAG_ANSI è impostato, il set di proprietà è sicuramente ANSI. Se PROPSETFLAG_ANSI è chiaro, il set di proprietà potrebbe essere Unicode o non Unicode, perché non è possibile stabilire se è ANSI senza aprirlo.
- Il membro STATPROPSETSTG.grfFlags riflette se il set di proprietà è semplice o meno, pertanto l'impostazione del flag PROPSETFLAG_NONSIMPLE è sempre valida.
- Se IEnumSTATSETSTG::Next non può fornire STATPROPSETSTG.clsid, viene impostato su tutti gli zere (CLSID_NULL). Nell'implementazione del file composto COM questo si verifica quando il set di proprietà è semplice (il flag PROPSETFLAG_NONSIMPLE non è impostato) o non è semplice, ma clSID non è stato impostato in modo esplicito. Per i set di proprietà nonsimple, il CLSID ricevuto è quello gestito dal IStorage sottostante.
- Se IEnumSTATSETSTG::Next non è in grado di fornire i campi ora [ctime, mtime, atime], ogni tempo non supportato verrà impostato su zero. Nell'implementazione del file composto COM, il recupero di questi valori dipende dal recupero dall'implementazione dell'IStorage sottostante.
-
Ignora il numero di elementi specificati in celt. Restituisce S_OK se il numero specificato di elementi viene ignorato, restituisce S_FALSE se vengono ignorati meno elementi di quelli richiesti. In qualsiasi altro caso, restituisce l'errore appropriato.
-
Imposta il cursore sull'inizio dell'enumerazione. Se ha esito positivo, restituisce S_OK, in caso contrario, restituisce STG_E_INVALIDHANDLE.
-
Copia lo stato di enumerazione corrente di questo enumeratore.