SubsystemSetTriggers Method

Overload List
NameDescription
Public methodSetTriggers(SubsystemTriggerKinds())
This method sets the specified triggers to happen when certain kinds of events are generated. Each element of array triggers specifies the triggers to set for the kind of event specified by the enumerator in enumeration Monitor.MF_EVENT_KIND that corresponds to the index in the array. Array triggers must contain exacly MF_EVENT_KIND.MF_EVENT_KIND_MAX elements, otherwise an exception of type RTX64Exception is thrown. The triggers to be set correspond to the bits that are set in each element of this array. If the Subsystem is not started, this throws method an exception of type RTX64Exception containing an explanatory error message. This method can be called when monitoring is stopped or started. It takes effect immediately. If any of the specified triggers are already set, they remain set. These flag enumerators can be mixed with each other using bitwise operators. The following kinds of monitoring events cannot have triggers set on them. Attempting to do so will cause an exception of type RTX64Exception to be thrown:
  • MF_EVENT_KIND_RESERVED (Reserved)
  • MF_EVENT_KIND_BUGCHECK_RTSS_RESERVED (Bugcheck RTSS)
  • MF_EVENT_KIND_MARKER (Marker)
  • MF_EVENT_KIND_SUBSYSTEM_STOP (Subsystem Stop)
  • MF_EVENT_KIND_FAST_SEMAPHORE_ACQUIRE (Fast Semaphore Acquire)
  • MF_EVENT_KIND_FAST_SEMAPHORE_RELEASE (Fast Semaphore Release)
  • MF_EVENT_KIND_FAST_SEMAPHORE_RELEASE_ALL (Fast Semaphore Release All)
  • MF_EVENT_KIND_WFSOEX_WAIT (WaitForSingleObjectEx Wait)
  • MF_EVENT_KIND_WFMOEX_WAIT (WaitForMultipleObjectEx Wait)
  • MF_EVENT_KIND_THREAD_SLEEP (Thread Sleep)
Triggers do not persist after the RTX64 Subsystem stops. If persistence is desired, it is the client's responsibility to save trigger state before the Subsystem stops and to restore it when the Subsystem starts. This method is thread-safe and executes atomically across all processes with respect to all other trigger-related methods. IMPORTANT: This method only accumulates new triggers. It never resets a trigger. Thus, if a given kind of event has trigger X set, and this method is called to set only trigger Y for that kind of event, then that kind of event ends up with both trigger X and Y set.
Public methodSetTriggers(MF_EVENT_KIND, SubsystemTriggerKinds)
This method sets the specified triggers to happen when the specified kind of event (parameter eventKind) is generated. Parameter triggers contains one or more of the flag enumerators from enumeration TriggerKinds specifying the triggers to be set for this kind of event. If the Subsystem is not started, this method throws an exception of type RTX64Exception containing an explanatory error message. This method can be called when monitoring is stopped or started. It takes effect immediately. If any of the specified triggers are already set, they remain set. These flag enumerators can be mixed with each other using bitwise operators. The following kinds of monitoring events cannot have triggers set on them. Attempting to do so will cause an exception of type RTX64Exception to be thrown:
  • MF_EVENT_KIND_RESERVED (Reserved)
  • MF_EVENT_KIND_BUGCHECK_RTSS_RESERVED (Bugcheck RTSS)
  • MF_EVENT_KIND_MARKER (Marker)
  • MF_EVENT_KIND_SUBSYSTEM_STOP (Subsystem Stop)
  • MF_EVENT_KIND_FAST_SEMAPHORE_ACQUIRE (Fast Semaphore Acquire)
  • MF_EVENT_KIND_FAST_SEMAPHORE_RELEASE (Fast Semaphore Release)
  • MF_EVENT_KIND_FAST_SEMAPHORE_RELEASE_ALL (Fast Semaphore Release All)
  • MF_EVENT_KIND_WFSOEX_WAIT (WaitForSingleObjectEx Wait)
  • MF_EVENT_KIND_WFMOEX_WAIT (WaitForMultipleObjectEx Wait)
  • MF_EVENT_KIND_THREAD_SLEEP (Thread Sleep)
Triggers do not persist after the RTX64 Subsystem stops. If persistence is desired, it is the client's responsibility to save trigger state before the Subsystem stops and to restore it when the Subsystem starts. This method is thread-safe and executes atomically across all processes with respect to all other trigger-related methods. IMPORTANT: This method only accumulates new triggers. It never resets a trigger. Thus, if a given kind of event has trigger X set, and this method is called to set only trigger Y for that kind of event, then that kind of event ends up with both trigger X and Y set.
Top
See Also