# IStorage::SetElementTimes

Sets the modification, access, and creation times of the specified storage element, if supported by the underlying file system.

HRESULT SetElementTimes(

const WCHAR * pwcsName, | //Points to name of element to be changed
FILETIME const * pctime, | //New creation time for element, or NULL
FILETIME const * patime, | //New access time for element, or NULL
FILETIME const * pmtime | //New modification time for element, or NULL
); |

Parameters

pwcsName
  [in] The name of the storage object element whose times are to be modified. If NULL, the time is set on the root storage rather than one of its elements.
pctime
  [in] Either the new creation time for the element or NULL if the creation time is not to be modified.
patime
  [in] Either the new access time for the element or NULL if the access time is not to be modified.
pmtime
  [in] Either the new modification time for the element or NULL if the modification time is not to be modified.

Return Values

S_OK
  The time values were successfully set.
E_PENDING
  Asynchronous Storage only: Part or all of the element’s data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_ACCESSDENIED
  The caller does not have sufficient permissions for changing the element.
STG_E_FILENOTFOUND
  The element with the specified name does not exist.
STG_E_INSUFFICIENTMEMORY
  The element was not changed due to a lack of memory.
STG_E_INVALIDNAME
  Invalid value for the element name.
STG_E_INVALIDPOINTER
  The pointer specified for the element was invalid.
STG_E_INVALIDPARAMETER
  One of the parameters was invalid.
STG_E_TOOMANYOPENFILES
  The element was not changed because there are too many open files.
STG_E_REVERTED
  The storage object has been invalidated by a revert operation above it in the transaction tree.

Remarks

This method sets time statistics for the specified storage element within this storage object.

Not all file systems support all of the time values. This method sets those times that are supported and ignores the rest. Each of the time value parameters can be NULL; indicating that no modification should occur.

Call the IStorage::Stat method to retrieve these time values.

See Also

IStorage - Compound File Implementation, IStorage::Stat