---
title: "FFDeviceGetForceFeedbackState(_:_:)"
framework: Force Feedback
role: symbol
role_heading: Function
platforms: [Mac Catalyst 13.0+, macOS 10.2+]
path: "forcefeedback/ffdevicegetforcefeedbackstate(_:_:)"
---

# FFDeviceGetForceFeedbackState(_:_:)

Retrieves the state of the device’s force feedback system.

## Declaration

```swift
func FFDeviceGetForceFeedbackState(_ deviceReference: FFDeviceObjectReference!, _ pFFState: UnsafeMutablePointer<FFState>!) -> HRESULT
```

## Parameters

- `deviceReference`: An opaque reference handle to a device object. This is obtained from a previous call to FFCreateDevice.
- `pFFState`: Location for flags that describe the current state of the device’s force feedback system. The value is a combination of the following constants: FFGFFS_ACTUATORSOFF The device’s force feedback actuators are disabled. FFGFFS_ACTUATORSON The device’s force feedback actuators are enabled. FFGFFS_DEVICELOST The device suffered an unexpected failure and is in an indeterminate state. It must be reset either by unacquiring and reacquiring the device, or by sending a FFSFFC_RESET command. FFGFFS_EMPTY The device has no downloaded effects. FFGFFS_PAUSED Playback of all active effects has been paused. FFGFFS_POWEROFF The force feedback system is not currently available. If the device cannot report the power state, neither FFGFFS_POWERON nor FFGFFS_POWEROFF is returned. FFGFFS_POWERON Power to the force feedback system is currently available. If the device cannot report the power state, neither FFGFFS_POWERON nor FFGFFS_POWEROFF is returned. FFGFFS_SAFETYSWITCHOFF The safety switch is currently off; that is, the device cannot operate. If the device cannot report the state of the safety switch, neither FFGFFS_SAFETYSWITCHON nor FFGFFS_SAFETYSWITCHOFF is returned. FFGFFS_SAFETYSWITCHON The safety switch is currently on; that is, the device can operate. If the device cannot report the state of the safety switch, neither FFGFFS_SAFETYSWITCHON nor FFGFFS_SAFETYSWITCHOFF is returned. FFGFFS_STOPPED No effects are playing, and the device is not paused. FFGFFS_USERFFSWITCHOFF The user force feedback switch is currently off; that is, the device cannot operate. If the device cannot report the state of the user force feedback switch, neither FFGFFS_USERFFSWITCHON nor FFGFFS_USERFFSWITCHOFF is returned. FFGFFS_USERFFSWITCHON The user force feedback switch is currently on; that is, the device can operate. If the device cannot report the state of the user force feedback switch, neither FFGFFS_USERFFSWITCHON nor FFGFFS_USERFFSWITCHOFF is returned. Future versions can define additional flags. Applications should ignore any flags that are not currently defined.

## Return Value

Return Value If the method succeeds, the return value is FF_OK. If the method fails, the return value can be one of the following error values:

## Discussion

Discussion FFERR_INVALIDPARAM

## See Also

### Miscellaneous

- [FFCreateDevice(_:_:)](forcefeedback/ffcreatedevice(_:_:).md)
- [FFDeviceCreateEffect(_:_:_:_:)](forcefeedback/ffdevicecreateeffect(_:_:_:_:).md)
- [FFDeviceEscape(_:_:)](forcefeedback/ffdeviceescape(_:_:).md)
- [FFDeviceGetForceFeedbackCapabilities(_:_:)](forcefeedback/ffdevicegetforcefeedbackcapabilities(_:_:).md)
- [FFDeviceGetForceFeedbackProperty(_:_:_:_:)](forcefeedback/ffdevicegetforcefeedbackproperty(_:_:_:_:).md)
- [FFDeviceReleaseEffect(_:_:)](forcefeedback/ffdevicereleaseeffect(_:_:).md)
- [FFDeviceSendForceFeedbackCommand(_:_:)](forcefeedback/ffdevicesendforcefeedbackcommand(_:_:).md)
- [FFDeviceSetCooperativeLevel(_:_:_:)](forcefeedback/ffdevicesetcooperativelevel(_:_:_:).md)
- [FFDeviceSetForceFeedbackProperty(_:_:_:)](forcefeedback/ffdevicesetforcefeedbackproperty(_:_:_:).md)
- [FFEffectDownload(_:)](forcefeedback/ffeffectdownload(_:).md)
- [FFEffectEscape(_:_:)](forcefeedback/ffeffectescape(_:_:).md)
- [FFEffectGetEffectStatus(_:_:)](forcefeedback/ffeffectgeteffectstatus(_:_:).md)
- [FFEffectGetParameters(_:_:_:)](forcefeedback/ffeffectgetparameters(_:_:_:).md)
- [FFEffectSetParameters(_:_:_:)](forcefeedback/ffeffectsetparameters(_:_:_:).md)
- [FFEffectStart(_:_:_:)](forcefeedback/ffeffectstart(_:_:_:).md)
