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

# FFDeviceEscape(_:_:)

Sends a hardware-specific command to the device.

## Declaration

```swift
func FFDeviceEscape(_ deviceReference: FFDeviceObjectReference!, _ pFFEffectEscape: UnsafeMutablePointer<FFEFFESCAPE>!) -> HRESULT
```

## Parameters

- `deviceReference`: An opaque reference handle to a device object. This is obtained from a previous call to FFCreateDevice.
- `pFFEffectEscape`: Pointer to FFEFFESCAPE structure that describes the command to be sent. On success, the cbOutBuffer member contains the number of bytes of the output buffer used.

## 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 FFERR_UNSUPPORTED Discussion Because each driver implements different escapes, it is the application’s responsibility to ensure that it is sending the escape to the correct driver.

## See Also

### Miscellaneous

- [FFCreateDevice(_:_:)](forcefeedback/ffcreatedevice(_:_:).md)
- [FFDeviceCreateEffect(_:_:_:_:)](forcefeedback/ffdevicecreateeffect(_:_:_:_:).md)
- [FFDeviceGetForceFeedbackCapabilities(_:_:)](forcefeedback/ffdevicegetforcefeedbackcapabilities(_:_:).md)
- [FFDeviceGetForceFeedbackProperty(_:_:_:_:)](forcefeedback/ffdevicegetforcefeedbackproperty(_:_:_:_:).md)
- [FFDeviceGetForceFeedbackState(_:_:)](forcefeedback/ffdevicegetforcefeedbackstate(_:_:).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)
