MessageQueueTask.SuspendExecution Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Indica que el ejecutable se debe suspender. El motor de ejecución llama a este método.
public:
virtual void SuspendExecution();
public void SuspendExecution ();
abstract member SuspendExecution : unit -> unit
override this.SuspendExecution : unit -> unit
Public Sub SuspendExecution ()
Implementaciones
Ejemplos
El ejemplo de código siguiente es un ejemplo de un método invalidado SuspendExecution para una tarea personalizada.
public void SuspendExecution()
{
lock (this)
{
// If a suspend is required, do it.
if (m_suspendRequired != 0)
ChangeEvent(m_canExecute, false);
}
// The application cannot return from Suspend until the task
// is suspended.
// This can happen in one of two ways:
// 1) The m_suspended event occurs, indicating that the
// execute thread has suspended, or
// 2) the canExecute flag is set, indicating that a suspend is
// no longer required.
WaitHandle [] suspendOperationComplete = {m_suspended, m_canExecute};
WaitHandle.WaitAny(suspendOperationComplete);
}
Public Sub SuspendExecution()
lock (Me)
{
If m_suspendRequired <> 0 Then
ChangeEvent(m_canExecute, False)
End If
}
' The application cannot return from Suspend until the task
' is suspended. This can happen in one of two ways:
' 1) The m_suspended event occurs, indicating that the
' execute thread has suspended, or
' 2) the canExecute flag is set, indicating that a suspend is
' no longer required.
Dim suspendOperationComplete As WaitHandle() = {m_suspended, m_canExecute}
WaitHandle.WaitAny(suspendOperationComplete)
Comentarios
Este método no se usa en el código. Lo llamó el tiempo de ejecución cuando se ha encontrado un punto de interrupción.
Sin embargo, deberá proporcionar código para este método, que se hereda de la IDTSSuspend clase , si escribe una tarea personalizada multiproceso que expone puntos de interrupción. Si la tarea es un único subproceso, lo que significa que la implementación de Execute en la tarea personalizada no inicia nuevos subprocesos, no es necesario implementar esta interfaz. Para obtener más información sobre cómo escribir tareas personalizadas, vea Desarrollar una tarea personalizada.