SPropProblem
Internet Explorer Address Book Structures

SPropProblem


typedef struct _SPropProblem {
    ULONG     ulIndex;
    ULONG     ulPropTag;
    SCODE     scode;
} SPropProblem;

Describes an error relating to an operation involving a property.

ulIndex
Index value into an array of property tags.
ulPropTag
Property tag for the property with the error.
scode
Error value describing the problem with the property.

SPropProblemArray

typedef struct _SPropProblemArray {
    ULONG           cProblem;
    SPropProblem    aProblem[MAPI_DIM];
    } SPropProblemArray;

Contains an array of one or more SPropProblem structures.

cProblem
Count of SPropProblem structures in the array indicated by the aProblem member.
aProblem[MAPI_DIM]
Array of SPropProblem structures, each describing a property error.

SPropTagArray

typedef struct _SPropTagArray{
    ULONG   cValues;
    ULONG   aulPropTag[MAPI_DIM];
} SPropTagArray;

Contains an array of property tags.

cValues
Count of property tags in the array indicated by the aulPropTag member.
aulPropTag[MAPI_DIM]
Array of property tags.

SPropValue

typedef struct _SPropValue {
    ULONG       ulPropTag;
    ULONG       dwAlignPad;
    union _PV   Value;
    } SPropValue;

Contains the property tag values.

ulPropTag
Property tag for the property. Property tags are 32-bit unsigned integers consisting of the property's unique identifier in the high-order 16 bits and the property's type in the low-order 16 bits.
dwAlignPad
Reserved; do not use.
Value
Union of data values, the specific value dictated by the property type. The following table lists, for each property type, the member of the union that should be used and its associated data type.

Table of Property Types
Property type Value Data type of Value
PT_I2 or PT_SHORT i short int
PT_I4 or PT_LONG (signed) i LONG
PT_R4 or PT_FLOAT flt FLOAT
PT_R8 or PT_DOUBLE dbl double
PT_BOOLEAN b unsigned short int
PT_CURRENCY cur CURRENCY
PT_APPTIME at double
PT_SYSTIME ft FILETIME
PT_STRING8 lpszA LPSTR
PT_BINARY bin BYTE [array]
PT_UNICODE lpszW LPWSTR
PT_CLSID lpguid LPGUID
PT_I8 or PT_LONGLONG li LARGE_INTEGER
PT_MV_I2 MVi SShortArray
PT_MV_LONG MVI SLongArray
PT_MV_R4 MVflt SRealArray
PT_MV_DOUBLE MVdbl SDoubleArray
PT_MV_CURRENCY MVcur SCurrencyArray
PT_MV_APPTIME MVat SAppTimeArray
PT_MV_SYSTIME MVft SDateTimeArray
PT_MV_BINARY MVbin SBinaryArray
PT_MV_STRING8 MVszA SLPSTRArray
PT_MV_UNICODE MVszW SLPSTRArray
PT_MV_CLSID MVguid SGuidArray
PT_MV_I8 MVli SLargeIntegerArray
PT_ERROR err SCODE
PT_NULL or PT_OBJECT x LONG

SRestriction

typedef struct _SRestriction
{
    ULONG   rt;
    union
    {
        SComparePropsRestriction    resCompareProps;
        SAndRestriction             resAnd;
        SOrRestriction              resOr;
        SNotRestriction             resNot;
        SContentRestriction         resContent;
        SPropertyRestriction        resProperty;
        SBitMaskRestriction         resBitMask;
        SSizeRestriction            resSize;
        SExistRestriction           resExist;
        SSubRestriction             resSub;
        SCommentRestriction         resComment;
    } res;
} SRestriction;

Describes a filter for limiting the view of a table to particular rows.

