IMAPIFormMgr::ResolveMessageClass

Applies to: Outlook 2013 | Outlook 2016

Resolves a message class to its form within a form container, and returns a form information object for that form.

HRESULT ResolveMessageClass(
  LPCSTR szMsgClass,
  ULONG ulFlags,
  LPMAPIFOLDER pFolderFocus,
  LPMAPIFORMINFO FAR * ppResult
);

Parameters

szMsgClass

[in] A string that names the message class being resolved.

ulFlags

[in] A bitmask of flags that controls how the message class is resolved. The following flag can be set:

MAPIFORM_EXACTMATCH

Only message class strings that are an exact match should be resolved.

pFolderFocus

[in] A pointer to the folder that contains the message being resolved. The pFolderFocus parameter can be NULL.

ppResult

[out] A pointer to a pointer to a returned form information object.

Return value

S_OK

The call succeeded and has returned the expected value or values.

MAPI_E_NOT_FOUND

The message class passed in the szMsgClass parameter does not match the message class for any form in the form library.

Remarks

Form viewers call the IMAPIFormMgr::ResolveMessageClass method to resolve a message class to its form within a form container. The form information object returned in the ppResult parameter provides further access to the properties of the form that has the given message class.

Notes to callers

To resolve a message class to a form, a form viewer passes in the name of the message class to be resolved, such as " IPM.HelpDesk.Software". To force the resolution to be exact (that is, to prevent resolution to a base class of the message class when an exactly matching form server is not available), the MAPIFORM_EXACTMATCH flag can be passed in the ulFlags parameter. If the pFolderFocus parameter is NULL, the message-class resolution process does not search a folder container.

The order of the containers searched depends on the implementation of the form library provider. The default form library provider searches first the local container, then the folder container for the passed-in folder, the personal form container and, finally, the organization container.

Message class names are always ANSI strings, never Unicode.

The class identifier for the resolved message class is returned as part of the form information object. A form viewer should not work on the assumption that the class identifier exists in the OLE library until after the form viewer has called either the IMAPIFormMgr::PrepareForm method or the IMAPIFormMgr::CreateForm method.

See also

IMAPIFormInfo : IMAPIProp

IMAPIFormMgr::CreateForm

IMAPIFormMgr::PrepareForm

IMAPIFormMgr : IUnknown