IStorage::SetElementTimes

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

At a Glance

Header file: Objidl.h
Windows CE versions: 2.0 and later

Syntax

HRESULT SetElementTimes( const WCHAR * pwcsName,
FILETIME const * pctime, FILETIME const * patime,
FILETIME const * pmtime );

Parameters

pwcsName

[in] Pointer to a wide character string that contains 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

One of the values described in the following table is returned.

Value Description
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; that indicates that no modification should occur.

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