Método IDebugControl2::WaitForEvent (dbgeng.h)
El método WaitForEvent espera un evento que se divide en la aplicación del motor del depurador.
Sintaxis
HRESULT WaitForEvent(
[in] ULONG Flags,
[in] ULONG Timeout
);
Parámetros
[in] Flags
Establecer en cero. Actualmente no hay marcas que se puedan usar en este parámetro.
[in] Timeout
Especifica cuántos milisegundos se deben esperar antes de que este método devuelva. Si Timeout es INFINITE, este método no devolverá hasta que se produzca un evento que se interrumpa en la aplicación del motor del depurador o se emita una interrupción de salida. Si la sesión actual tiene un destino de kernel activo, Timeout debe establecerse en INFINITE.
Valor devuelto
Este método puede devolver otros valores de error y los valores de error anteriores pueden tener significados adicionales. Consulte Valores devueltos para obtener más detalles.
Código devuelto | Descripción |
---|---|
|
Método realizado correctamente. |
|
El tiempo de espera expirado. |
|
Se emitió una interrupción de salida. El destino no está disponible. |
|
Hay una solicitud pendiente para la entrada o ninguno de los destinos podría generar eventos. |
|
El motor ya está esperando un evento. |
Comentarios
Solo se puede llamar al método desde el subproceso que inició la sesión del depurador.
Cuando se produce un evento, el motor del depurador procesará el evento y llamará a las devoluciones de llamada del evento. Si una de estas devoluciones de llamada indica que el evento debe dividirse en la aplicación del motor del depurador (devolviendo DEBUG_STATUS_BREAK), este método devolverá; de lo contrario, seguirá esperando un evento. Los filtros de eventos también pueden especificar que un evento debe dividirse en la aplicación del motor del depurador. Para obtener más información sobre los filtros de eventos, consulte Control de excepciones y eventos.
Este método no puede introducirse en varias ocasiones. Una vez que se ha llamado, no se puede llamar de nuevo en ningún cliente hasta que se haya devuelto. En concreto, no se puede llamar desde las devoluciones de llamada de eventos, incluidas las extensiones y los comandos ejecutados por las devoluciones de llamada.
Si ninguno de los destinos es capaz de generar eventos (por ejemplo, todos los destinos han salido), este método finalizará la sesión actual, descartará los destinos y, a continuación, devolverá E_UNEXPECTED.
La constante INFINITE se define en Winbase.h.
Para obtener más información sobre el uso de WaitForEvent para controlar el flujo de ejecución de la aplicación y los destinos del depurador, consulte Depuración del modelo de sesión y ejecución. Para más información sobre las devoluciones de llamada de eventos, consulte Supervisión de eventos.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | dbgeng.h (include Dbgeng.h, Winbase.h) |