CEVOLUMEOPTIONS (EDB) (Compact 7)

3/12/2014

This structure contains information on volume-level options.

Syntax

typedef struct CEVOLUMEOPTIONS {
  WORD wVersion;
  DWORD cbBufferPool;
  DWORD dwAutoShrinkPercent;
  DWORD dwFlushInterval;
  DWORD cMaxNotifyChanges;
  DWORD dwDefaultTimeout;
  WCHAR wszPassword[CCH_MAX_PASSWORD + 1];
  DWORD dwFlags;
} CEVOLUMEOPTIONS;

Members

  • wVersion
    Version of this structure. Must be set to 1.
  • cbBufferPool
    Buffer pool size, in bytes.
  • dwAutoShrinkPercent
    Maximum amount of the database that can be free space. Setting this member to 0 (zero) disables automatic shrinking of the database.
  • dwFlushInterval
    Flush interval, in seconds.
  • cMaxNotifyChanges
    Maximum number of individual notification changes to track.
  • dwDefaultTimeout
    Lock timeout, in milliseconds.
  • wszPassword
    Password.
  • dwFlags
    One or a combination of the following flags. The remaining values are set to the system default values.

    • CEDB_AUTOSHRINKPERCENT
    • CEDB_BUFFERPOOL
    • CEDB_DEFAULTTIMEOUT
    • CEDB_FLUSHINTERVAL
    • CEDB_MAXNOTIFYCHANGES
    • CEDB_PASSWORD

Remarks

This structure is used by the CeMountDBVolEx (EDB) function.

The cbBufferPool member specifies the size, in bytes, of the buffer pool used to cache and manage transactions. The larger the buffer pool, the better the performance, but the buffer pool consumes memory.

Set the cMaxNotifyChanges member to improve performance in long-running transactions. When the cMaxNotifyChanges threshold is exceeded, notification clients do not receive insert, update, and delete notifications. Instead, they receive only DB_NOTIFY_VOLUME_CHANGED notifications.

When choosing a setting for the dwDefaultTimeout member, consider your concurrency scenario on the volume. If your application requires data to be flushed immediately, set the dwDefaultTimeout member to a low value. However, flushing is a resource-intensive operation that affects performance.

When a volume is mounted, the volume options cannot be changed. Therefore, the volume options are respected only when a volume is mounted for the first time. Volume options are specified with the CEVOLUMEOPTIONS structure in the call to the CeMountDBVolEx function.

Note

MaxNotifyChanges can be temporarily modified on a per-session basis by calling the CeSetSessionOption (EDB) function.

Requirements

Header

windbase.h

Library

coredll.lib

See Also

Reference

EDB Structures
CeMountDBVolEx (EDB)