------------------------------------------------------
1. EDB database structure
------------------------------------------------------
The basic unit of an EDB database is volume, that is, a volume, which usually exists in a disk file, such as Pim. Vol.
The volume contains several databases, which can be accessed by the database name or OID (object number). For example, Pim. Vol contains a database named "appointments Database", whose oid is 1077960704.
Each database contains many records. You can access each record by using the oId or sort number in the database.
Each record contains many attributes. Record attribute = record data. The record attributes are stored by the cepropval structure. Each record stores an array of the cepropval type. The array size is the number of attributes.
The attributes of each record are identified by cepropval: propid. Propid is a DWORD data, which defines the property name ID. A low word represents the type of the property data recorded in the database, such as lpwstr and ui4. The property ID in Pim. Vol is defined in "pimstore. H.
Attribute data is stored in the Union of the cevalunion type. The definition of cevalunion is as follows:
Typedef union _ cevalunion {
Short Ival; // @ Field cevt_i2
Ushort Uival; // @ Field cevt_ui2
Long Lval; // @ Field cevt_i4
Ulong Ulval; // @ Field cevt_ui4
// @ Field cevt_auto_i4 _
Filetime Filetime; // @ field cevt_filetime
Lpwstr Lpwstr; // @ Field cevt_lpwstr-PTR to NULL terminated string
Ceblob Blob; // @ Field cevt_blob-DWORD count, and PTR to bytes
// @ Field cevt_auto_i8
// @ Field cevt_recid
// @ Field cevt_stream
Bool