c++ com ole

Establecer el tiempo de espera de solicitud OLE desde C++



com (3)

Eche un vistazo a IMessageFilter y CoRegisterMessageFilter .

Estoy instanciando un servidor COM local usando CoCreateInstance. A veces, la aplicación que proporciona el servidor tarda mucho tiempo en comenzar. Cuando esto sucede, Windows abre un cuadro de diálogo como este:

Servidor ocupado

La acción no se puede completar porque el otro programa está ocupado. Elija ''Cambiar a'' para activar el programa ocupado y corregir el problema.

[Cambiar a ...] [Reintentar] [Cancelar]

He encontrado mención de una propiedad de Visual Basic en el objeto Aplicación, OleRequestPendingTimeout, que se puede utilizar para controlar el tiempo antes de que aparezca este cuadro de diálogo. No puedo encontrar ninguna buena documentación sobre esto o un equivalente que sea útil desde C ++. ¿Alguien puede señalarme en la dirección correcta?


Si estás usando MFC, solíamos hacer cosas como esta:

// prevent the damned "Server Busy" dialog. AfxOleGetMessageFilter()->EnableBusyDialog(0); AfxOleGetMessageFilter()->EnableNotRespondingDialog(0);