ICacheInfo::TombStoneDuration is a read-only property, in Configuration Manager, that indicates the length of time that an unreferenced item is allowed to persist in the cache before it can be considered eligible for deletion.

[IDL]
HRESULT get_TombStoneDuration(
  long*  pVal
);

Parameters

pVal


Data type: LPCWSTRQualifiers: [out, retval]Pointer to the length of time, in minutes.

Return Values

The property returns an HRESULT code. Possible values include, but are not limited to, the following:

S_OK


The method succeeded.

Remarks

An item is unreferenced if it does not have an active ExecutionRequest.

The TombStoneDuration and MaxCacheDuration properties of the cache are used to manage cache item deletion. If the client does not have enough cache space for a new item, eligible unreferenced items are deleted.

An unreferenced item is eligible for deletion if the time specified in its ICacheElement::LastReferenceTime property is longer than the time specified in ICacheElement::TombStoneDuration. Deletion of eligible unreferenced cache items continues until enough space is made available in the cache for the new item.

If cache space is still required after every eligible unreferenced item has been deleted, eligible referenced items are deleted. A referenced item is eligible for deletion if the time specified in its ICacheInfo::LastReferenceTime property is longer than the time specified ICacheInfo::MaxCacheDuration. Deletion of eligible referenced cache items continues until enough space is made available in the cache for the new item.

The following examples are useful for understanding how cache management works:

1. Items are deleted only when space is required.

Assume the following:

  • The client cache is 250 MB.

  • A user completes downloading and running content X (200 MB) at 1:00 P.M. on January 20.

  • At 2:00 P.M., the user tries to download content Y (100 MB).

The content Y download fails because the sum of content X and content Y is greater than the cache size and content X is not yet past its designated persist period. The same download for content Y succeeds on January 21 after 1:00 P.M. because content X is eligible for deletion by then and is deleted to make room for content Y.

2. Items are deleted in ascending time.

Assume the following:

  • The client cache is 250 MB.

  • The user completes downloading and running content X (100 MB) at 1:00 PM and content Y (100 MB) at 3:00 P.M. on January 20.

When the user tries to download content Z (100 MB) on January 21.at 2:00 P.M., content X is deleted.

Even if the user tries to download content Z at 5:00 P.M., only content X is deleted because eligible items are deleted in the ascending time order.

3. Cache content is deleted after the timeout period.

Assume the following:

  • The client cache size is 250 MB, and an advertisement has the setting run only when a user is logged on.

  • The advertisement comes to the client, and a user is logged on. The client initiates an advanced download for this program (content X of size 240 MB).

  • During the download, the user logs off. The download proceeds and finishes when no user is logged on.

Any new programs that are to be downloaded when no user is logged on (and content size is greater than 10 MB) fail because content X is still occupying the cache space. If the user remains logged off for 30 days, content X is deleted from the cache because the cache content time-out period is 30 days by default.

Requirements

UIResource.dll.

Runtime Requirements

Development Requirements

See Also

Reference

CacheInfo Class


Send comments about this topic to Microsoft.