VD
The VD structure is used to specify a view during run time. The structure is the first block of data written to the PR_VD_BINARY property when a view is saved. Data specified by pointers in this structure is appended after this structure in the PR_VD_BINARY property. When the VD structure is read in, the pointers are invalid.
typedef struct VD
{
    ULONG ulReserved1;
    ULONG ulReserved2;
    ULONG ulVersion;
    ULONG ulReserved3;
    ULONG ulReserved4;
    ULONG cvcd;
    ULONG ivcdSort;
    ULONG cCat; 
    ULONG ulCatSort;
    ULONG ulReserved5;
    ULONG ulReserved6;
    ULONG ulReserved7;
    ULONG ulReserved8;
    ULONG ulReserved9;
    ULONG ulReserved10;
} VD;
 
Members
- 
ulVersion
- 
Version of the view descriptor format.
- 
cvcd
- 
Number of view column descriptors.
- 
ivcdSort
- 
Index into the array of view column descriptors indicating the primary sort column. This column is indicated in the viewer's column header by a upward or downward pointing triangle corresponding to ascending and descending sort order, respectively.
- 
cCat
- 
Number of categorized columns in the view. Microsoft Exchange allows up to four levels of categorization. This is zero if the view is not categorized.
- 
ulCatSort
- 
Sort order flag for the categorized columns. The most significant bit is the sort order flag for the highest level (leftmost) grouping in the viewer; the second most significant bit is the sort order for the second highest level grouping, etc. The following flag can be set: 
- 
VDF_SORTDESCENDING
- 
Indicates descending sort orders; if cleared indicates ascending sort orders.
 
- 
cbCollapseState
- 
Number of bytes in lpbCollapseState.
- 
lpbCollapseState
- 
Pointer to bytes containing the saved expand or collapse state for categorized views.
- 
ulReserved1…ulReserved10
- 
These are reserved and must be NULL.