Método IDebugControl3::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
Establézcalo en cero. Actualmente no hay marcas que se pueden usar en este parámetro.
[in] Timeout
Especifica cuántos milisegundos se deben esperar antes de que se devuelva este método. 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, tiempo de espera 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 información.
Código devuelto | Descripción |
---|---|
|
El método se realizó correctamente. |
|
El tiempo de espera ha 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. |
Observaciones
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 de 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, vea Control de excepciones y eventos.
Este método no es re-entrant. 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, vea Depuración de sesión y modelo de ejecución. Para obtener más información sobre las devoluciones de llamada de eventos, consulte Supervisión de eventos.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Escritorio |
encabezado de | dbgeng.h (incluya Dbgeng.h, Winbase.h) |