OPTIONDATA

The OPTIONDATA structure describes option properties supported by a transport provider.

Quick Info

Header file:

MAPISPI.H

 

typedef struct _OPTIONDATA

     ULONG           ulFlags;     

     LPGUID          lpRecipGUID;     

     LPTSTR          lpszAdrType;     

     LPTSTR          lpszDLLName;     

     ULONG           ulOrdinal;

     ULONG           cbOptionsData;

     LPBYTE          lpbOptionsData;     

     ULONG           cOptionsProps;     

     LPSPropValue    lpOptionsProps;     

} OPTIONDATA, FAR *LPOPTIONDATA;

 

Members

ulFlags

Bitmask of flags used to specify recipient or message options. The following flags can be set:

MAPI_MESSAGE

Message-specific options.

MAPI_RECIPIENT

Recipient-specific options.

lpRecipGUID

Pointer to a GUID14AUUS3 structure identifying the message recipient, if applicable.

lpszAdrType

Pointer to the e-mail address type that must be NULL.

lpszDLLName

Pointer to the name of the DLL to be loaded.

ulOrdinal

Specifies which ordinal the transport provider DLL uses to find the client s option callback function.

cbOptionsData

Size, in bytes, of the data pointed to by the lpbOptionsData member.

lpbOptionsData

Pointer to transport-provider option data that is specific to the recipient or message.

cOptionsProps

Count of properties in the array pointed to by the lpOptionsProps member.

lpOptionsProps

Pointer to an array of SPropValue81C9._8 structures, each containing information about a default option property.

 

Remarks

Option properties can apply to a recipient or to a message. They often relate to an address type or GUID supported by a transport provider. Transport providers register to support option properties when MAPI calls their IXPLogon::RegisterOptionsD9M544 method.

RegisterOptions writes one or two OPTIONDATA structures for each supported address type, depending on whether the provider registers for both recipient and message options, recipient options only, or message options only. If a provider is registered for both option types, RegisterOptions writes one structure containing message option properties and one structure containing recipient option properties.

Clients can retrieve the current settings for these options either interactively with a property sheet or programmatically with a property value array. To display option properties to the user, clients call IMAPISession::MessageOptionsEGEI.U or IAddrBook::RecipOptionsUQ98RQ. To retrieve option properties without user intervention, clients call IMAPISession::QueryDefaultMessageOpt12N68BP or IAddrBook::QueryDefaultRecipOpt247NZ8O.

When a client calls MessageOptions or RecipOptions, MAPI invokes a callback function created by the transport provider that conforms to the OPTIONCALLBACK1OPVZTA prototype. This function typically resides in the same DLL as the transport provider and is called to retrieve an IMAPIProp implementation to use with a display table for showing the message and recipient options described in the OPTIONDATA structures.

The DLL name in the lpszDLLname parameter should not indicate the operating system platform when OPTIONDATA is passed in the lppOptions parameter of the IXPLogon::RegisterOptionsD9M544 method.

See Also

IXPLogon::AddressTypes, IXPLogon::RegisterOptions, SPropValue