DispatcherProcessingDisabled Structure

DispatcherProcessingDisabled Structure


Represents the Dispatcher when it is in a disable state and provides a means to re-enable dispatcher processing.

Namespace:   System.Windows.Threading
Assembly:  WindowsBase (in WindowsBase.dll)

public struct DispatcherProcessingDisabled : IDisposable


Re-enables dispatcher processing.


Determines whether the specified DispatcherProcessingDisabled object is equal to this DispatcherProcessingDisabled object.(Overrides ValueType.Equals(Object).)


Gets a hash code for this instance. (Overrides ValueType.GetHashCode().)


Gets the Type of the current instance.(Inherited from Object.)


Returns the fully qualified type name of this instance.(Inherited from ValueType.)

System_CAPS_puboperatorSystem_CAPS_staticEquality(DispatcherProcessingDisabled, DispatcherProcessingDisabled)

Determines whether two DispatcherProcessingDisabled objects are equal.

System_CAPS_puboperatorSystem_CAPS_staticInequality(DispatcherProcessingDisabled, DispatcherProcessingDisabled)

Determines whether two DispatcherProcessingDisabled objects are not equal.

DisableProcessing returns a DispatcherProcessingDisabled object when it is called.

Disabling dispatcher processing is an advanced method that is intended to eliminate the chance of unrelated reentrancy.

The effects of disabling processing are as follows:

  • CLR locks will not pump messages internally.

  • DispatcherFrame objects are not allowed to be pushed.

  • Message processing is not permitted.

Calling Dispose on the DispatcherProcessingDisabled object will re-enable dispatcher processing.

Legacy Code Example

The following example shows how to disable dispatcher processing and re-enable dispatcher processing. DisableProcessing is called in a using statement. DisableProcessing returns a DispatcherProcessingDisabled structure which is used as the object to be disposed when the using block finishes. Calling Dispose on the DispatcherProcessingDisabled structure re-enables dispatcher processing.

Code snippet is not found. Confirm that the code snippet name 'DispatcherSnippets' is correct.

.NET Framework
Available since 3.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
© 2015 Microsoft