Platform SDK: Exchange Server

IExchExtCallback::RegisterModeless

Ensures coordination between the modeless windows and modal windows displayed by the Microsoft Exchange client.

Quick Info

See IExchExtCallback : IUnknown.

HRESULT RegisterModeless(
  LPEXCHEXTMODELESS peem,                  
  LPEXCHEXTMODELESSCALLBACK FAR * ppeemcb  
);
 

Parameters

peem
[in] Pointer to an IExchExtModeless interface implemented by the extension. This interface should be implemented as another object with separate reference counts from the main extension object.
ppeemcb
[out] Pointer to an IExchExtModelessCallback interface implemented by Microsoft Exchange.

Return Values

S_OK
No errors occurred.
S_FALSE
It was not possible to register a modeless window for the extension.
E_INVALIDARG
The peemObj or ppeemcb parameter is NULL.

Remarks

Extension objects that run in the process space of the Microsoft Exchange client and display modeless windows use the IExchExtCallback::RegisterModeless method primarily to enable and disable Microsoft Exchange windows and extension object windows in a coordinated manner. If an extension object has registered for modeless behavior by calling this method and has called IExchExtModelessCallBack::AddWindow, Microsoft Exchange invokes IExchExtModeless::EnableModeless (with its fEnable parameter set to FALSE) before displaying a modal window. The extension object can then disable its modeless windows. When Microsoft Exchange removes its modal window, it invokes EnableModeless (with its fEnable parameter set to TRUE). The extension object can then re-enable its modeless windows.

Similarly, if a modeless extension object needs to display a modal window, it should call IExchExtModelessCallback::EnableModeless (with its fEnable parameter set to FALSE). Microsoft Exchange will then disable its modeless windows. When the extension object removes its modal window, it should invoke IExchExtModeless::EnableModeless (with its fEnable parameter set to TRUE), enabling Microsoft Exchange to re-enable its modeless windows.

When an extension registers itself as modeless, it supplies a modeless object that enables Microsoft Exchange to communicate with the extension object about the state of its windows.

See Also

IExchExtModeless