Interface IPropertyStorage
The IPropertyStorage interface manages the persistent properties of a single property set. Persistent properties consist of information that can be stored persistently in a property set, such as the summary information associated with a file.
Namespace: Syncfusion.CompoundFile.DocIO.Native
Assembly: Syncfusion.DocIO.Base.dll
Syntax
[Guid("00000138-0000-0000-C000-000000000046")]
[CLSCompliant(false)]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IPropertyStorage
Methods
Commit(STGC)
The IPropertyStorage::Commit method saves changes made to a property storage object to the parent storage object.
Declaration
void Commit(STGC grfCommitFlags)
Parameters
Type | Name | Description |
---|---|---|
STGC | grfCommitFlags | The flags that specify the conditions under which the commit is to be performed. |
Commit(UInt32)
The IPropertyStorage::Commit method saves changes made to a property storage object to the parent storage object.
Declaration
void Commit(uint grfCommitFlags)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | grfCommitFlags | The flags that specify the conditions under which the commit is to be performed. |
DeleteMultiple(UInt32, ref PROPSPEC)
The DeleteMultiple method deletes as many of the indicated properties as exist in this property set.
Declaration
void DeleteMultiple(uint cpspec, ref PROPSPEC rgpspec)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | cpspec | The numerical count of properties to be deleted. The value of this parameter can legally be set to zero, however that defeats the purpose of the method as no properties are thereby deleted, regardless of the value set in rgpspec. |
PROPSPEC | rgpspec | Properties to be deleted. A mixture of property identifiers and string-named properties is permitted. There may be duplicates, and there is no requirement that properties be specified in any order. |
DeletePropertyNames(UInt32, ref UInt32)
The DeletePropertyNames method deletes specified string names from the current property set.
Declaration
void DeletePropertyNames(uint cpropid, ref uint rgpropid)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | cpropid | The size on input of the array rgpropid. If 0, no property names are deleted. |
System.UInt32 | rgpropid | Property identifiers for which string names are to be deleted. |
Enum(out IEnumSTATPROPSTG)
The Enum method creates an enumerator object designed to enumerate data of type STATPROPSTG, which contains information on the current property set.
Declaration
void Enum(out IEnumSTATPROPSTG ppenum)
Parameters
Type | Name | Description |
---|---|---|
IEnumSTATPROPSTG | ppenum | Pointer to IEnumSTATPROPSTG pointer variable that receives the interface pointer to the new enumerator object. |
ReadMultiple(UInt32, ref PROPSPEC, IntPtr)
The ReadMultiple method reads specified properties from the current property set.
Declaration
void ReadMultiple(uint cpspec, ref PROPSPEC rgpspec, IntPtr rgpropvar)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | cpspec | The numeric count of properties to be specified in the rgpspec array. |
PROPSPEC | rgpspec | An array of PROPSPEC structures specifies which properties are read. Properties can be specified either by a property ID or by an optional string name. |
System.IntPtr | rgpropvar | Caller-allocated array of a PROPVARIANT structure that, on return, contains the values of the properties specified by the corresponding elements in the rgpspec array. |
ReadMultiple(UInt32, PROPSPEC[], PROPVARIANT[])
The ReadMultiple method reads specified properties from the current property set.
Declaration
void ReadMultiple(uint cpspec, PROPSPEC[] rgpspec, PROPVARIANT[] rgpropvar)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | cpspec | The numeric count of properties to be specified in the rgpspec array. |
PROPSPEC[] | rgpspec | An array of PROPSPEC structures specifies which properties are read. Properties can be specified either by a property ID or by an optional string name. |
PROPVARIANT[] | rgpropvar | Caller-allocated array of a PROPVARIANT structure that, on return, contains the values of the properties specified by the corresponding elements in the rgpspec array. |
ReadPropertyNames(UInt32, ref UInt32, out String)
The ReadPropertyNames method retrieves any existing string names for the specified property IDs.
Declaration
void ReadPropertyNames(uint cpropid, ref uint rgpropid, out string rglpwstrName)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | cpropid | The number of elements on input of the array rgpropid. The value of this parameter can be set to zero. |
System.UInt32 | rgpropid | An array of property IDs for which names are to be retrieved. |
System.String | rglpwstrName | A caller-allocated array of size cpropid of LPWSTR members. On return, the implementation fills in this array. |
Revert()
The Revert method discards all changes to the named property set since it was last opened or discards changes that were last committed to the property set.
Declaration
void Revert()
SetClass(ref Guid)
The SetClass method assigns a new CLSID to the current property storage object, and persistently stores the CLSID with the object.
Declaration
void SetClass(ref Guid clsid)
Parameters
Type | Name | Description |
---|---|---|
System.Guid | clsid | New CLSID to be associated with the property set. |
SetTimes(ref FILETIME, ref FILETIME, ref FILETIME)
The SetTimes method sets the modification, access, and creation times of this property set, if supported by the implementation. Not all implementations support all these time values.
Declaration
void SetTimes(ref FILETIME pctime, ref FILETIME patime, ref FILETIME pmtime)
Parameters
Type | Name | Description |
---|---|---|
System.Runtime.InteropServices.ComTypes.FILETIME | pctime | Pointer to the new creation time for the property set. May be NULL, indicating that this time is not to be modified by this call. |
System.Runtime.InteropServices.ComTypes.FILETIME | patime | Pointer to the new access time for the property set. May be NULL, indicating that this time is not to be modified by this call. |
System.Runtime.InteropServices.ComTypes.FILETIME | pmtime | Pointer to the new modification time for the property set. May be NULL, indicating that this time is not to be modified by this call. |
Stat(ref tagSTATPROPSETSTG)
The Stat method retrieves information about the current open property set.
Declaration
void Stat(ref tagSTATPROPSETSTG pstatpsstg)
Parameters
Type | Name | Description |
---|---|---|
tagSTATPROPSETSTG | pstatpsstg | Pointer to a STATPROPSETSTG structure, which contains statistics about the current open property set. |
WriteMultiple(UInt32, ref PROPSPEC, IntPtr, PID)
The WriteMultiple method writes a specified group of properties to the current property set. If a property with a specified name or property identifier already exists, it is replaced, even when the old and new types for the property value are different.
Declaration
void WriteMultiple(uint cpspec, ref PROPSPEC rgpspec, IntPtr rgpropvar, PID propidNameFirst)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | cpspec | The number of properties set. The value of this parameter can be set to zero; |
PROPSPEC | rgpspec | An array of the property IDs (PROPSPEC) to which properties are set. |
System.IntPtr | rgpropvar | An array (of size cpspec) of PROPVARIANT structures that contain the property values to be written. |
PID | propidNameFirst | The minimum value for the property IDs that the method must assign if the rgpspec parameter specifies string-named properties for which no property IDs currently exist. |
WriteMultiple(UInt32, PROPSPEC[], PROPVARIANT[], Int32)
The WriteMultiple method writes a specified group of properties to the current property set. If a property with a specified name or property identifier already exists, it is replaced, even when the old and new types for the property value are different.
Declaration
void WriteMultiple(uint cpspec, PROPSPEC[] rgpspec, PROPVARIANT[] rgpropvar, int propidNameFirst)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | cpspec | The number of properties set. The value of this parameter can be set to zero; |
PROPSPEC[] | rgpspec | An array of the property IDs (PROPSPEC) to which properties are set. |
PROPVARIANT[] | rgpropvar | An array (of size cpspec) of PROPVARIANT structures that contain the property values to be written. |
System.Int32 | propidNameFirst | The minimum value for the property IDs that the method must assign if the rgpspec parameter specifies string-named properties for which no property IDs currently exist. |
WritePropertyNames(UInt32, ref UInt32, ref String)
The WritePropertyNames method assigns string names to a specified array of property IDs in the current property set.
Declaration
void WritePropertyNames(uint cpropid, ref uint rgpropid, ref string rglpwstrName)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | cpropid | The size on input of the array rgpropid. Can be zero. However, making it zero causes this method to become non-operational. |
System.UInt32 | rgpropid | An array of the property IDs for which names are to be set. |
System.String | rglpwstrName | Array of new names to be assigned to the corresponding property IDs in the rgpropid array. These names may not exceed 255 characters (not including the NULL terminator). |