rt
Restriction type. Possible values are:
RES_AND SRestriction structure describes an AND restriction, which applies a bitwise AND operation to a restriction.
RES_BITMASK SRestriction structure describes a bitmask restriction, which applies a bitmask to a property value.
RES_COMMENT SRestriction structure describes a comment restriction, which associates a comment with a restriction.
RES_COMPAREPROPS SRestriction structure describes a compare properties restriction, which compares two property values.
RES_CONTENT SRestriction structure describes a content restriction, which searches a property value for specific content.
RES_EXIST SRestriction structure describes an exist restriction, which determines if a property is supported.
RES_NOT SRestriction structure describes a NOT restriction, which applies a logical NOT operation to a restriction.
RES_OR SRestriction structure describes an OR restriction, which applies a logical OR operation to a restriction.
RES_PROPERTY SRestriction structure describes a property restriction, which determines if a property value matches a particular value.
RES_SIZE SRestriction structure describes a size restriction, which determines if a property value is a particular size.
RES_SUBRESTRICTION SRestriction structure describes a subobject restriction, which applies a restriction to a message's attachments or recipients.
res
Union of restriction structures describing the filter to be applied. The specific structure included in the res member depends on the value of the rt member. The mapping between restriction type and structure is listed in the following table.
Restriction type Structure
RES_AND SAndRestriction
RES_BITMASK SBitMaskRestriction
RES_COMMENT SCommentRestriction
RES_COMPAREPROPS SComparePropsRestriction
RES_CONTENT SContentRestriction
RES_EXIST SExistRestriction
RES_NOT SNotRestriction
RES_OR SOrRestriction
RES_PROPERTY SPropertyRestriction
RES_SIZE SSizeRestriction
RES_SUBRESTRICTION SSubRestriction

SRow

typedef struct _SRow {
    ULONG         ulAdrEntryPad; 
    ULONG         cValues; 
    LPSPropValue  lpProps; 
    } SRow, FAR *LPSRow;

Describes a row from a table containing selected properties for a specific object.

ulAdrEntryPad
Padding bytes to properly align the property values pointed to by the lpProps member.
cValues
Count of property values pointed to by lpProps.
lpProps
Address of an array of SPropValue structures that describe the property values for the columns in the row.

SRowSet

typedef struct _SRowSet {
    ULONG   cRows;
    SRow    aRow[MAPI_DIM];
    } SRowSet;

Contains an array of SRow structures, each SRow structure describing a row from a table.

cRows
Count of SRow structures in the aRow member
aRow[MAPI_DIM]
Array of SRow structures, one for each row in the table.

SSortOrder

typedef struct _SSortOrder { 
    ULONG ulPropTag;
    ULONG ulOrder;
    } SSortOrder, FAR *LPSSortOrder; 

Defines how to sort rows of a table, describing the column to use as the sort key and the direction of the sort.

ulPropTag
Property tag identifying the sort key or, for a categorized sort, the category column.
ulOrder
Order in which the data is to be sorted. Possible values are:
TABLE_SORT_ASCEND The table should be sorted in ascending order.
TABLE_SORT_COMBINE The sort operation should create a category that combines the property identified as the sort key column in the ulPropTag member with the sort key column specified in the previous SSortOrder structure.
TABLE_SORT_COMBINE can only be used when the SSortOrder structure is being used as an entry in an SSortOrderSet structure to specify multiple sort orders for a categorized sort. TABLE_SORT_COMBINE cannot be used in the first SSortOrder structure in an SSortOrderSet structure.
TABLE_SORT_DESCEND The table should be sorted in descending order.

SSortOrderSet

typedef struct _SSortOrderSet { 
    ULONG      cSorts;
    ULONG      cCategories;
    ULONG      cExpanded;
    SSortOrder aSort[MAPI_DIM];
    } SSortOrderSet, FAR *LPSSortOrderSet;

Defines a collection of sort keys for a table to be used for standard or categorized sorting.

cSorts
Count of SSortOrder structures that are included in the aSort member.
cCategories
Count of columns that are designated as category columns. Possible values range from zero, which indicates a non-categorized or standard sort, to the number indicated by the cSorts member.
cExpanded
Count of categories that start in an expanded state, where all the rows that apply to the category are visible in the table view. Possible values range from zero to the number indicated by cCategories.
aSort[MAPI_DIM]
Array of SSortOrder structures, each defining a sort order.

WAB_PARAM

typedef struct _tagWAB_PARAM
{
    ULONG   cbSize;
    HWND    hwnd;
    LPTSTR  szFileName;
    ULONG   ulFlags;
    } WAB_PARAM ;

Contains the input information to pass to WABOpen.

cbSize
Size in bytes of the WAB_PARM structure.
hwnd
hWndparameter of the calling client application. Can be NULL.
szFileName
Internet Explorer Address Book file name to open. If this parameter is NULL, the default Address Book file is opened.
ulFlags
Currently not implemented in Internet Explorer Address Book.

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.