The SimConnect_SetSystemEventState function is used to turn requests for event information from the server on and off.

 

Syntax
HRESULT SimConnect_SetSystemEventState(
    HANDLE  hSimConnect,
    SIMCONNECT_CLIENT_EVENT_ID  EventID,
    SIMCONNECT_STATE  dwState
    );

 

Parameters
ParameterDescriptionType
hSimConnectHandle to a SimConnect object.Integer
EventIDSpecifies the ID of the client event that is to have its state changed.Integer
dwStateDouble word containing the state (one member of SIMCONNECT_STATE).Integer

 

Return Values

The function returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return valueDescription
S_OKThe function succeeded.
E_FAILThe function failed.

 

Example
static enum EVENT_ID {
    EVENT_FLIGHT_LOAD,
    EVENT_RECUR_1SEC,
    EVENT_RECUR_FRAME, 
    };
hr = SimConnect_SubscribeToSystemEvent(hSimConnect, EVENT_FLIGHT_LOAD, "FlightLoaded");
hr = SimConnect_SubscribeToSystemEvent(hSimConnect, EVENT_RECUR_1SEC,  "1sec");
hr = SimConnect_SubscribeToSystemEvent(hSimConnect, EVENT_RECUR_FRAME, "frame");
hr = SimConnect_SetSystemEventState(hSimConnect, EVENT_RECUR_FRAME, SIMCONNECT_STATE_OFF);

 

Remarks

If this function is not called, the default is for the state to be on. This is different from input events, which have a default state of off.

 

Use this function to turn system events temporarily on and off, rather than make multiple calls to SimConnect_SubscribeToSystemEvent and SimConnect_UnsubscribeFromSystemEvent, which is less efficient.