HRESULT CalcFormPropSet(
ULONG ulFlags, LPMAPIFORMPROPARRAY FAR * ppResults );
Parameters
ulFlags
[in] Bitmask of flags that controls how the property array in the ppResults parameter is returned. The following flags can be set:
FORMPROPSET_INTERSECTION
The returned array contains the intersection of the forms' properties.
FORMPROPSET_UNION
The returned array contains the union of the forms' properties.
MAPI_UNICODE
The strings returned in the array are in Unicode format. If the MAPI_UNICODE flag is not set, the strings are in ANSI format.
ppResults
[out] Pointer to a pointer to the returned SMAPIFormPropArray structure. This structure contains all properties used by the installed forms.
Return Values
S_OK
The call succeeded and has returned the expected value or values.
MAPI_E_BAD_CHARWIDTH
Either the MAPI_UNICODE flag was set and the implementation does not support Unicode, or MAPI_UNICODE was not set and the implementation only supports Unicode.
Remarks
Client applications call the IMAPIFormContainer::CalcFormPropSetmethod to obtain an array of properties used by all forms installed within a form container. CalcFormPropSet works like the IMAPIFormMgr::CalcFormPropSet method, except that it operates on every form registered in a particular container.
Notes to Implementers
Form library providers that do not support Unicode strings should return MAPI_E_BAD_CHARWIDTH if MAPI_UNICODE is passed.
Notes to Callers
CalcFormPropSet either takes an intersection or a union of the forms' property sets, depending on the flag set in the ulFlags parameter, and it returns an SMAPIFormPropArray structure containing the resulting group of properties.
If a client passes the MAPI_UNICODE flag in ulFlags, all strings returned are Unicode.