Platform SDK: Exchange Server |
Ensures coordination between the modeless windows and modal windows displayed by the Microsoft Exchange client.
See IExchExtCallback : IUnknown.
HRESULT RegisterModeless( LPEXCHEXTMODELESS peem, LPEXCHEXTMODELESSCALLBACK FAR * ppeemcb );
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.