3#if defined(DUALSENSE_CONTROLLER_BUILD_DLL_EXPORT)
4#define DS5W_API __declspec(dllexport)
5#elif defined(DUALSENSE_CONTROLLER_DLL)
6#define DS5W_API __declspec(dllimport)
11#define DS5W_SUCCESS(expr) ((expr) == _DS5W_ReturnValue::OK)
12#define DS5W_FAILED(expr) ((expr) != _DS5W_ReturnValue::OK)
14#define DS5W_OK _DS5W_ReturnValue::OK
15#define DS5W_E_UNKNOWN _DS5W_ReturnValue::E_UNKNOWN
16#define DS5W_E_INSUFFICIENT_BUFFER _DS5W_ReturnValue::E_INSUFFICIENT_BUFFER
17#define DS5W_E_EXTERNAL_WINAPI _DS5W_ReturnValue::E_EXTERNAL_WINAPI
18#define DS5W_E_STACK_OVERFLOW _DS5W_ReturnValue::E_STACK_OVERFLOW
19#define DS5W_E_INVALID_ARGS _DS5W_ReturnValue::E_INVALID_ARGS
20#define DS5W_E_CURRENTLY_NOT_SUPPORTED _DS5W_ReturnValue::E_CURRENTLY_NOT_SUPPORTED
21#define DS5W_E_DEVICE_REMOVED _DS5W_ReturnValue::E_DEVICE_REMOVED
22#define DS5W_E_BT_COM _DS5W_ReturnValue::E_BT_COM
27typedef enum class _DS5W_ReturnValue :
unsigned int {
41 E_INSUFFICIENT_BUFFER = 2,
46 E_EXTERNAL_WINAPI = 3,
61 E_CURRENTLY_NOT_SUPPORTED = 6,
73} DS5W_ReturnValue, DS5W_RV;