/*** Autogenerated by WIDL 10.17 from /var/tmp/portage/app-emulation/wine-vanilla-10.17/work/wine-10.17/include/gameinput.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include #include #endif #ifndef COM_NO_WINDOWS_H #include #include #endif #ifndef __gameinput_h__ #define __gameinput_h__ /* Forward declarations */ #ifndef __v0_IGameInput_FWD_DEFINED__ #define __v0_IGameInput_FWD_DEFINED__ typedef interface v0_IGameInput v0_IGameInput; #ifdef __cplusplus interface v0_IGameInput; #endif /* __cplusplus */ #endif #ifndef __v1_IGameInput_FWD_DEFINED__ #define __v1_IGameInput_FWD_DEFINED__ typedef interface v1_IGameInput v1_IGameInput; #ifdef __cplusplus interface v1_IGameInput; #endif /* __cplusplus */ #endif #ifndef __v2_IGameInput_FWD_DEFINED__ #define __v2_IGameInput_FWD_DEFINED__ typedef interface v2_IGameInput v2_IGameInput; #ifdef __cplusplus interface v2_IGameInput; #endif /* __cplusplus */ #endif #ifndef __v0_IGameInputReading_FWD_DEFINED__ #define __v0_IGameInputReading_FWD_DEFINED__ typedef interface v0_IGameInputReading v0_IGameInputReading; #ifdef __cplusplus interface v0_IGameInputReading; #endif /* __cplusplus */ #endif #ifndef __v1_IGameInputReading_FWD_DEFINED__ #define __v1_IGameInputReading_FWD_DEFINED__ typedef interface v1_IGameInputReading v1_IGameInputReading; #ifdef __cplusplus interface v1_IGameInputReading; #endif /* __cplusplus */ #endif #ifndef __v2_IGameInputReading_FWD_DEFINED__ #define __v2_IGameInputReading_FWD_DEFINED__ typedef interface v2_IGameInputReading v2_IGameInputReading; #ifdef __cplusplus interface v2_IGameInputReading; #endif /* __cplusplus */ #endif #ifndef __v0_IGameInputDevice_FWD_DEFINED__ #define __v0_IGameInputDevice_FWD_DEFINED__ typedef interface v0_IGameInputDevice v0_IGameInputDevice; #ifdef __cplusplus interface v0_IGameInputDevice; #endif /* __cplusplus */ #endif #ifndef __v1_IGameInputDevice_FWD_DEFINED__ #define __v1_IGameInputDevice_FWD_DEFINED__ typedef interface v1_IGameInputDevice v1_IGameInputDevice; #ifdef __cplusplus interface v1_IGameInputDevice; #endif /* __cplusplus */ #endif #ifndef __v2_IGameInputDevice_FWD_DEFINED__ #define __v2_IGameInputDevice_FWD_DEFINED__ typedef interface v2_IGameInputDevice v2_IGameInputDevice; #ifdef __cplusplus interface v2_IGameInputDevice; #endif /* __cplusplus */ #endif #ifndef __IGameInputDispatcher_FWD_DEFINED__ #define __IGameInputDispatcher_FWD_DEFINED__ typedef interface IGameInputDispatcher IGameInputDispatcher; #ifdef __cplusplus interface IGameInputDispatcher; #endif /* __cplusplus */ #endif #ifndef __v0_IGameInputForceFeedbackEffect_FWD_DEFINED__ #define __v0_IGameInputForceFeedbackEffect_FWD_DEFINED__ typedef interface v0_IGameInputForceFeedbackEffect v0_IGameInputForceFeedbackEffect; #ifdef __cplusplus interface v0_IGameInputForceFeedbackEffect; #endif /* __cplusplus */ #endif #ifndef __v2_IGameInputForceFeedbackEffect_FWD_DEFINED__ #define __v2_IGameInputForceFeedbackEffect_FWD_DEFINED__ typedef interface v2_IGameInputForceFeedbackEffect v2_IGameInputForceFeedbackEffect; #ifdef __cplusplus interface v2_IGameInputForceFeedbackEffect; #endif /* __cplusplus */ #endif #ifndef __IGameInputRawDeviceReport_FWD_DEFINED__ #define __IGameInputRawDeviceReport_FWD_DEFINED__ typedef interface IGameInputRawDeviceReport IGameInputRawDeviceReport; #ifdef __cplusplus interface IGameInputRawDeviceReport; #endif /* __cplusplus */ #endif /* Headers for imported files */ #include #ifdef __cplusplus extern "C" { #endif #include #include #define GAMEINPUT_API_VERSION 2 #ifdef __cplusplus namespace GameInput { namespace v2 { #endif /* __cplusplus */ #ifdef __WINESRC__ # define GAMEINPUT_NAME(func) \ func##_must_be_suffixed_with_version_in_this_context \ func##_must_be_suffixed_with_version_in_this_context #else /* __WINESRC__ */ # define MAKE_GAMEINPUT_NAME_(func,ver) v ## ver ## _ ## func # define MAKE_GAMEINPUT_NAME(func,ver) MAKE_GAMEINPUT_NAME_(func,ver) # define GAMEINPUT_NAME(func) MAKE_GAMEINPUT_NAME(func,GAMEINPUT_API_VERSION) #endif /* __WINESRC__ */ #if 0 typedef UINT64 uint64_t; typedef INT64 int64_t; typedef unsigned __int3264 size_t; typedef unsigned int uint32_t; typedef int int32_t; typedef unsigned short uint16_t; typedef unsigned char uint8_t; typedef boolean bool; typedef struct APP_LOCAL_DEVICE_ID { BYTE value[32]; } APP_LOCAL_DEVICE_ID; #endif typedef enum GameInputArcadeStickButtons GameInputArcadeStickButtons; typedef enum GameInputBatteryStatus GameInputBatteryStatus; typedef enum GameInputDeviceCapabilities GameInputDeviceCapabilities; typedef enum GameInputDeviceFamily GameInputDeviceFamily; typedef enum GameInputDeviceStatus GameInputDeviceStatus; typedef enum GameInputEnumerationKind GameInputEnumerationKind; typedef enum GameInputFeedbackAxes GameInputFeedbackAxes; typedef enum GameInputFeedbackEffectState GameInputFeedbackEffectState; typedef enum GameInputFlightStickButtons GameInputFlightStickButtons; typedef enum GameInputFocusPolicy GameInputFocusPolicy; typedef enum GameInputForceFeedbackEffectKind GameInputForceFeedbackEffectKind; typedef enum GameInputGamepadButtons GameInputGamepadButtons; typedef enum GameInputKeyboardKind GameInputKeyboardKind; typedef enum GameInputKind GameInputKind; typedef enum GameInputLabel GameInputLabel; typedef enum GameInputLocation GameInputLocation; typedef enum GameInputMotionAccuracy GameInputMotionAccuracy; typedef enum GameInputMouseButtons GameInputMouseButtons; typedef enum GameInputMousePositions GameInputMousePositions; typedef enum GameInputRacingWheelButtons GameInputRacingWheelButtons; typedef enum GameInputRawDeviceItemCollectionKind GameInputRawDeviceItemCollectionKind; typedef enum GameInputRawDevicePhysicalUnitKind GameInputRawDevicePhysicalUnitKind; typedef enum GameInputRawDeviceReportItemFlags GameInputRawDeviceReportItemFlags; typedef enum GameInputRawDeviceReportKind GameInputRawDeviceReportKind; typedef enum GameInputRumbleMotors GameInputRumbleMotors; typedef enum GameInputSensorAccuracy GameInputSensorAccuracy; typedef enum GameInputSensorsKind GameInputSensorsKind; typedef enum GameInputSwitchKind GameInputSwitchKind; typedef enum GameInputSwitchPosition GameInputSwitchPosition; typedef enum GameInputSystemButtons GameInputSystemButtons; typedef enum GameInputTouchShape GameInputTouchShape; typedef enum GameInputUiNavigationButtons GameInputUiNavigationButtons; typedef struct GameInputArcadeStickInfo GameInputArcadeStickInfo; typedef struct GameInputArcadeStickState GameInputArcadeStickState; typedef struct GameInputBatteryState GameInputBatteryState; typedef struct v0_GameInputControllerAxisInfo v0_GameInputControllerAxisInfo; typedef struct v1_GameInputControllerAxisInfo v1_GameInputControllerAxisInfo; typedef struct v1_GameInputControllerAxisInfo v2_GameInputControllerAxisInfo; #define GameInputControllerAxisInfo GAMEINPUT_NAME(GameInputControllerAxisInfo) typedef struct v0_GameInputControllerButtonInfo v0_GameInputControllerButtonInfo; typedef struct v1_GameInputControllerButtonInfo v1_GameInputControllerButtonInfo; typedef struct v1_GameInputControllerButtonInfo v2_GameInputControllerButtonInfo; #define GameInputControllerButtonInfo GAMEINPUT_NAME(GameInputControllerButtonInfo) typedef struct v0_GameInputControllerSwitchInfo v0_GameInputControllerSwitchInfo; typedef struct v1_GameInputControllerSwitchInfo v1_GameInputControllerSwitchInfo; typedef struct v1_GameInputControllerSwitchInfo v2_GameInputControllerSwitchInfo; #define GameInputControllerSwitchInfo GAMEINPUT_NAME(GameInputControllerSwitchInfo) typedef struct v0_GameInputDeviceInfo v0_GameInputDeviceInfo; typedef struct v1_GameInputDeviceInfo v1_GameInputDeviceInfo; typedef struct v2_GameInputDeviceInfo v2_GameInputDeviceInfo; #define GameInputDeviceInfo GAMEINPUT_NAME(GameInputDeviceInfo) typedef struct GameInputFlightStickInfo GameInputFlightStickInfo; typedef struct GameInputFlightStickState GameInputFlightStickState; typedef struct GameInputForceFeedbackConditionParams GameInputForceFeedbackConditionParams; typedef struct GameInputForceFeedbackConstantParams GameInputForceFeedbackConstantParams; typedef struct GameInputForceFeedbackEnvelope GameInputForceFeedbackEnvelope; typedef struct GameInputForceFeedbackMagnitude GameInputForceFeedbackMagnitude; typedef struct v0_GameInputForceFeedbackMotorInfo v0_GameInputForceFeedbackMotorInfo; typedef struct v1_GameInputForceFeedbackMotorInfo v1_GameInputForceFeedbackMotorInfo; typedef struct v1_GameInputForceFeedbackMotorInfo v2_GameInputForceFeedbackMotorInfo; #define GameInputForceFeedbackMotorInfo GAMEINPUT_NAME(GameInputForceFeedbackMotorInfo) typedef struct GameInputForceFeedbackParams GameInputForceFeedbackParams; typedef struct GameInputForceFeedbackPeriodicParams GameInputForceFeedbackPeriodicParams; typedef struct GameInputForceFeedbackRampParams GameInputForceFeedbackRampParams; typedef struct GameInputGamepadInfo GameInputGamepadInfo; typedef struct GameInputGamepadState GameInputGamepadState; typedef struct GameInputHapticFeedbackMotorInfo GameInputHapticFeedbackMotorInfo; typedef struct GameInputHapticFeedbackParams GameInputHapticFeedbackParams; typedef struct GameInputHapticInfo GameInputHapticInfo; typedef struct GameInputHapticWaveformInfo GameInputHapticWaveformInfo; typedef struct v0_GameInputKeyboardInfo v0_GameInputKeyboardInfo; typedef struct v1_GameInputKeyboardInfo v1_GameInputKeyboardInfo; typedef struct v1_GameInputKeyboardInfo v2_GameInputKeyboardInfo; #define GameInputKeyboardInfo GAMEINPUT_NAME(GameInputKeyboardInfo) typedef struct GameInputKeyState GameInputKeyState; typedef struct GameInputMotionInfo GameInputMotionInfo; typedef struct GameInputMotionState GameInputMotionState; typedef struct v0_GameInputMouseInfo v0_GameInputMouseInfo; typedef struct v1_GameInputMouseInfo v1_GameInputMouseInfo; typedef struct v1_GameInputMouseInfo v2_GameInputMouseInfo; #define GameInputMouseInfo GAMEINPUT_NAME(GameInputMouseInfo) typedef struct v0_GameInputMouseState v0_GameInputMouseState; typedef struct v1_GameInputMouseState v1_GameInputMouseState; typedef struct v1_GameInputMouseState v2_GameInputMouseState; #define GameInputMouseState GAMEINPUT_NAME(GameInputMouseState) typedef struct GameInputRacingWheelInfo GameInputRacingWheelInfo; typedef struct GameInputRacingWheelState GameInputRacingWheelState; typedef struct GameInputRawDeviceItemCollectionInfo GameInputRawDeviceItemCollectionInfo; typedef struct GameInputRawDeviceReportInfo GameInputRawDeviceReportInfo; typedef struct GameInputRawDeviceReportItemInfo GameInputRawDeviceReportItemInfo; typedef struct GameInputRumbleParams GameInputRumbleParams; typedef struct GameInputSensorsInfo GameInputSensorsInfo; typedef struct GameInputSensorsState GameInputSensorsState; typedef struct GameInputString GameInputString; typedef struct GameInputTouchSensorInfo GameInputTouchSensorInfo; typedef struct GameInputTouchState GameInputTouchState; typedef struct GameInputUiNavigationInfo GameInputUiNavigationInfo; typedef struct GameInputUiNavigationState GameInputUiNavigationState; typedef struct GameInputUsage GameInputUsage; typedef struct GameInputVersion GameInputVersion; #ifndef __v0_IGameInput_FWD_DEFINED__ #define __v0_IGameInput_FWD_DEFINED__ typedef interface v0_IGameInput v0_IGameInput; #ifdef __cplusplus interface v0_IGameInput; #endif /* __cplusplus */ #endif #ifndef __v1_IGameInput_FWD_DEFINED__ #define __v1_IGameInput_FWD_DEFINED__ typedef interface v1_IGameInput v1_IGameInput; #ifdef __cplusplus interface v1_IGameInput; #endif /* __cplusplus */ #endif #ifndef __v2_IGameInput_FWD_DEFINED__ #define __v2_IGameInput_FWD_DEFINED__ typedef interface v2_IGameInput v2_IGameInput; #ifdef __cplusplus interface v2_IGameInput; #endif /* __cplusplus */ #endif #define IGameInput GAMEINPUT_NAME(IGameInput) #ifndef __v0_IGameInputReading_FWD_DEFINED__ #define __v0_IGameInputReading_FWD_DEFINED__ typedef interface v0_IGameInputReading v0_IGameInputReading; #ifdef __cplusplus interface v0_IGameInputReading; #endif /* __cplusplus */ #endif #ifndef __v1_IGameInputReading_FWD_DEFINED__ #define __v1_IGameInputReading_FWD_DEFINED__ typedef interface v1_IGameInputReading v1_IGameInputReading; #ifdef __cplusplus interface v1_IGameInputReading; #endif /* __cplusplus */ #endif #ifndef __v2_IGameInputReading_FWD_DEFINED__ #define __v2_IGameInputReading_FWD_DEFINED__ typedef interface v2_IGameInputReading v2_IGameInputReading; #ifdef __cplusplus interface v2_IGameInputReading; #endif /* __cplusplus */ #endif #define IGameInputReading GAMEINPUT_NAME(IGameInputReading) #ifndef __v0_IGameInputDevice_FWD_DEFINED__ #define __v0_IGameInputDevice_FWD_DEFINED__ typedef interface v0_IGameInputDevice v0_IGameInputDevice; #ifdef __cplusplus interface v0_IGameInputDevice; #endif /* __cplusplus */ #endif #ifndef __v1_IGameInputDevice_FWD_DEFINED__ #define __v1_IGameInputDevice_FWD_DEFINED__ typedef interface v1_IGameInputDevice v1_IGameInputDevice; #ifdef __cplusplus interface v1_IGameInputDevice; #endif /* __cplusplus */ #endif #ifndef __v2_IGameInputDevice_FWD_DEFINED__ #define __v2_IGameInputDevice_FWD_DEFINED__ typedef interface v2_IGameInputDevice v2_IGameInputDevice; #ifdef __cplusplus interface v2_IGameInputDevice; #endif /* __cplusplus */ #endif #define IGameInputDevice GAMEINPUT_NAME(IGameInputDevice) #ifndef __IGameInputDispatcher_FWD_DEFINED__ #define __IGameInputDispatcher_FWD_DEFINED__ typedef interface IGameInputDispatcher IGameInputDispatcher; #ifdef __cplusplus interface IGameInputDispatcher; #endif /* __cplusplus */ #endif #ifndef __v0_IGameInputForceFeedbackEffect_FWD_DEFINED__ #define __v0_IGameInputForceFeedbackEffect_FWD_DEFINED__ typedef interface v0_IGameInputForceFeedbackEffect v0_IGameInputForceFeedbackEffect; #ifdef __cplusplus interface v0_IGameInputForceFeedbackEffect; #endif /* __cplusplus */ #endif #ifndef __v2_IGameInputForceFeedbackEffect_FWD_DEFINED__ #define __v2_IGameInputForceFeedbackEffect_FWD_DEFINED__ typedef interface v2_IGameInputForceFeedbackEffect v2_IGameInputForceFeedbackEffect; #ifdef __cplusplus interface v2_IGameInputForceFeedbackEffect; #endif /* __cplusplus */ #endif #define IGameInputForceFeedbackEffect GAMEINPUT_NAME(IGameInputForceFeedbackEffect) #ifndef __IGameInputRawDeviceReport_FWD_DEFINED__ #define __IGameInputRawDeviceReport_FWD_DEFINED__ typedef interface IGameInputRawDeviceReport IGameInputRawDeviceReport; #ifdef __cplusplus interface IGameInputRawDeviceReport; #endif /* __cplusplus */ #endif typedef uint64_t GameInputCallbackToken; #define GAMEINPUT_CURRENT_CALLBACK_TOKEN_VALUE (~(uint64_t)0) #define GAMEINPUT_INVALID_CALLBACK_TOKEN_VALUE (0) DEFINE_GUID(GAMEINPUT_HAPTIC_LOCATION_NONE, 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); DEFINE_GUID(GAMEINPUT_HAPTIC_LOCATION_GRIP_LEFT, 0x08c707c2, 0x66bb, 0x406c, 0xa8, 0x4a, 0xdf, 0xe0, 0x85, 0x12, 0x0a, 0x92); DEFINE_GUID(GAMEINPUT_HAPTIC_LOCATION_GRIP_RIGHT, 0x155a0b77, 0x8bb2, 0x40db, 0x86, 0x90, 0xb6, 0xd4, 0x11, 0x26, 0xdf, 0xc1); DEFINE_GUID(GAMEINPUT_HAPTIC_LOCATION_TRIGGER_LEFT, 0x8de4d896, 0x5559, 0x4081, 0x86, 0xe5, 0x17, 0x24, 0xcc, 0x07, 0xc6, 0xbc); DEFINE_GUID(GAMEINPUT_HAPTIC_LOCATION_TRIGGER_RIGHT, 0xff0cb557, 0x3af5, 0x406b, 0x8b, 0x0f, 0x55, 0x5a, 0x2d, 0x92, 0xa2, 0x20); #define GAMEINPUT_HAPTIC_MAX_LOCATIONS (8) #define GAMEINPUT_HAPTIC_MAX_AUDIO_ENDPOINT_ID_SIZE (256) typedef void (__stdcall *v0_GameInputReadingCallback)(GameInputCallbackToken token,void *context,v0_IGameInputReading *reading,bool has_overrun); typedef void (__stdcall *v1_GameInputReadingCallback)(GameInputCallbackToken token,void *context,v1_IGameInputReading *reading); typedef void (__stdcall *v2_GameInputReadingCallback)(GameInputCallbackToken token,void *context,v2_IGameInputReading *reading); #define GameInputReadingCallback GAMEINPUT_NAME(GameInputReadingCallback) typedef void (__stdcall *v0_GameInputDeviceCallback)(GameInputCallbackToken token,void *context,v0_IGameInputDevice *device,uint64_t timestamp,GameInputDeviceStatus current_status,GameInputDeviceStatus previous_status); typedef void (__stdcall *v1_GameInputDeviceCallback)(GameInputCallbackToken token,void *context,v1_IGameInputDevice *device,uint64_t timestamp,GameInputDeviceStatus current_status,GameInputDeviceStatus previous_status); typedef void (__stdcall *v2_GameInputDeviceCallback)(GameInputCallbackToken token,void *context,v2_IGameInputDevice *device,uint64_t timestamp,GameInputDeviceStatus current_status,GameInputDeviceStatus previous_status); #define GameInputDeviceCallback GAMEINPUT_NAME(GameInputDeviceCallback) typedef void (__stdcall *v0_GameInputSystemButtonCallback)(GameInputCallbackToken token,void *context,v0_IGameInputDevice *device,uint64_t timestamp,GameInputSystemButtons current_buttons,GameInputSystemButtons previous_buttons); typedef void (__stdcall *v1_GameInputSystemButtonCallback)(GameInputCallbackToken token,void *context,v1_IGameInputDevice *device,uint64_t timestamp,GameInputSystemButtons current_buttons,GameInputSystemButtons previous_buttons); typedef void (__stdcall *v2_GameInputSystemButtonCallback)(GameInputCallbackToken token,void *context,v2_IGameInputDevice *device,uint64_t timestamp,GameInputSystemButtons current_buttons,GameInputSystemButtons previous_buttons); #define GameInputSystemButtonCallback GAMEINPUT_NAME(GameInputSystemButtonCallback) typedef void (__stdcall *v0_GameInputKeyboardLayoutCallback)(GameInputCallbackToken token,void *context,v0_IGameInputDevice *device,uint64_t timestamp,uint32_t current_layout,uint32_t previous_layout); typedef void (__stdcall *v1_GameInputKeyboardLayoutCallback)(GameInputCallbackToken token,void *context,v1_IGameInputDevice *device,uint64_t timestamp,uint32_t current_layout,uint32_t previous_layout); typedef void (__stdcall *v2_GameInputKeyboardLayoutCallback)(GameInputCallbackToken token,void *context,v2_IGameInputDevice *device,uint64_t timestamp,uint32_t current_layout,uint32_t previous_layout); #define GameInputKeyboardLayoutCallback GAMEINPUT_NAME(GameInputKeyboardLayoutCallback) enum GameInputKind { GameInputKindUnknown = 0x0, GameInputKindRawDeviceReport = 0x1, GameInputKindControllerAxis = 0x2, GameInputKindControllerButton = 0x4, GameInputKindControllerSwitch = 0x8, GameInputKindController = 0xe, GameInputKindKeyboard = 0x10, GameInputKindMouse = 0x20, GameInputKindSensors = 0x40, GameInputKindTouch = 0x100, GameInputKindMotion = 0x1000, GameInputKindArcadeStick = 0x10000, GameInputKindFlightStick = 0x20000, GameInputKindGamepad = 0x40000, GameInputKindRacingWheel = 0x80000, GameInputKindUiNavigation = 0x1000000 }; enum GameInputEnumerationKind { GameInputNoEnumeration = 0, GameInputAsyncEnumeration = 1, GameInputBlockingEnumeration = 2 }; enum GameInputFocusPolicy { GameInputDefaultFocusPolicy = 0x0, GameInputDisableBackgroundInput = 0x1, GameInputExclusiveForegroundInput = 0x2, GameInputDisableBackgroundGuideButton = 0x4, GameInputExclusiveForegroundGuideButton = 0x8, GameInputDisableBackgroundShareButton = 0x10, GameInputExclusiveForegroundShareButton = 0x20, GameInputEnableBackgroundInput = 0x40, GameInputEnableBackgroundGuideButton = 0x80, GameInputEnableBackgroundShareButton = 0x100 }; enum GameInputSwitchKind { GameInputUnknownSwitchKind = -1, GameInput2WaySwitch = 0, GameInput4WaySwitch = 1, GameInput8WaySwitch = 2 }; enum GameInputSwitchPosition { GameInputSwitchCenter = 0, GameInputSwitchUp = 1, GameInputSwitchUpRight = 2, GameInputSwitchRight = 3, GameInputSwitchDownRight = 4, GameInputSwitchDown = 5, GameInputSwitchDownLeft = 6, GameInputSwitchLeft = 7, GameInputSwitchUpLeft = 8 }; enum GameInputKeyboardKind { GameInputUnknownKeyboard = -1, GameInputAnsiKeyboard = 0, GameInputIsoKeyboard = 1, GameInputKsKeyboard = 2, GameInputAbntKeyboard = 3, GameInputJisKeyboard = 4 }; enum GameInputMouseButtons { GameInputMouseNone = 0x0, GameInputMouseLeftButton = 0x1, GameInputMouseRightButton = 0x2, GameInputMouseMiddleButton = 0x4, GameInputMouseButton4 = 0x8, GameInputMouseButton5 = 0x10, GameInputMouseWheelTiltLeft = 0x20, GameInputMouseWheelTiltRight = 0x40 }; enum GameInputMousePositions { GameInputMouseNoPosition = 0x0, GameInputMouseAbsolutePosition = 0x1, GameInputMouseRelativePosition = 0x2 }; enum GameInputTouchShape { GameInputTouchShapeUnknown = -1, GameInputTouchShapePoint = 0, GameInputTouchShape1DLinear = 1, GameInputTouchShape1DRadial = 2, GameInputTouchShape1DIrregular = 3, GameInputTouchShape2DRectangular = 4, GameInputTouchShape2DElliptical = 5, GameInputTouchShape2DIrregular = 6 }; enum GameInputMotionAccuracy { GameInputMotionAccuracyUnknown = -1, GameInputMotionUnavailable = 0, GameInputMotionUnreliable = 1, GameInputMotionApproximate = 2, GameInputMotionAccurate = 3 }; enum GameInputSensorsKind { GameInputSensorsNone = 0x0, GameInputSensorsAccelerometer = 0x1, GameInputSensorsGyrometer = 0x2, GameInputSensorsCompass = 0x4, GameInputSensorsOrientation = 0x8 }; enum GameInputSensorAccuracy { GameInputSensorAccuracyUnknown = 0x0, GameInputSensorAccuracyUnreliable = 0x1, GameInputSensorAccuracyApproximate = 0x2, GameInputSensorAccuracyHigh = 0x3 }; enum GameInputArcadeStickButtons { GameInputArcadeStickNone = 0x0, GameInputArcadeStickMenu = 0x1, GameInputArcadeStickView = 0x2, GameInputArcadeStickUp = 0x4, GameInputArcadeStickDown = 0x8, GameInputArcadeStickLeft = 0x10, GameInputArcadeStickRight = 0x20, GameInputArcadeStickAction1 = 0x40, GameInputArcadeStickAction2 = 0x80, GameInputArcadeStickAction3 = 0x100, GameInputArcadeStickAction4 = 0x200, GameInputArcadeStickAction5 = 0x400, GameInputArcadeStickAction6 = 0x800, GameInputArcadeStickSpecial1 = 0x1000, GameInputArcadeStickSpecial2 = 0x2000 }; enum GameInputFlightStickButtons { GameInputFlightStickNone = 0x0, GameInputFlightStickMenu = 0x1, GameInputFlightStickView = 0x2, GameInputFlightStickFirePrimary = 0x4, GameInputFlightStickFireSecondary = 0x8 }; enum GameInputGamepadButtons { GameInputGamepadNone = 0x0, GameInputGamepadMenu = 0x1, GameInputGamepadView = 0x2, GameInputGamepadA = 0x4, GameInputGamepadB = 0x8, GameInputGamepadX = 0x10, GameInputGamepadY = 0x20, GameInputGamepadDPadUp = 0x40, GameInputGamepadDPadDown = 0x80, GameInputGamepadDPadLeft = 0x100, GameInputGamepadDPadRight = 0x200, GameInputGamepadLeftShoulder = 0x400, GameInputGamepadRightShoulder = 0x800, GameInputGamepadLeftThumbstick = 0x1000, GameInputGamepadRightThumbstick = 0x2000 }; enum GameInputRacingWheelButtons { GameInputRacingWheelNone = 0x0, GameInputRacingWheelMenu = 0x1, GameInputRacingWheelView = 0x2, GameInputRacingWheelPreviousGear = 0x4, GameInputRacingWheelNextGear = 0x8, GameInputRacingWheelDpadUp = 0x10, GameInputRacingWheelDpadDown = 0x20, GameInputRacingWheelDpadLeft = 0x40, GameInputRacingWheelDpadRight = 0x80 }; enum GameInputUiNavigationButtons { GameInputUiNavigationNone = 0x0, GameInputUiNavigationMenu = 0x1, GameInputUiNavigationView = 0x2, GameInputUiNavigationAccept = 0x4, GameInputUiNavigationCancel = 0x8, GameInputUiNavigationUp = 0x10, GameInputUiNavigationDown = 0x20, GameInputUiNavigationLeft = 0x40, GameInputUiNavigationRight = 0x80, GameInputUiNavigationContext1 = 0x100, GameInputUiNavigationContext2 = 0x200, GameInputUiNavigationContext3 = 0x400, GameInputUiNavigationContext4 = 0x800, GameInputUiNavigationPageUp = 0x1000, GameInputUiNavigationPageDown = 0x2000, GameInputUiNavigationPageLeft = 0x4000, GameInputUiNavigationPageRight = 0x8000, GameInputUiNavigationScrollUp = 0x10000, GameInputUiNavigationScrollDown = 0x20000, GameInputUiNavigationScrollLeft = 0x40000, GameInputUiNavigationScrollRight = 0x80000 }; enum GameInputSystemButtons { GameInputSystemButtonNone = 0x0, GameInputSystemButtonGuide = 0x1, GameInputSystemButtonShare = 0x2 }; enum GameInputDeviceStatus { GameInputDeviceNoStatus = 0x0, GameInputDeviceConnected = 0x1, GameInputDeviceInputEnabled = 0x2, GameInputDeviceOutputEnabled = 0x4, GameInputDeviceRawIoEnabled = 0x8, GameInputDeviceAudioCapture = 0x10, GameInputDeviceAudioRender = 0x20, GameInputDeviceSynchronized = 0x40, GameInputDeviceWireless = 0x80, GameInputDeviceUserIdle = 0x100000, GameInputDeviceHapticInfoReady = 0x200000, v0_GameInputDeviceAnyStatus = 0xffffff, v1_GameInputDeviceAnyStatus = 0xffffffff, v2_GameInputDeviceAnyStatus = 0xffffffff }; #define GameInputDeviceAnyStatus GAMEINPUT_NAME(GameInputDeviceAnyStatus) enum GameInputBatteryStatus { GameInputBatteryUnknown = -1, GameInputBatteryNotPresent = 0, GameInputBatteryDischarging = 1, GameInputBatteryIdle = 2, GameInputBatteryCharging = 3 }; enum GameInputDeviceFamily { GameInputFamilyVirtual = -1, GameInputFamilyAggregate = 0, GameInputFamilyXboxOne = 1, GameInputFamilyXbox360 = 2, GameInputFamilyHid = 3, GameInputFamilyI8042 = 4 }; enum GameInputDeviceCapabilities { GameInputDeviceCapabilityNone = 0x0, GameInputDeviceCapabilityAudio = 0x1, GameInputDeviceCapabilityPluginModule = 0x2, GameInputDeviceCapabilityPowerOff = 0x4, GameInputDeviceCapabilitySynchronization = 0x8, GameInputDeviceCapabilityWireless = 0x10 }; enum GameInputRawDeviceReportKind { GameInputRawInputReport = 0, GameInputRawOutputReport = 1, GameInputRawFeatureReport = 2 }; enum GameInputRawDeviceReportItemFlags { GameInputDefaultItem = 0x0, GameInputConstantItem = 0x1, GameInputArrayItem = 0x2, GameInputRelativeItem = 0x4, GameInputWraparoundItem = 0x8, GameInputNonlinearItem = 0x10, GameInputStableItem = 0x20, GameInputNullableItem = 0x40, GameInputVolatileItem = 0x80, GameInputBufferedItem = 0x100 }; enum GameInputRawDeviceItemCollectionKind { GameInputUnknownItemCollection = -1, GameInputPhysicalItemCollection = 0, GameInputApplicationItemCollection = 1, GameInputLogicalItemCollection = 2, GameInputReportItemCollection = 3, GameInputNamedArrayItemCollection = 4, GameInputUsageSwitchItemCollection = 5, GameInputUsageModifierItemCollection = 6 }; enum GameInputRawDevicePhysicalUnitKind { GameInputPhysicalUnitUnknown = -1, GameInputPhysicalUnitNone = 0, GameInputPhysicalUnitTime = 1, GameInputPhysicalUnitFrequency = 2, GameInputPhysicalUnitLength = 3, GameInputPhysicalUnitVelocity = 4, GameInputPhysicalUnitAcceleration = 5, GameInputPhysicalUnitMass = 6, GameInputPhysicalUnitMomentum = 7, GameInputPhysicalUnitForce = 8, GameInputPhysicalUnitPressure = 9, GameInputPhysicalUnitAngle = 10, GameInputPhysicalUnitAngularVelocity = 11, GameInputPhysicalUnitAngularAcceleration = 12, GameInputPhysicalUnitAngularMass = 13, GameInputPhysicalUnitAngularMomentum = 14, GameInputPhysicalUnitAngularTorque = 15, GameInputPhysicalUnitElectricCurrent = 16, GameInputPhysicalUnitElectricCharge = 17, GameInputPhysicalUnitElectricPotential = 18, GameInputPhysicalUnitEnergy = 19, GameInputPhysicalUnitPower = 20, GameInputPhysicalUnitTemperature = 21, GameInputPhysicalUnitLuminousIntensity = 22, GameInputPhysicalUnitLuminousFlux = 23, GameInputPhysicalUnitIlluminance = 24 }; enum GameInputLabel { GameInputLabelUnknown = -1, GameInputLabelNone = 0, GameInputLabelXboxGuide = 1, GameInputLabelXboxBack = 2, GameInputLabelXboxStart = 3, GameInputLabelXboxMenu = 4, GameInputLabelXboxView = 5, GameInputLabelXboxA = 7, GameInputLabelXboxB = 8, GameInputLabelXboxX = 9, GameInputLabelXboxY = 10, GameInputLabelXboxDPadUp = 11, GameInputLabelXboxDPadDown = 12, GameInputLabelXboxDPadLeft = 13, GameInputLabelXboxDPadRight = 14, GameInputLabelXboxLeftShoulder = 15, GameInputLabelXboxLeftTrigger = 16, GameInputLabelXboxLeftStickButton = 17, GameInputLabelXboxRightShoulder = 18, GameInputLabelXboxRightTrigger = 19, GameInputLabelXboxRightStickButton = 20, GameInputLabelXboxPaddle1 = 21, GameInputLabelXboxPaddle2 = 22, GameInputLabelXboxPaddle3 = 23, GameInputLabelXboxPaddle4 = 24, GameInputLabelLetterA = 25, GameInputLabelLetterB = 26, GameInputLabelLetterC = 27, GameInputLabelLetterD = 28, GameInputLabelLetterE = 29, GameInputLabelLetterF = 30, GameInputLabelLetterG = 31, GameInputLabelLetterH = 32, GameInputLabelLetterI = 33, GameInputLabelLetterJ = 34, GameInputLabelLetterK = 35, GameInputLabelLetterL = 36, GameInputLabelLetterM = 37, GameInputLabelLetterN = 38, GameInputLabelLetterO = 39, GameInputLabelLetterP = 40, GameInputLabelLetterQ = 41, GameInputLabelLetterR = 42, GameInputLabelLetterS = 43, GameInputLabelLetterT = 44, GameInputLabelLetterU = 45, GameInputLabelLetterV = 46, GameInputLabelLetterW = 47, GameInputLabelLetterX = 48, GameInputLabelLetterY = 49, GameInputLabelLetterZ = 50, GameInputLabelNumber0 = 51, GameInputLabelNumber1 = 52, GameInputLabelNumber2 = 53, GameInputLabelNumber3 = 54, GameInputLabelNumber4 = 55, GameInputLabelNumber5 = 56, GameInputLabelNumber6 = 57, GameInputLabelNumber7 = 58, GameInputLabelNumber8 = 59, GameInputLabelNumber9 = 60, GameInputLabelArrowUp = 61, GameInputLabelArrowUpRight = 62, GameInputLabelArrowRight = 63, GameInputLabelArrowDownRight = 64, GameInputLabelArrowDown = 65, GameInputLabelArrowDownLLeft = 66, GameInputLabelArrowLeft = 67, GameInputLabelArrowUpLeft = 68, GameInputLabelArrowUpDown = 69, GameInputLabelArrowLeftRight = 70, GameInputLabelArrowUpDownLeftRight = 71, GameInputLabelArrowClockwise = 72, GameInputLabelArrowCounterClockwise = 73, GameInputLabelArrowReturn = 74, GameInputLabelIconBranding = 75, GameInputLabelIconHome = 76, GameInputLabelIconMenu = 77, GameInputLabelIconCross = 78, GameInputLabelIconCircle = 79, GameInputLabelIconSquare = 80, GameInputLabelIconTriangle = 81, GameInputLabelIconStar = 82, GameInputLabelIconDPadUp = 83, GameInputLabelIconDPadDown = 84, GameInputLabelIconDPadLeft = 85, GameInputLabelIconDPadRight = 86, GameInputLabelIconDialClockwise = 87, GameInputLabelIconDialCounterClockwise = 88, GameInputLabelIconSliderLeftRight = 89, GameInputLabelIconSliderUpDown = 90, GameInputLabelIconWheelUpDown = 91, GameInputLabelIconPlus = 92, GameInputLabelIconMinus = 93, GameInputLabelIconSuspension = 94, GameInputLabelHome = 95, GameInputLabelGuide = 96, GameInputLabelMode = 97, GameInputLabelSelect = 98, GameInputLabelMenu = 99, GameInputLabelView = 100, GameInputLabelBack = 101, GameInputLabelStart = 102, GameInputLabelOptions = 103, GameInputLabelShare = 104, GameInputLabelUp = 105, GameInputLabelDown = 106, GameInputLabelLeft = 107, GameInputLabelRight = 108, GameInputLabelLB = 109, GameInputLabelLT = 110, GameInputLabelLSB = 111, GameInputLabelL1 = 112, GameInputLabelL2 = 113, GameInputLabelL3 = 114, GameInputLabelRB = 115, GameInputLabelRT = 116, GameInputLabelRSB = 117, GameInputLabelR1 = 118, GameInputLabelR2 = 119, GameInputLabelR3 = 120, GameInputLabelP1 = 121, GameInputLabelP2 = 122, GameInputLabelP3 = 123, GameInputLabelP4 = 124 }; enum GameInputLocation { GameInputLocationUnknown = -1, GameInputLocationChassis = 0, GameInputLocationDisplay = 1, GameInputLocationAxis = 2, GameInputLocationButton = 3, GameInputLocationSwitch = 4, GameInputLocationKey = 5, GameInputLocationTouchPad = 6 }; enum GameInputFeedbackAxes { GameInputFeedbackAxisNone = 0x0, GameInputFeedbackAxisLinearX = 0x1, GameInputFeedbackAxisLinearY = 0x2, GameInputFeedbackAxisLinearZ = 0x4, GameInputFeedbackAxisAngularX = 0x8, GameInputFeedbackAxisAngularY = 0x10, GameInputFeedbackAxisAngularZ = 0x20, GameInputFeedbackAxisNormal = 0x40 }; enum GameInputFeedbackEffectState { GameInputFeedbackStopped = 0, GameInputFeedbackRunning = 1, GameInputFeedbackPaused = 2 }; enum GameInputForceFeedbackEffectKind { GameInputForceFeedbackConstant = 0, GameInputForceFeedbackRamp = 1, GameInputForceFeedbackSineWave = 2, GameInputForceFeedbackSquareWave = 3, GameInputForceFeedbackTriangleWave = 4, GameInputForceFeedbackSawtoothUpWave = 5, GameInputForceFeedbackSawtoothDownWave = 6, GameInputForceFeedbackSpring = 7, GameInputForceFeedbackFriction = 8, GameInputForceFeedbackDamper = 9, GameInputForceFeedbackInertia = 10 }; enum GameInputRumbleMotors { GameInputRumbleNone = 0x0, GameInputRumbleLowFrequency = 0x1, GameInputRumbleHighFrequency = 0x2, GameInputRumbleLeftTrigger = 0x4, GameInputRumbleRightTrigger = 0x8 }; struct GameInputKeyState { uint32_t scanCode; uint32_t codePoint; uint8_t virtualKey; bool isDeadKey; }; struct v0_GameInputMouseState { GameInputMouseButtons buttons; int64_t positionX; int64_t positionY; int64_t wheelX; int64_t wheelY; }; struct v1_GameInputMouseState { GameInputMouseButtons buttons; GameInputMousePositions positions; int64_t positionX; int64_t positionY; int64_t absolutePositionX; int64_t absolutePositionY; int64_t wheelX; int64_t wheelY; }; struct GameInputTouchState { uint64_t touchId; uint32_t sensorIndex; float positionX; float positionY; float pressure; float proximity; float contactRectTop; float contactRectLeft; float contactRectRight; float contactRectBottom; }; struct GameInputMotionState { float accelerationX; float accelerationY; float accelerationZ; float angularVelocityX; float angularVelocityY; float angularVelocityZ; float magneticFieldX; float magneticFieldY; float magneticFieldZ; float orientationW; float orientationX; float orientationY; float orientationZ; GameInputMotionAccuracy accelerometerAccuracy; GameInputMotionAccuracy gyroscopeAccuracy; GameInputMotionAccuracy magnetometerAccuracy; GameInputMotionAccuracy orientationAccuracy; }; struct GameInputVersion { uint16_t major; uint16_t minor; uint16_t build; uint16_t revision; }; struct GameInputSensorsState { float accelerationInGX; float accelerationInGY; float accelerationInGZ; float angularVelocityInRadPerSecX; float angularVelocityInRadPerSecY; float angularVelocityInRadPerSecZ; float headingInDegreesFromMagneticNorth; GameInputSensorAccuracy headingAccuracy; float orientationW; float orientationX; float orientationY; float orientationZ; }; struct GameInputArcadeStickState { GameInputArcadeStickButtons buttons; }; struct GameInputFlightStickState { GameInputFlightStickButtons buttons; GameInputSwitchPosition hatSwitch; float roll; float pitch; float yaw; float throttle; }; struct GameInputGamepadState { GameInputGamepadButtons buttons; float leftTrigger; float rightTrigger; float leftThumbstickX; float leftThumbstickY; float rightThumbstickX; float rightThumbstickY; }; struct GameInputRacingWheelState { GameInputRacingWheelButtons buttons; int32_t patternShifterGear; float wheel; float throttle; float brake; float clutch; float handbrake; }; struct GameInputUiNavigationState { GameInputUiNavigationButtons buttons; }; struct GameInputBatteryState { float chargeRate; float maxChargeRate; float remainingCapacity; float fullChargeCapacity; GameInputBatteryStatus status; }; struct GameInputString { uint32_t sizeInBytes; uint32_t codePointCount; const char *data; }; struct GameInputUsage { uint16_t page; uint16_t id; }; struct GameInputRawDeviceItemCollectionInfo { GameInputRawDeviceItemCollectionKind kind; uint32_t childCount; uint32_t siblingCount; uint32_t usageCount; const GameInputUsage *usages; const GameInputRawDeviceItemCollectionInfo *parent; const GameInputRawDeviceItemCollectionInfo *firstSibling; const GameInputRawDeviceItemCollectionInfo *previousSibling; const GameInputRawDeviceItemCollectionInfo *nextSibling; const GameInputRawDeviceItemCollectionInfo *lastSibling; const GameInputRawDeviceItemCollectionInfo *firstChild; const GameInputRawDeviceItemCollectionInfo *lastChild; }; struct GameInputRawDeviceReportItemInfo { uint32_t bitOffset; uint32_t bitSize; int64_t logicalMin; int64_t logicalMax; double physicalMin; double physicalMax; GameInputRawDevicePhysicalUnitKind physicalUnits; uint32_t rawPhysicalUnits; int32_t rawPhysicalUnitsExponent; GameInputRawDeviceReportItemFlags flags; uint32_t usageCount; const GameInputUsage *usages; const GameInputRawDeviceItemCollectionInfo *collection; const GameInputString *itemString; }; struct GameInputRawDeviceReportInfo { GameInputRawDeviceReportKind kind; uint32_t id; uint32_t size; uint32_t itemCount; const GameInputRawDeviceReportItemInfo *items; }; struct v0_GameInputControllerAxisInfo { GameInputKind mappedInputKinds; GameInputLabel label; bool isContinuous; bool isNonlinear; bool isQuantized; bool hasRestValue; float restValue; uint64_t resolution; uint16_t legacyDInputIndex; uint16_t legacyHidIndex; uint32_t rawReportIndex; const GameInputRawDeviceReportInfo *inputReport; const GameInputRawDeviceReportItemInfo *inputReportItem; }; struct v1_GameInputControllerAxisInfo { GameInputKind mappedInputKinds; GameInputLabel label; }; struct v0_GameInputControllerButtonInfo { GameInputKind mappedInputKinds; GameInputLabel label; uint16_t legacyDInputIndex; uint16_t legacyHidIndex; uint32_t rawReportIndex; const GameInputRawDeviceReportInfo *inputReport; const GameInputRawDeviceReportItemInfo *inputReportItem; }; struct v1_GameInputControllerButtonInfo { GameInputKind mappedInputKinds; GameInputLabel label; }; struct v0_GameInputControllerSwitchInfo { GameInputKind mappedInputKinds; GameInputLabel label; GameInputLabel positionLabels[9]; GameInputSwitchKind kind; uint16_t legacyDInputIndex; uint16_t legacyHidIndex; uint32_t rawReportIndex; const GameInputRawDeviceReportInfo *inputReport; const GameInputRawDeviceReportItemInfo *inputReportItem; }; struct v1_GameInputControllerSwitchInfo { GameInputKind mappedInputKinds; GameInputLabel label; GameInputSwitchKind kind; }; struct v0_GameInputKeyboardInfo { GameInputKeyboardKind kind; uint32_t layout; uint32_t keyCount; uint32_t functionKeyCount; uint32_t maxSimultaneousKeys; uint32_t platformType; uint32_t platformSubtype; const GameInputString *nativeLanguage; }; struct v1_GameInputKeyboardInfo { GameInputKeyboardKind kind; uint32_t layout; uint32_t keyCount; uint32_t functionKeyCount; uint32_t maxSimultaneousKeys; uint32_t platformType; uint32_t platformSubtype; }; struct v0_GameInputMouseInfo { GameInputMouseButtons supportedButtons; uint32_t sampleRate; uint32_t sensorDpi; bool hasWheelX; bool hasWheelY; }; struct v1_GameInputMouseInfo { GameInputMouseButtons supportedButtons; uint32_t sampleRate; bool hasWheelX; bool hasWheelY; }; struct GameInputTouchSensorInfo { GameInputKind mappedInputKinds; GameInputLabel label; GameInputLocation location; uint32_t locationId; uint64_t resolutionX; uint64_t resolutionY; GameInputTouchShape shape; float aspectRatio; float orientation; float physicalWidth; float physicalHeight; float maxPressure; float maxProximity; uint32_t maxTouchPoints; }; struct GameInputMotionInfo { float maxAcceleration; float maxAngularVelocity; float maxMagneticFieldStrength; }; struct GameInputSensorsInfo { GameInputSensorsKind supportedSensors; }; struct GameInputArcadeStickInfo { GameInputLabel menuButtonLabel; GameInputLabel viewButtonLabel; GameInputLabel stickUpLabel; GameInputLabel stickDownLabel; GameInputLabel stickLeftLabel; GameInputLabel stickRightLabel; GameInputLabel actionButton1Label; GameInputLabel actionButton2Label; GameInputLabel actionButton3Label; GameInputLabel actionButton4Label; GameInputLabel actionButton5Label; GameInputLabel actionButton6Label; GameInputLabel specialButton1Label; GameInputLabel specialButton2Label; }; struct GameInputFlightStickInfo { GameInputLabel menuButtonLabel; GameInputLabel viewButtonLabel; GameInputLabel firePrimaryButtonLabel; GameInputLabel fireSecondaryButtonLabel; GameInputSwitchKind hatSwitchKind; }; struct GameInputGamepadInfo { GameInputLabel menuButtonLabel; GameInputLabel viewButtonLabel; GameInputLabel aButtonLabel; GameInputLabel bButtonLabel; GameInputLabel xButtonLabel; GameInputLabel yButtonLabel; GameInputLabel dpadUpLabel; GameInputLabel dpadDownLabel; GameInputLabel dpadLeftLabel; GameInputLabel dpadRightLabel; GameInputLabel leftShoulderButtonLabel; GameInputLabel rightShoulderButtonLabel; GameInputLabel leftThumbstickButtonLabel; GameInputLabel rightThumbstickButtonLabel; }; struct GameInputRacingWheelInfo { GameInputLabel menuButtonLabel; GameInputLabel viewButtonLabel; GameInputLabel previousGearButtonLabel; GameInputLabel nextGearButtonLabel; GameInputLabel dpadUpLabel; GameInputLabel dpadDownLabel; GameInputLabel dpadLeftLabel; GameInputLabel dpadRightLabel; bool hasClutch; bool hasHandbrake; bool hasPatternShifter; int32_t minPatternShifterGear; int32_t maxPatternShifterGear; float maxWheelAngle; }; struct GameInputUiNavigationInfo { GameInputLabel menuButtonLabel; GameInputLabel viewButtonLabel; GameInputLabel acceptButtonLabel; GameInputLabel cancelButtonLabel; GameInputLabel upButtonLabel; GameInputLabel downButtonLabel; GameInputLabel leftButtonLabel; GameInputLabel rightButtonLabel; GameInputLabel contextButton1Label; GameInputLabel contextButton2Label; GameInputLabel contextButton3Label; GameInputLabel contextButton4Label; GameInputLabel pageUpButtonLabel; GameInputLabel pageDownButtonLabel; GameInputLabel pageLeftButtonLabel; GameInputLabel pageRightButtonLabel; GameInputLabel scrollUpButtonLabel; GameInputLabel scrollDownButtonLabel; GameInputLabel scrollLeftButtonLabel; GameInputLabel scrollRightButtonLabel; GameInputLabel guideButtonLabel; }; struct v0_GameInputForceFeedbackMotorInfo { GameInputFeedbackAxes supportedAxes; GameInputLocation location; uint32_t locationId; uint32_t maxSimultaneousEffects; bool isConstantEffectSupported; bool isRampEffectSupported; bool isSineWaveEffectSupported; bool isSquareWaveEffectSupported; bool isTriangleWaveEffectSupported; bool isSawtoothUpWaveEffectSupported; bool isSawtoothDownWaveEffectSupported; bool isSpringEffectSupported; bool isFrictionEffectSupported; bool isDamperEffectSupported; bool isInertiaEffectSupported; }; struct v1_GameInputForceFeedbackMotorInfo { GameInputFeedbackAxes supportedAxes; bool isConstantEffectSupported; bool isRampEffectSupported; bool isSineWaveEffectSupported; bool isSquareWaveEffectSupported; bool isTriangleWaveEffectSupported; bool isSawtoothUpWaveEffectSupported; bool isSawtoothDownWaveEffectSupported; bool isSpringEffectSupported; bool isFrictionEffectSupported; bool isDamperEffectSupported; bool isInertiaEffectSupported; }; struct GameInputHapticWaveformInfo { GameInputUsage usage; bool isDurationSupported; bool isIntensitySupported; bool isRepeatSupported; bool isRepeatDelaySupported; uint64_t defaultDuration; }; struct GameInputHapticFeedbackMotorInfo { GameInputRumbleMotors mappedRumbleMotors; GameInputLocation location; uint32_t locationId; uint32_t waveformCount; const GameInputHapticWaveformInfo *waveformInfo; }; struct v0_GameInputDeviceInfo { uint32_t infoSize; uint16_t vendorId; uint16_t productId; uint16_t revisionNumber; uint8_t interfaceNumber; uint8_t collectionNumber; GameInputUsage usage; GameInputVersion hardwareVersion; GameInputVersion firmwareVersion; APP_LOCAL_DEVICE_ID deviceId; APP_LOCAL_DEVICE_ID deviceRootId; GameInputDeviceFamily deviceFamily; GameInputDeviceCapabilities capabilities; GameInputKind supportedInput; GameInputRumbleMotors supportedRumbleMotors; uint32_t inputReportCount; uint32_t outputReportCount; uint32_t featureReportCount; uint32_t controllerAxisCount; uint32_t controllerButtonCount; uint32_t controllerSwitchCount; uint32_t touchPointCount; uint32_t touchSensorCount; uint32_t forceFeedbackMotorCount; uint32_t hapticFeedbackMotorCount; uint32_t deviceStringCount; uint32_t deviceDescriptorSize; const GameInputRawDeviceReportInfo *inputReportInfo; const GameInputRawDeviceReportInfo *outputReportInfo; const GameInputRawDeviceReportInfo *featureReportInfo; const v0_GameInputControllerAxisInfo *controllerAxisInfo; const v0_GameInputControllerButtonInfo *controllerButtonInfo; const v0_GameInputControllerSwitchInfo *controllerSwitchInfo; const v0_GameInputKeyboardInfo *keyboardInfo; const v0_GameInputMouseInfo *mouseInfo; const GameInputTouchSensorInfo *touchSensorInfo; const GameInputMotionInfo *motionInfo; const GameInputArcadeStickInfo *arcadeStickInfo; const GameInputFlightStickInfo *flightStickInfo; const GameInputGamepadInfo *gamepadInfo; const GameInputRacingWheelInfo *racingWheelInfo; const GameInputUiNavigationInfo *uiNavigationInfo; const v0_GameInputForceFeedbackMotorInfo *forceFeedbackMotorInfo; const GameInputHapticFeedbackMotorInfo *hapticFeedbackMotorInfo; const GameInputString *displayName; const GameInputString *deviceStrings; const void *deviceDescriptorData; GameInputSystemButtons supportedSystemButtons; }; struct v1_GameInputDeviceInfo { uint16_t vendorId; uint16_t productId; GameInputUsage usage; APP_LOCAL_DEVICE_ID deviceId; APP_LOCAL_DEVICE_ID deviceRootId; GameInputDeviceFamily deviceFamily; GameInputKind supportedInput; GameInputRumbleMotors supportedRumbleMotors; GameInputSystemButtons supportedSystemButtons; const char *displayName; const char *pnpPath; const v1_GameInputKeyboardInfo *keyboardInfo; const v1_GameInputMouseInfo *mouseInfo; const GameInputArcadeStickInfo *arcadeStickInfo; const GameInputFlightStickInfo *flightStickInfo; const GameInputGamepadInfo *gamepadInfo; const GameInputRacingWheelInfo *racingWheelInfo; const GameInputUiNavigationInfo *uiNavigationInfo; uint32_t controllerAxisCount; const v1_GameInputControllerAxisInfo *controllerAxisInfo; uint32_t controllerButtonCount; const v1_GameInputControllerButtonInfo *controllerButtonInfo; uint32_t controllerSwitchCount; const v1_GameInputControllerSwitchInfo *controllerSwitchInfo; uint32_t forceFeedbackMotorCount; const v1_GameInputForceFeedbackMotorInfo *forceFeedbackMotorInfo; }; struct v2_GameInputDeviceInfo { uint16_t vendorId; uint16_t productId; uint16_t revisionNumber; GameInputUsage usage; GameInputVersion hardwareVersion; GameInputVersion firmwareVersion; APP_LOCAL_DEVICE_ID deviceId; APP_LOCAL_DEVICE_ID deviceRootId; GameInputDeviceFamily deviceFamily; GameInputKind supportedInput; GameInputRumbleMotors supportedRumbleMotors; GameInputSystemButtons supportedSystemButtons; GUID containerId; const char *displayName; const char *pnpPath; const v2_GameInputKeyboardInfo *keyboardInfo; const v2_GameInputMouseInfo *mouseInfo; const GameInputSensorsInfo *sensorsInfo; const GameInputArcadeStickInfo *arcadeStickInfo; const GameInputFlightStickInfo *flightStickInfo; const GameInputGamepadInfo *gamepadInfo; const GameInputRacingWheelInfo *racingWheelInfo; const GameInputUiNavigationInfo *uiNavigationInfo; uint32_t controllerAxisCount; const v2_GameInputControllerAxisInfo *controllerAxisInfo; uint32_t controllerButtonCount; const v2_GameInputControllerButtonInfo *controllerButtonInfo; uint32_t controllerSwitchCount; const v2_GameInputControllerSwitchInfo *controllerSwitchInfo; uint32_t forceFeedbackMotorCount; const v2_GameInputForceFeedbackMotorInfo *forceFeedbackMotorInfo; }; struct GameInputHapticInfo { wchar_t audioEndpointId[256]; uint32_t locationCount; GUID locations[8]; }; struct GameInputForceFeedbackEnvelope { uint64_t attackDuration; uint64_t sustainDuration; uint64_t releaseDuration; float attackGain; float sustainGain; float releaseGain; uint32_t playCount; uint64_t repeatDelay; }; struct GameInputForceFeedbackMagnitude { float linearX; float linearY; float linearZ; float angularX; float angularY; float angularZ; float normal; }; struct GameInputForceFeedbackConditionParams { GameInputForceFeedbackMagnitude magnitude; float positiveCoefficient; float negativeCoefficient; float maxPositiveMagnitude; float maxNegativeMagnitude; float deadZone; float bias; }; struct GameInputForceFeedbackConstantParams { GameInputForceFeedbackEnvelope envelope; GameInputForceFeedbackMagnitude magnitude; }; struct GameInputForceFeedbackPeriodicParams { GameInputForceFeedbackEnvelope envelope; GameInputForceFeedbackMagnitude magnitude; float frequency; float phase; float bias; }; struct GameInputForceFeedbackRampParams { GameInputForceFeedbackEnvelope envelope; GameInputForceFeedbackMagnitude startMagnitude; GameInputForceFeedbackMagnitude endMagnitude; }; struct GameInputForceFeedbackParams { GameInputForceFeedbackEffectKind kind; union { GameInputForceFeedbackConstantParams constant; GameInputForceFeedbackRampParams ramp; GameInputForceFeedbackPeriodicParams sineWave; GameInputForceFeedbackPeriodicParams squareWave; GameInputForceFeedbackPeriodicParams triangleWave; GameInputForceFeedbackPeriodicParams sawtoothUpWave; GameInputForceFeedbackPeriodicParams sawtoothDownWave; GameInputForceFeedbackConditionParams spring; GameInputForceFeedbackConditionParams friction; GameInputForceFeedbackConditionParams damper; GameInputForceFeedbackConditionParams inertia; } data; }; struct GameInputHapticFeedbackParams { uint32_t waveformIndex; uint64_t duration; float intensity; uint32_t playCount; uint64_t repeatDelay; }; struct GameInputRumbleParams { float lowFrequency; float highFrequency; float leftTrigger; float rightTrigger; }; /***************************************************************************** * v0_IGameInput interface */ #ifndef __v0_IGameInput_INTERFACE_DEFINED__ #define __v0_IGameInput_INTERFACE_DEFINED__ DEFINE_GUID(IID_v0_IGameInput, 0x11be2a7e, 0x4254, 0x445a, 0x9c,0x09, 0xff,0xc4,0x0f,0x00,0x69,0x18); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("11be2a7e-4254-445a-9c09-ffc40f006918") v0_IGameInput : public IUnknown { virtual uint64_t STDMETHODCALLTYPE GetCurrentTimestamp( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentReading( GameInputKind kind, v0_IGameInputDevice *device, v0_IGameInputReading **reading) = 0; virtual HRESULT STDMETHODCALLTYPE GetNextReading( v0_IGameInputReading *reference, GameInputKind kind, v0_IGameInputDevice *device, v0_IGameInputReading **reading) = 0; virtual HRESULT STDMETHODCALLTYPE GetPreviousReading( v0_IGameInputReading *reference, GameInputKind kind, v0_IGameInputDevice *device, v0_IGameInputReading **reading) = 0; virtual HRESULT STDMETHODCALLTYPE GetTemporalReading( uint64_t timestamp, v0_IGameInputDevice *device, v0_IGameInputReading **reading) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterReadingCallback( v0_IGameInputDevice *device, GameInputKind kind, float threshold, void *context, v0_GameInputReadingCallback callback, GameInputCallbackToken *token) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterDeviceCallback( v0_IGameInputDevice *device, GameInputKind kind, GameInputDeviceStatus filter, GameInputEnumerationKind enum_kind, void *context, v0_GameInputDeviceCallback callback, GameInputCallbackToken *token) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterSystemButtonCallback( v0_IGameInputDevice *device, GameInputSystemButtons filter, void *context, v0_GameInputSystemButtonCallback callback, GameInputCallbackToken *token) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterKeyboardLayoutCallback( v0_IGameInputDevice *device, void *context, v0_GameInputKeyboardLayoutCallback callback, GameInputCallbackToken *token) = 0; virtual void STDMETHODCALLTYPE StopCallback( GameInputCallbackToken token) = 0; virtual bool STDMETHODCALLTYPE UnregisterCallback( GameInputCallbackToken token, uint64_t timeout_ms) = 0; virtual HRESULT STDMETHODCALLTYPE CreateDispatcher( IGameInputDispatcher **dispatcher) = 0; virtual HRESULT STDMETHODCALLTYPE CreateAggregateDevice( GameInputKind kind, v0_IGameInputDevice **device) = 0; virtual HRESULT STDMETHODCALLTYPE FindDeviceFromId( const APP_LOCAL_DEVICE_ID *value, v0_IGameInputDevice **device) = 0; virtual HRESULT STDMETHODCALLTYPE FindDeviceFromObject( IUnknown *value, v0_IGameInputDevice **device) = 0; virtual HRESULT STDMETHODCALLTYPE FindDeviceFromPlatformHandle( HANDLE value, v0_IGameInputDevice **device) = 0; virtual HRESULT STDMETHODCALLTYPE FindDeviceFromPlatformString( const WCHAR *value, v0_IGameInputDevice **device) = 0; virtual HRESULT STDMETHODCALLTYPE EnableOemDeviceSupport( uint16_t vid, uint16_t pid, uint8_t iface, uint8_t collection) = 0; virtual void STDMETHODCALLTYPE SetFocusPolicy( GameInputFocusPolicy policy) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(v0_IGameInput, 0x11be2a7e, 0x4254, 0x445a, 0x9c,0x09, 0xff,0xc4,0x0f,0x00,0x69,0x18) #endif #else typedef struct v0_IGameInputVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( v0_IGameInput *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( v0_IGameInput *This); ULONG (STDMETHODCALLTYPE *Release)( v0_IGameInput *This); /*** v0_IGameInput methods ***/ uint64_t (STDMETHODCALLTYPE *GetCurrentTimestamp)( v0_IGameInput *This); HRESULT (STDMETHODCALLTYPE *GetCurrentReading)( v0_IGameInput *This, GameInputKind kind, v0_IGameInputDevice *device, v0_IGameInputReading **reading); HRESULT (STDMETHODCALLTYPE *GetNextReading)( v0_IGameInput *This, v0_IGameInputReading *reference, GameInputKind kind, v0_IGameInputDevice *device, v0_IGameInputReading **reading); HRESULT (STDMETHODCALLTYPE *GetPreviousReading)( v0_IGameInput *This, v0_IGameInputReading *reference, GameInputKind kind, v0_IGameInputDevice *device, v0_IGameInputReading **reading); HRESULT (STDMETHODCALLTYPE *GetTemporalReading)( v0_IGameInput *This, uint64_t timestamp, v0_IGameInputDevice *device, v0_IGameInputReading **reading); HRESULT (STDMETHODCALLTYPE *RegisterReadingCallback)( v0_IGameInput *This, v0_IGameInputDevice *device, GameInputKind kind, float threshold, void *context, v0_GameInputReadingCallback callback, GameInputCallbackToken *token); HRESULT (STDMETHODCALLTYPE *RegisterDeviceCallback)( v0_IGameInput *This, v0_IGameInputDevice *device, GameInputKind kind, GameInputDeviceStatus filter, GameInputEnumerationKind enum_kind, void *context, v0_GameInputDeviceCallback callback, GameInputCallbackToken *token); HRESULT (STDMETHODCALLTYPE *RegisterSystemButtonCallback)( v0_IGameInput *This, v0_IGameInputDevice *device, GameInputSystemButtons filter, void *context, v0_GameInputSystemButtonCallback callback, GameInputCallbackToken *token); HRESULT (STDMETHODCALLTYPE *RegisterKeyboardLayoutCallback)( v0_IGameInput *This, v0_IGameInputDevice *device, void *context, v0_GameInputKeyboardLayoutCallback callback, GameInputCallbackToken *token); void (STDMETHODCALLTYPE *StopCallback)( v0_IGameInput *This, GameInputCallbackToken token); bool (STDMETHODCALLTYPE *UnregisterCallback)( v0_IGameInput *This, GameInputCallbackToken token, uint64_t timeout_ms); HRESULT (STDMETHODCALLTYPE *CreateDispatcher)( v0_IGameInput *This, IGameInputDispatcher **dispatcher); HRESULT (STDMETHODCALLTYPE *CreateAggregateDevice)( v0_IGameInput *This, GameInputKind kind, v0_IGameInputDevice **device); HRESULT (STDMETHODCALLTYPE *FindDeviceFromId)( v0_IGameInput *This, const APP_LOCAL_DEVICE_ID *value, v0_IGameInputDevice **device); HRESULT (STDMETHODCALLTYPE *FindDeviceFromObject)( v0_IGameInput *This, IUnknown *value, v0_IGameInputDevice **device); HRESULT (STDMETHODCALLTYPE *FindDeviceFromPlatformHandle)( v0_IGameInput *This, HANDLE value, v0_IGameInputDevice **device); HRESULT (STDMETHODCALLTYPE *FindDeviceFromPlatformString)( v0_IGameInput *This, const WCHAR *value, v0_IGameInputDevice **device); HRESULT (STDMETHODCALLTYPE *EnableOemDeviceSupport)( v0_IGameInput *This, uint16_t vid, uint16_t pid, uint8_t iface, uint8_t collection); void (STDMETHODCALLTYPE *SetFocusPolicy)( v0_IGameInput *This, GameInputFocusPolicy policy); END_INTERFACE } v0_IGameInputVtbl; interface v0_IGameInput { CONST_VTBL v0_IGameInputVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define v0_IGameInput_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define v0_IGameInput_AddRef(This) (This)->lpVtbl->AddRef(This) #define v0_IGameInput_Release(This) (This)->lpVtbl->Release(This) /*** v0_IGameInput methods ***/ #define v0_IGameInput_GetCurrentTimestamp(This) (This)->lpVtbl->GetCurrentTimestamp(This) #define v0_IGameInput_GetCurrentReading(This,kind,device,reading) (This)->lpVtbl->GetCurrentReading(This,kind,device,reading) #define v0_IGameInput_GetNextReading(This,reference,kind,device,reading) (This)->lpVtbl->GetNextReading(This,reference,kind,device,reading) #define v0_IGameInput_GetPreviousReading(This,reference,kind,device,reading) (This)->lpVtbl->GetPreviousReading(This,reference,kind,device,reading) #define v0_IGameInput_GetTemporalReading(This,timestamp,device,reading) (This)->lpVtbl->GetTemporalReading(This,timestamp,device,reading) #define v0_IGameInput_RegisterReadingCallback(This,device,kind,threshold,context,callback,token) (This)->lpVtbl->RegisterReadingCallback(This,device,kind,threshold,context,callback,token) #define v0_IGameInput_RegisterDeviceCallback(This,device,kind,filter,enum_kind,context,callback,token) (This)->lpVtbl->RegisterDeviceCallback(This,device,kind,filter,enum_kind,context,callback,token) #define v0_IGameInput_RegisterSystemButtonCallback(This,device,filter,context,callback,token) (This)->lpVtbl->RegisterSystemButtonCallback(This,device,filter,context,callback,token) #define v0_IGameInput_RegisterKeyboardLayoutCallback(This,device,context,callback,token) (This)->lpVtbl->RegisterKeyboardLayoutCallback(This,device,context,callback,token) #define v0_IGameInput_StopCallback(This,token) (This)->lpVtbl->StopCallback(This,token) #define v0_IGameInput_UnregisterCallback(This,token,timeout_ms) (This)->lpVtbl->UnregisterCallback(This,token,timeout_ms) #define v0_IGameInput_CreateDispatcher(This,dispatcher) (This)->lpVtbl->CreateDispatcher(This,dispatcher) #define v0_IGameInput_CreateAggregateDevice(This,kind,device) (This)->lpVtbl->CreateAggregateDevice(This,kind,device) #define v0_IGameInput_FindDeviceFromId(This,value,device) (This)->lpVtbl->FindDeviceFromId(This,value,device) #define v0_IGameInput_FindDeviceFromObject(This,value,device) (This)->lpVtbl->FindDeviceFromObject(This,value,device) #define v0_IGameInput_FindDeviceFromPlatformHandle(This,value,device) (This)->lpVtbl->FindDeviceFromPlatformHandle(This,value,device) #define v0_IGameInput_FindDeviceFromPlatformString(This,value,device) (This)->lpVtbl->FindDeviceFromPlatformString(This,value,device) #define v0_IGameInput_EnableOemDeviceSupport(This,vid,pid,iface,collection) (This)->lpVtbl->EnableOemDeviceSupport(This,vid,pid,iface,collection) #define v0_IGameInput_SetFocusPolicy(This,policy) (This)->lpVtbl->SetFocusPolicy(This,policy) #else /*** IUnknown methods ***/ static inline HRESULT v0_IGameInput_QueryInterface(v0_IGameInput* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG v0_IGameInput_AddRef(v0_IGameInput* This) { return This->lpVtbl->AddRef(This); } static inline ULONG v0_IGameInput_Release(v0_IGameInput* This) { return This->lpVtbl->Release(This); } /*** v0_IGameInput methods ***/ static inline uint64_t v0_IGameInput_GetCurrentTimestamp(v0_IGameInput* This) { return This->lpVtbl->GetCurrentTimestamp(This); } static inline HRESULT v0_IGameInput_GetCurrentReading(v0_IGameInput* This,GameInputKind kind,v0_IGameInputDevice *device,v0_IGameInputReading **reading) { return This->lpVtbl->GetCurrentReading(This,kind,device,reading); } static inline HRESULT v0_IGameInput_GetNextReading(v0_IGameInput* This,v0_IGameInputReading *reference,GameInputKind kind,v0_IGameInputDevice *device,v0_IGameInputReading **reading) { return This->lpVtbl->GetNextReading(This,reference,kind,device,reading); } static inline HRESULT v0_IGameInput_GetPreviousReading(v0_IGameInput* This,v0_IGameInputReading *reference,GameInputKind kind,v0_IGameInputDevice *device,v0_IGameInputReading **reading) { return This->lpVtbl->GetPreviousReading(This,reference,kind,device,reading); } static inline HRESULT v0_IGameInput_GetTemporalReading(v0_IGameInput* This,uint64_t timestamp,v0_IGameInputDevice *device,v0_IGameInputReading **reading) { return This->lpVtbl->GetTemporalReading(This,timestamp,device,reading); } static inline HRESULT v0_IGameInput_RegisterReadingCallback(v0_IGameInput* This,v0_IGameInputDevice *device,GameInputKind kind,float threshold,void *context,v0_GameInputReadingCallback callback,GameInputCallbackToken *token) { return This->lpVtbl->RegisterReadingCallback(This,device,kind,threshold,context,callback,token); } static inline HRESULT v0_IGameInput_RegisterDeviceCallback(v0_IGameInput* This,v0_IGameInputDevice *device,GameInputKind kind,GameInputDeviceStatus filter,GameInputEnumerationKind enum_kind,void *context,v0_GameInputDeviceCallback callback,GameInputCallbackToken *token) { return This->lpVtbl->RegisterDeviceCallback(This,device,kind,filter,enum_kind,context,callback,token); } static inline HRESULT v0_IGameInput_RegisterSystemButtonCallback(v0_IGameInput* This,v0_IGameInputDevice *device,GameInputSystemButtons filter,void *context,v0_GameInputSystemButtonCallback callback,GameInputCallbackToken *token) { return This->lpVtbl->RegisterSystemButtonCallback(This,device,filter,context,callback,token); } static inline HRESULT v0_IGameInput_RegisterKeyboardLayoutCallback(v0_IGameInput* This,v0_IGameInputDevice *device,void *context,v0_GameInputKeyboardLayoutCallback callback,GameInputCallbackToken *token) { return This->lpVtbl->RegisterKeyboardLayoutCallback(This,device,context,callback,token); } static inline void v0_IGameInput_StopCallback(v0_IGameInput* This,GameInputCallbackToken token) { This->lpVtbl->StopCallback(This,token); } static inline bool v0_IGameInput_UnregisterCallback(v0_IGameInput* This,GameInputCallbackToken token,uint64_t timeout_ms) { return This->lpVtbl->UnregisterCallback(This,token,timeout_ms); } static inline HRESULT v0_IGameInput_CreateDispatcher(v0_IGameInput* This,IGameInputDispatcher **dispatcher) { return This->lpVtbl->CreateDispatcher(This,dispatcher); } static inline HRESULT v0_IGameInput_CreateAggregateDevice(v0_IGameInput* This,GameInputKind kind,v0_IGameInputDevice **device) { return This->lpVtbl->CreateAggregateDevice(This,kind,device); } static inline HRESULT v0_IGameInput_FindDeviceFromId(v0_IGameInput* This,const APP_LOCAL_DEVICE_ID *value,v0_IGameInputDevice **device) { return This->lpVtbl->FindDeviceFromId(This,value,device); } static inline HRESULT v0_IGameInput_FindDeviceFromObject(v0_IGameInput* This,IUnknown *value,v0_IGameInputDevice **device) { return This->lpVtbl->FindDeviceFromObject(This,value,device); } static inline HRESULT v0_IGameInput_FindDeviceFromPlatformHandle(v0_IGameInput* This,HANDLE value,v0_IGameInputDevice **device) { return This->lpVtbl->FindDeviceFromPlatformHandle(This,value,device); } static inline HRESULT v0_IGameInput_FindDeviceFromPlatformString(v0_IGameInput* This,const WCHAR *value,v0_IGameInputDevice **device) { return This->lpVtbl->FindDeviceFromPlatformString(This,value,device); } static inline HRESULT v0_IGameInput_EnableOemDeviceSupport(v0_IGameInput* This,uint16_t vid,uint16_t pid,uint8_t iface,uint8_t collection) { return This->lpVtbl->EnableOemDeviceSupport(This,vid,pid,iface,collection); } static inline void v0_IGameInput_SetFocusPolicy(v0_IGameInput* This,GameInputFocusPolicy policy) { This->lpVtbl->SetFocusPolicy(This,policy); } #endif #endif #endif #endif /* __v0_IGameInput_INTERFACE_DEFINED__ */ /***************************************************************************** * v1_IGameInput interface */ #ifndef __v1_IGameInput_INTERFACE_DEFINED__ #define __v1_IGameInput_INTERFACE_DEFINED__ DEFINE_GUID(IID_v1_IGameInput, 0x40ffb7e4, 0x6150, 0x407a, 0xb4,0x39, 0x13,0x2b,0xad,0xc0,0x8d,0x2d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("40ffb7e4-6150-407a-b439-132badc08d2d") v1_IGameInput : public IUnknown { virtual uint64_t STDMETHODCALLTYPE GetCurrentTimestamp( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentReading( GameInputKind kind, v1_IGameInputDevice *device, v1_IGameInputReading **reading) = 0; virtual HRESULT STDMETHODCALLTYPE GetNextReading( v1_IGameInputReading *reference, GameInputKind kind, v1_IGameInputDevice *device, v1_IGameInputReading **reading) = 0; virtual HRESULT STDMETHODCALLTYPE GetPreviousReading( v1_IGameInputReading *reference, GameInputKind kind, v1_IGameInputDevice *device, v1_IGameInputReading **reading) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterReadingCallback( v1_IGameInputDevice *device, GameInputKind kind, void *context, v1_GameInputReadingCallback callback, GameInputCallbackToken *token) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterDeviceCallback( v1_IGameInputDevice *device, GameInputKind kind, GameInputDeviceStatus filter, GameInputEnumerationKind enum_kind, void *context, v1_GameInputDeviceCallback callback, GameInputCallbackToken *token) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterSystemButtonCallback( v1_IGameInputDevice *device, GameInputSystemButtons filter, void *context, v1_GameInputSystemButtonCallback callback, GameInputCallbackToken *token) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterKeyboardLayoutCallback( v1_IGameInputDevice *device, void *context, v1_GameInputKeyboardLayoutCallback callback, GameInputCallbackToken *token) = 0; virtual void STDMETHODCALLTYPE StopCallback( GameInputCallbackToken token) = 0; virtual bool STDMETHODCALLTYPE UnregisterCallback( GameInputCallbackToken token) = 0; virtual HRESULT STDMETHODCALLTYPE CreateDispatcher( IGameInputDispatcher **dispatcher) = 0; virtual HRESULT STDMETHODCALLTYPE FindDeviceFromId( const APP_LOCAL_DEVICE_ID *value, v1_IGameInputDevice **device) = 0; virtual HRESULT STDMETHODCALLTYPE FindDeviceFromPlatformString( const WCHAR *value, v1_IGameInputDevice **device) = 0; virtual void STDMETHODCALLTYPE SetFocusPolicy( GameInputFocusPolicy policy) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(v1_IGameInput, 0x40ffb7e4, 0x6150, 0x407a, 0xb4,0x39, 0x13,0x2b,0xad,0xc0,0x8d,0x2d) #endif #else typedef struct v1_IGameInputVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( v1_IGameInput *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( v1_IGameInput *This); ULONG (STDMETHODCALLTYPE *Release)( v1_IGameInput *This); /*** v1_IGameInput methods ***/ uint64_t (STDMETHODCALLTYPE *GetCurrentTimestamp)( v1_IGameInput *This); HRESULT (STDMETHODCALLTYPE *GetCurrentReading)( v1_IGameInput *This, GameInputKind kind, v1_IGameInputDevice *device, v1_IGameInputReading **reading); HRESULT (STDMETHODCALLTYPE *GetNextReading)( v1_IGameInput *This, v1_IGameInputReading *reference, GameInputKind kind, v1_IGameInputDevice *device, v1_IGameInputReading **reading); HRESULT (STDMETHODCALLTYPE *GetPreviousReading)( v1_IGameInput *This, v1_IGameInputReading *reference, GameInputKind kind, v1_IGameInputDevice *device, v1_IGameInputReading **reading); HRESULT (STDMETHODCALLTYPE *RegisterReadingCallback)( v1_IGameInput *This, v1_IGameInputDevice *device, GameInputKind kind, void *context, v1_GameInputReadingCallback callback, GameInputCallbackToken *token); HRESULT (STDMETHODCALLTYPE *RegisterDeviceCallback)( v1_IGameInput *This, v1_IGameInputDevice *device, GameInputKind kind, GameInputDeviceStatus filter, GameInputEnumerationKind enum_kind, void *context, v1_GameInputDeviceCallback callback, GameInputCallbackToken *token); HRESULT (STDMETHODCALLTYPE *RegisterSystemButtonCallback)( v1_IGameInput *This, v1_IGameInputDevice *device, GameInputSystemButtons filter, void *context, v1_GameInputSystemButtonCallback callback, GameInputCallbackToken *token); HRESULT (STDMETHODCALLTYPE *RegisterKeyboardLayoutCallback)( v1_IGameInput *This, v1_IGameInputDevice *device, void *context, v1_GameInputKeyboardLayoutCallback callback, GameInputCallbackToken *token); void (STDMETHODCALLTYPE *StopCallback)( v1_IGameInput *This, GameInputCallbackToken token); bool (STDMETHODCALLTYPE *UnregisterCallback)( v1_IGameInput *This, GameInputCallbackToken token); HRESULT (STDMETHODCALLTYPE *CreateDispatcher)( v1_IGameInput *This, IGameInputDispatcher **dispatcher); HRESULT (STDMETHODCALLTYPE *FindDeviceFromId)( v1_IGameInput *This, const APP_LOCAL_DEVICE_ID *value, v1_IGameInputDevice **device); HRESULT (STDMETHODCALLTYPE *FindDeviceFromPlatformString)( v1_IGameInput *This, const WCHAR *value, v1_IGameInputDevice **device); void (STDMETHODCALLTYPE *SetFocusPolicy)( v1_IGameInput *This, GameInputFocusPolicy policy); END_INTERFACE } v1_IGameInputVtbl; interface v1_IGameInput { CONST_VTBL v1_IGameInputVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define v1_IGameInput_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define v1_IGameInput_AddRef(This) (This)->lpVtbl->AddRef(This) #define v1_IGameInput_Release(This) (This)->lpVtbl->Release(This) /*** v1_IGameInput methods ***/ #define v1_IGameInput_GetCurrentTimestamp(This) (This)->lpVtbl->GetCurrentTimestamp(This) #define v1_IGameInput_GetCurrentReading(This,kind,device,reading) (This)->lpVtbl->GetCurrentReading(This,kind,device,reading) #define v1_IGameInput_GetNextReading(This,reference,kind,device,reading) (This)->lpVtbl->GetNextReading(This,reference,kind,device,reading) #define v1_IGameInput_GetPreviousReading(This,reference,kind,device,reading) (This)->lpVtbl->GetPreviousReading(This,reference,kind,device,reading) #define v1_IGameInput_RegisterReadingCallback(This,device,kind,context,callback,token) (This)->lpVtbl->RegisterReadingCallback(This,device,kind,context,callback,token) #define v1_IGameInput_RegisterDeviceCallback(This,device,kind,filter,enum_kind,context,callback,token) (This)->lpVtbl->RegisterDeviceCallback(This,device,kind,filter,enum_kind,context,callback,token) #define v1_IGameInput_RegisterSystemButtonCallback(This,device,filter,context,callback,token) (This)->lpVtbl->RegisterSystemButtonCallback(This,device,filter,context,callback,token) #define v1_IGameInput_RegisterKeyboardLayoutCallback(This,device,context,callback,token) (This)->lpVtbl->RegisterKeyboardLayoutCallback(This,device,context,callback,token) #define v1_IGameInput_StopCallback(This,token) (This)->lpVtbl->StopCallback(This,token) #define v1_IGameInput_UnregisterCallback(This,token) (This)->lpVtbl->UnregisterCallback(This,token) #define v1_IGameInput_CreateDispatcher(This,dispatcher) (This)->lpVtbl->CreateDispatcher(This,dispatcher) #define v1_IGameInput_FindDeviceFromId(This,value,device) (This)->lpVtbl->FindDeviceFromId(This,value,device) #define v1_IGameInput_FindDeviceFromPlatformString(This,value,device) (This)->lpVtbl->FindDeviceFromPlatformString(This,value,device) #define v1_IGameInput_SetFocusPolicy(This,policy) (This)->lpVtbl->SetFocusPolicy(This,policy) #else /*** IUnknown methods ***/ static inline HRESULT v1_IGameInput_QueryInterface(v1_IGameInput* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG v1_IGameInput_AddRef(v1_IGameInput* This) { return This->lpVtbl->AddRef(This); } static inline ULONG v1_IGameInput_Release(v1_IGameInput* This) { return This->lpVtbl->Release(This); } /*** v1_IGameInput methods ***/ static inline uint64_t v1_IGameInput_GetCurrentTimestamp(v1_IGameInput* This) { return This->lpVtbl->GetCurrentTimestamp(This); } static inline HRESULT v1_IGameInput_GetCurrentReading(v1_IGameInput* This,GameInputKind kind,v1_IGameInputDevice *device,v1_IGameInputReading **reading) { return This->lpVtbl->GetCurrentReading(This,kind,device,reading); } static inline HRESULT v1_IGameInput_GetNextReading(v1_IGameInput* This,v1_IGameInputReading *reference,GameInputKind kind,v1_IGameInputDevice *device,v1_IGameInputReading **reading) { return This->lpVtbl->GetNextReading(This,reference,kind,device,reading); } static inline HRESULT v1_IGameInput_GetPreviousReading(v1_IGameInput* This,v1_IGameInputReading *reference,GameInputKind kind,v1_IGameInputDevice *device,v1_IGameInputReading **reading) { return This->lpVtbl->GetPreviousReading(This,reference,kind,device,reading); } static inline HRESULT v1_IGameInput_RegisterReadingCallback(v1_IGameInput* This,v1_IGameInputDevice *device,GameInputKind kind,void *context,v1_GameInputReadingCallback callback,GameInputCallbackToken *token) { return This->lpVtbl->RegisterReadingCallback(This,device,kind,context,callback,token); } static inline HRESULT v1_IGameInput_RegisterDeviceCallback(v1_IGameInput* This,v1_IGameInputDevice *device,GameInputKind kind,GameInputDeviceStatus filter,GameInputEnumerationKind enum_kind,void *context,v1_GameInputDeviceCallback callback,GameInputCallbackToken *token) { return This->lpVtbl->RegisterDeviceCallback(This,device,kind,filter,enum_kind,context,callback,token); } static inline HRESULT v1_IGameInput_RegisterSystemButtonCallback(v1_IGameInput* This,v1_IGameInputDevice *device,GameInputSystemButtons filter,void *context,v1_GameInputSystemButtonCallback callback,GameInputCallbackToken *token) { return This->lpVtbl->RegisterSystemButtonCallback(This,device,filter,context,callback,token); } static inline HRESULT v1_IGameInput_RegisterKeyboardLayoutCallback(v1_IGameInput* This,v1_IGameInputDevice *device,void *context,v1_GameInputKeyboardLayoutCallback callback,GameInputCallbackToken *token) { return This->lpVtbl->RegisterKeyboardLayoutCallback(This,device,context,callback,token); } static inline void v1_IGameInput_StopCallback(v1_IGameInput* This,GameInputCallbackToken token) { This->lpVtbl->StopCallback(This,token); } static inline bool v1_IGameInput_UnregisterCallback(v1_IGameInput* This,GameInputCallbackToken token) { return This->lpVtbl->UnregisterCallback(This,token); } static inline HRESULT v1_IGameInput_CreateDispatcher(v1_IGameInput* This,IGameInputDispatcher **dispatcher) { return This->lpVtbl->CreateDispatcher(This,dispatcher); } static inline HRESULT v1_IGameInput_FindDeviceFromId(v1_IGameInput* This,const APP_LOCAL_DEVICE_ID *value,v1_IGameInputDevice **device) { return This->lpVtbl->FindDeviceFromId(This,value,device); } static inline HRESULT v1_IGameInput_FindDeviceFromPlatformString(v1_IGameInput* This,const WCHAR *value,v1_IGameInputDevice **device) { return This->lpVtbl->FindDeviceFromPlatformString(This,value,device); } static inline void v1_IGameInput_SetFocusPolicy(v1_IGameInput* This,GameInputFocusPolicy policy) { This->lpVtbl->SetFocusPolicy(This,policy); } #endif #endif #endif #endif /* __v1_IGameInput_INTERFACE_DEFINED__ */ /***************************************************************************** * v2_IGameInput interface */ #ifndef __v2_IGameInput_INTERFACE_DEFINED__ #define __v2_IGameInput_INTERFACE_DEFINED__ DEFINE_GUID(IID_v2_IGameInput, 0xbbaa66d2, 0x837a, 0x40f7, 0xa3,0x03, 0x91,0x7d,0x50,0x09,0x55,0xf4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("bbaa66d2-837a-40f7-a303-917d500955f4") v2_IGameInput : public IUnknown { virtual uint64_t STDMETHODCALLTYPE GetCurrentTimestamp( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentReading( GameInputKind kind, v2_IGameInputDevice *device, v2_IGameInputReading **reading) = 0; virtual HRESULT STDMETHODCALLTYPE GetNextReading( v2_IGameInputReading *reference, GameInputKind kind, v2_IGameInputDevice *device, v2_IGameInputReading **reading) = 0; virtual HRESULT STDMETHODCALLTYPE GetPreviousReading( v2_IGameInputReading *reference, GameInputKind kind, v2_IGameInputDevice *device, v2_IGameInputReading **reading) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterReadingCallback( v2_IGameInputDevice *device, GameInputKind kind, void *context, v2_GameInputReadingCallback callback, GameInputCallbackToken *token) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterDeviceCallback( v2_IGameInputDevice *device, GameInputKind kind, GameInputDeviceStatus filter, GameInputEnumerationKind enum_kind, void *context, v2_GameInputDeviceCallback callback, GameInputCallbackToken *token) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterSystemButtonCallback( v2_IGameInputDevice *device, GameInputSystemButtons filter, void *context, v2_GameInputSystemButtonCallback callback, GameInputCallbackToken *token) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterKeyboardLayoutCallback( v2_IGameInputDevice *device, void *context, v2_GameInputKeyboardLayoutCallback callback, GameInputCallbackToken *token) = 0; virtual void STDMETHODCALLTYPE StopCallback( GameInputCallbackToken token) = 0; virtual bool STDMETHODCALLTYPE UnregisterCallback( GameInputCallbackToken token) = 0; virtual HRESULT STDMETHODCALLTYPE CreateDispatcher( IGameInputDispatcher **dispatcher) = 0; virtual HRESULT STDMETHODCALLTYPE FindDeviceFromId( const APP_LOCAL_DEVICE_ID *value, v2_IGameInputDevice **device) = 0; virtual HRESULT STDMETHODCALLTYPE FindDeviceFromPlatformString( const WCHAR *value, v2_IGameInputDevice **device) = 0; virtual void STDMETHODCALLTYPE SetFocusPolicy( GameInputFocusPolicy policy) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(v2_IGameInput, 0xbbaa66d2, 0x837a, 0x40f7, 0xa3,0x03, 0x91,0x7d,0x50,0x09,0x55,0xf4) #endif #else typedef struct v2_IGameInputVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( v2_IGameInput *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( v2_IGameInput *This); ULONG (STDMETHODCALLTYPE *Release)( v2_IGameInput *This); /*** v2_IGameInput methods ***/ uint64_t (STDMETHODCALLTYPE *GetCurrentTimestamp)( v2_IGameInput *This); HRESULT (STDMETHODCALLTYPE *GetCurrentReading)( v2_IGameInput *This, GameInputKind kind, v2_IGameInputDevice *device, v2_IGameInputReading **reading); HRESULT (STDMETHODCALLTYPE *GetNextReading)( v2_IGameInput *This, v2_IGameInputReading *reference, GameInputKind kind, v2_IGameInputDevice *device, v2_IGameInputReading **reading); HRESULT (STDMETHODCALLTYPE *GetPreviousReading)( v2_IGameInput *This, v2_IGameInputReading *reference, GameInputKind kind, v2_IGameInputDevice *device, v2_IGameInputReading **reading); HRESULT (STDMETHODCALLTYPE *RegisterReadingCallback)( v2_IGameInput *This, v2_IGameInputDevice *device, GameInputKind kind, void *context, v2_GameInputReadingCallback callback, GameInputCallbackToken *token); HRESULT (STDMETHODCALLTYPE *RegisterDeviceCallback)( v2_IGameInput *This, v2_IGameInputDevice *device, GameInputKind kind, GameInputDeviceStatus filter, GameInputEnumerationKind enum_kind, void *context, v2_GameInputDeviceCallback callback, GameInputCallbackToken *token); HRESULT (STDMETHODCALLTYPE *RegisterSystemButtonCallback)( v2_IGameInput *This, v2_IGameInputDevice *device, GameInputSystemButtons filter, void *context, v2_GameInputSystemButtonCallback callback, GameInputCallbackToken *token); HRESULT (STDMETHODCALLTYPE *RegisterKeyboardLayoutCallback)( v2_IGameInput *This, v2_IGameInputDevice *device, void *context, v2_GameInputKeyboardLayoutCallback callback, GameInputCallbackToken *token); void (STDMETHODCALLTYPE *StopCallback)( v2_IGameInput *This, GameInputCallbackToken token); bool (STDMETHODCALLTYPE *UnregisterCallback)( v2_IGameInput *This, GameInputCallbackToken token); HRESULT (STDMETHODCALLTYPE *CreateDispatcher)( v2_IGameInput *This, IGameInputDispatcher **dispatcher); HRESULT (STDMETHODCALLTYPE *FindDeviceFromId)( v2_IGameInput *This, const APP_LOCAL_DEVICE_ID *value, v2_IGameInputDevice **device); HRESULT (STDMETHODCALLTYPE *FindDeviceFromPlatformString)( v2_IGameInput *This, const WCHAR *value, v2_IGameInputDevice **device); void (STDMETHODCALLTYPE *SetFocusPolicy)( v2_IGameInput *This, GameInputFocusPolicy policy); END_INTERFACE } v2_IGameInputVtbl; interface v2_IGameInput { CONST_VTBL v2_IGameInputVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define v2_IGameInput_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define v2_IGameInput_AddRef(This) (This)->lpVtbl->AddRef(This) #define v2_IGameInput_Release(This) (This)->lpVtbl->Release(This) /*** v2_IGameInput methods ***/ #define v2_IGameInput_GetCurrentTimestamp(This) (This)->lpVtbl->GetCurrentTimestamp(This) #define v2_IGameInput_GetCurrentReading(This,kind,device,reading) (This)->lpVtbl->GetCurrentReading(This,kind,device,reading) #define v2_IGameInput_GetNextReading(This,reference,kind,device,reading) (This)->lpVtbl->GetNextReading(This,reference,kind,device,reading) #define v2_IGameInput_GetPreviousReading(This,reference,kind,device,reading) (This)->lpVtbl->GetPreviousReading(This,reference,kind,device,reading) #define v2_IGameInput_RegisterReadingCallback(This,device,kind,context,callback,token) (This)->lpVtbl->RegisterReadingCallback(This,device,kind,context,callback,token) #define v2_IGameInput_RegisterDeviceCallback(This,device,kind,filter,enum_kind,context,callback,token) (This)->lpVtbl->RegisterDeviceCallback(This,device,kind,filter,enum_kind,context,callback,token) #define v2_IGameInput_RegisterSystemButtonCallback(This,device,filter,context,callback,token) (This)->lpVtbl->RegisterSystemButtonCallback(This,device,filter,context,callback,token) #define v2_IGameInput_RegisterKeyboardLayoutCallback(This,device,context,callback,token) (This)->lpVtbl->RegisterKeyboardLayoutCallback(This,device,context,callback,token) #define v2_IGameInput_StopCallback(This,token) (This)->lpVtbl->StopCallback(This,token) #define v2_IGameInput_UnregisterCallback(This,token) (This)->lpVtbl->UnregisterCallback(This,token) #define v2_IGameInput_CreateDispatcher(This,dispatcher) (This)->lpVtbl->CreateDispatcher(This,dispatcher) #define v2_IGameInput_FindDeviceFromId(This,value,device) (This)->lpVtbl->FindDeviceFromId(This,value,device) #define v2_IGameInput_FindDeviceFromPlatformString(This,value,device) (This)->lpVtbl->FindDeviceFromPlatformString(This,value,device) #define v2_IGameInput_SetFocusPolicy(This,policy) (This)->lpVtbl->SetFocusPolicy(This,policy) #else /*** IUnknown methods ***/ static inline HRESULT v2_IGameInput_QueryInterface(v2_IGameInput* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG v2_IGameInput_AddRef(v2_IGameInput* This) { return This->lpVtbl->AddRef(This); } static inline ULONG v2_IGameInput_Release(v2_IGameInput* This) { return This->lpVtbl->Release(This); } /*** v2_IGameInput methods ***/ static inline uint64_t v2_IGameInput_GetCurrentTimestamp(v2_IGameInput* This) { return This->lpVtbl->GetCurrentTimestamp(This); } static inline HRESULT v2_IGameInput_GetCurrentReading(v2_IGameInput* This,GameInputKind kind,v2_IGameInputDevice *device,v2_IGameInputReading **reading) { return This->lpVtbl->GetCurrentReading(This,kind,device,reading); } static inline HRESULT v2_IGameInput_GetNextReading(v2_IGameInput* This,v2_IGameInputReading *reference,GameInputKind kind,v2_IGameInputDevice *device,v2_IGameInputReading **reading) { return This->lpVtbl->GetNextReading(This,reference,kind,device,reading); } static inline HRESULT v2_IGameInput_GetPreviousReading(v2_IGameInput* This,v2_IGameInputReading *reference,GameInputKind kind,v2_IGameInputDevice *device,v2_IGameInputReading **reading) { return This->lpVtbl->GetPreviousReading(This,reference,kind,device,reading); } static inline HRESULT v2_IGameInput_RegisterReadingCallback(v2_IGameInput* This,v2_IGameInputDevice *device,GameInputKind kind,void *context,v2_GameInputReadingCallback callback,GameInputCallbackToken *token) { return This->lpVtbl->RegisterReadingCallback(This,device,kind,context,callback,token); } static inline HRESULT v2_IGameInput_RegisterDeviceCallback(v2_IGameInput* This,v2_IGameInputDevice *device,GameInputKind kind,GameInputDeviceStatus filter,GameInputEnumerationKind enum_kind,void *context,v2_GameInputDeviceCallback callback,GameInputCallbackToken *token) { return This->lpVtbl->RegisterDeviceCallback(This,device,kind,filter,enum_kind,context,callback,token); } static inline HRESULT v2_IGameInput_RegisterSystemButtonCallback(v2_IGameInput* This,v2_IGameInputDevice *device,GameInputSystemButtons filter,void *context,v2_GameInputSystemButtonCallback callback,GameInputCallbackToken *token) { return This->lpVtbl->RegisterSystemButtonCallback(This,device,filter,context,callback,token); } static inline HRESULT v2_IGameInput_RegisterKeyboardLayoutCallback(v2_IGameInput* This,v2_IGameInputDevice *device,void *context,v2_GameInputKeyboardLayoutCallback callback,GameInputCallbackToken *token) { return This->lpVtbl->RegisterKeyboardLayoutCallback(This,device,context,callback,token); } static inline void v2_IGameInput_StopCallback(v2_IGameInput* This,GameInputCallbackToken token) { This->lpVtbl->StopCallback(This,token); } static inline bool v2_IGameInput_UnregisterCallback(v2_IGameInput* This,GameInputCallbackToken token) { return This->lpVtbl->UnregisterCallback(This,token); } static inline HRESULT v2_IGameInput_CreateDispatcher(v2_IGameInput* This,IGameInputDispatcher **dispatcher) { return This->lpVtbl->CreateDispatcher(This,dispatcher); } static inline HRESULT v2_IGameInput_FindDeviceFromId(v2_IGameInput* This,const APP_LOCAL_DEVICE_ID *value,v2_IGameInputDevice **device) { return This->lpVtbl->FindDeviceFromId(This,value,device); } static inline HRESULT v2_IGameInput_FindDeviceFromPlatformString(v2_IGameInput* This,const WCHAR *value,v2_IGameInputDevice **device) { return This->lpVtbl->FindDeviceFromPlatformString(This,value,device); } static inline void v2_IGameInput_SetFocusPolicy(v2_IGameInput* This,GameInputFocusPolicy policy) { This->lpVtbl->SetFocusPolicy(This,policy); } #endif #endif #endif #endif /* __v2_IGameInput_INTERFACE_DEFINED__ */ /***************************************************************************** * v0_IGameInputReading interface */ #ifndef __v0_IGameInputReading_INTERFACE_DEFINED__ #define __v0_IGameInputReading_INTERFACE_DEFINED__ DEFINE_GUID(IID_v0_IGameInputReading, 0x2156947a, 0xe1fa, 0x4de0, 0xa3,0x0b, 0xd8,0x12,0x93,0x1d,0xbd,0x8d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2156947a-e1fa-4de0-a30b-d812931dbd8d") v0_IGameInputReading : public IUnknown { virtual GameInputKind STDMETHODCALLTYPE GetInputKind( ) = 0; virtual uint64_t STDMETHODCALLTYPE GetSequenceNumber( GameInputKind kind) = 0; virtual uint64_t STDMETHODCALLTYPE GetTimestamp( ) = 0; virtual void STDMETHODCALLTYPE GetDevice( v0_IGameInputDevice **device) = 0; virtual bool STDMETHODCALLTYPE GetRawReport( IGameInputRawDeviceReport **report) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerAxisCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerAxisState( uint32_t count, float *state) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerButtonCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerButtonState( uint32_t count, bool *state) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerSwitchCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerSwitchState( uint32_t count, GameInputSwitchPosition *state) = 0; virtual uint32_t STDMETHODCALLTYPE GetKeyCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetKeyState( uint32_t count, GameInputKeyState *state) = 0; virtual bool STDMETHODCALLTYPE GetMouseState( v0_GameInputMouseState *state) = 0; virtual uint32_t STDMETHODCALLTYPE GetTouchCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetTouchState( uint32_t count, GameInputTouchState *state) = 0; virtual bool STDMETHODCALLTYPE GetMotionState( GameInputMotionState *state) = 0; virtual bool STDMETHODCALLTYPE GetArcadeStickState( GameInputArcadeStickState *state) = 0; virtual bool STDMETHODCALLTYPE GetFlightStickState( GameInputFlightStickState *state) = 0; virtual bool STDMETHODCALLTYPE GetGamepadState( GameInputGamepadState *state) = 0; virtual bool STDMETHODCALLTYPE GetRacingWheelState( GameInputRacingWheelState *state) = 0; virtual bool STDMETHODCALLTYPE GetUiNavigationState( GameInputUiNavigationState *state) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(v0_IGameInputReading, 0x2156947a, 0xe1fa, 0x4de0, 0xa3,0x0b, 0xd8,0x12,0x93,0x1d,0xbd,0x8d) #endif #else typedef struct v0_IGameInputReadingVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( v0_IGameInputReading *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( v0_IGameInputReading *This); ULONG (STDMETHODCALLTYPE *Release)( v0_IGameInputReading *This); /*** v0_IGameInputReading methods ***/ GameInputKind (STDMETHODCALLTYPE *GetInputKind)( v0_IGameInputReading *This); uint64_t (STDMETHODCALLTYPE *GetSequenceNumber)( v0_IGameInputReading *This, GameInputKind kind); uint64_t (STDMETHODCALLTYPE *GetTimestamp)( v0_IGameInputReading *This); void (STDMETHODCALLTYPE *GetDevice)( v0_IGameInputReading *This, v0_IGameInputDevice **device); bool (STDMETHODCALLTYPE *GetRawReport)( v0_IGameInputReading *This, IGameInputRawDeviceReport **report); uint32_t (STDMETHODCALLTYPE *GetControllerAxisCount)( v0_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetControllerAxisState)( v0_IGameInputReading *This, uint32_t count, float *state); uint32_t (STDMETHODCALLTYPE *GetControllerButtonCount)( v0_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetControllerButtonState)( v0_IGameInputReading *This, uint32_t count, bool *state); uint32_t (STDMETHODCALLTYPE *GetControllerSwitchCount)( v0_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetControllerSwitchState)( v0_IGameInputReading *This, uint32_t count, GameInputSwitchPosition *state); uint32_t (STDMETHODCALLTYPE *GetKeyCount)( v0_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetKeyState)( v0_IGameInputReading *This, uint32_t count, GameInputKeyState *state); bool (STDMETHODCALLTYPE *GetMouseState)( v0_IGameInputReading *This, v0_GameInputMouseState *state); uint32_t (STDMETHODCALLTYPE *GetTouchCount)( v0_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetTouchState)( v0_IGameInputReading *This, uint32_t count, GameInputTouchState *state); bool (STDMETHODCALLTYPE *GetMotionState)( v0_IGameInputReading *This, GameInputMotionState *state); bool (STDMETHODCALLTYPE *GetArcadeStickState)( v0_IGameInputReading *This, GameInputArcadeStickState *state); bool (STDMETHODCALLTYPE *GetFlightStickState)( v0_IGameInputReading *This, GameInputFlightStickState *state); bool (STDMETHODCALLTYPE *GetGamepadState)( v0_IGameInputReading *This, GameInputGamepadState *state); bool (STDMETHODCALLTYPE *GetRacingWheelState)( v0_IGameInputReading *This, GameInputRacingWheelState *state); bool (STDMETHODCALLTYPE *GetUiNavigationState)( v0_IGameInputReading *This, GameInputUiNavigationState *state); END_INTERFACE } v0_IGameInputReadingVtbl; interface v0_IGameInputReading { CONST_VTBL v0_IGameInputReadingVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define v0_IGameInputReading_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define v0_IGameInputReading_AddRef(This) (This)->lpVtbl->AddRef(This) #define v0_IGameInputReading_Release(This) (This)->lpVtbl->Release(This) /*** v0_IGameInputReading methods ***/ #define v0_IGameInputReading_GetInputKind(This) (This)->lpVtbl->GetInputKind(This) #define v0_IGameInputReading_GetSequenceNumber(This,kind) (This)->lpVtbl->GetSequenceNumber(This,kind) #define v0_IGameInputReading_GetTimestamp(This) (This)->lpVtbl->GetTimestamp(This) #define v0_IGameInputReading_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device) #define v0_IGameInputReading_GetRawReport(This,report) (This)->lpVtbl->GetRawReport(This,report) #define v0_IGameInputReading_GetControllerAxisCount(This) (This)->lpVtbl->GetControllerAxisCount(This) #define v0_IGameInputReading_GetControllerAxisState(This,count,state) (This)->lpVtbl->GetControllerAxisState(This,count,state) #define v0_IGameInputReading_GetControllerButtonCount(This) (This)->lpVtbl->GetControllerButtonCount(This) #define v0_IGameInputReading_GetControllerButtonState(This,count,state) (This)->lpVtbl->GetControllerButtonState(This,count,state) #define v0_IGameInputReading_GetControllerSwitchCount(This) (This)->lpVtbl->GetControllerSwitchCount(This) #define v0_IGameInputReading_GetControllerSwitchState(This,count,state) (This)->lpVtbl->GetControllerSwitchState(This,count,state) #define v0_IGameInputReading_GetKeyCount(This) (This)->lpVtbl->GetKeyCount(This) #define v0_IGameInputReading_GetKeyState(This,count,state) (This)->lpVtbl->GetKeyState(This,count,state) #define v0_IGameInputReading_GetMouseState(This,state) (This)->lpVtbl->GetMouseState(This,state) #define v0_IGameInputReading_GetTouchCount(This) (This)->lpVtbl->GetTouchCount(This) #define v0_IGameInputReading_GetTouchState(This,count,state) (This)->lpVtbl->GetTouchState(This,count,state) #define v0_IGameInputReading_GetMotionState(This,state) (This)->lpVtbl->GetMotionState(This,state) #define v0_IGameInputReading_GetArcadeStickState(This,state) (This)->lpVtbl->GetArcadeStickState(This,state) #define v0_IGameInputReading_GetFlightStickState(This,state) (This)->lpVtbl->GetFlightStickState(This,state) #define v0_IGameInputReading_GetGamepadState(This,state) (This)->lpVtbl->GetGamepadState(This,state) #define v0_IGameInputReading_GetRacingWheelState(This,state) (This)->lpVtbl->GetRacingWheelState(This,state) #define v0_IGameInputReading_GetUiNavigationState(This,state) (This)->lpVtbl->GetUiNavigationState(This,state) #else /*** IUnknown methods ***/ static inline HRESULT v0_IGameInputReading_QueryInterface(v0_IGameInputReading* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG v0_IGameInputReading_AddRef(v0_IGameInputReading* This) { return This->lpVtbl->AddRef(This); } static inline ULONG v0_IGameInputReading_Release(v0_IGameInputReading* This) { return This->lpVtbl->Release(This); } /*** v0_IGameInputReading methods ***/ static inline GameInputKind v0_IGameInputReading_GetInputKind(v0_IGameInputReading* This) { return This->lpVtbl->GetInputKind(This); } static inline uint64_t v0_IGameInputReading_GetSequenceNumber(v0_IGameInputReading* This,GameInputKind kind) { return This->lpVtbl->GetSequenceNumber(This,kind); } static inline uint64_t v0_IGameInputReading_GetTimestamp(v0_IGameInputReading* This) { return This->lpVtbl->GetTimestamp(This); } static inline void v0_IGameInputReading_GetDevice(v0_IGameInputReading* This,v0_IGameInputDevice **device) { This->lpVtbl->GetDevice(This,device); } static inline bool v0_IGameInputReading_GetRawReport(v0_IGameInputReading* This,IGameInputRawDeviceReport **report) { return This->lpVtbl->GetRawReport(This,report); } static inline uint32_t v0_IGameInputReading_GetControllerAxisCount(v0_IGameInputReading* This) { return This->lpVtbl->GetControllerAxisCount(This); } static inline uint32_t v0_IGameInputReading_GetControllerAxisState(v0_IGameInputReading* This,uint32_t count,float *state) { return This->lpVtbl->GetControllerAxisState(This,count,state); } static inline uint32_t v0_IGameInputReading_GetControllerButtonCount(v0_IGameInputReading* This) { return This->lpVtbl->GetControllerButtonCount(This); } static inline uint32_t v0_IGameInputReading_GetControllerButtonState(v0_IGameInputReading* This,uint32_t count,bool *state) { return This->lpVtbl->GetControllerButtonState(This,count,state); } static inline uint32_t v0_IGameInputReading_GetControllerSwitchCount(v0_IGameInputReading* This) { return This->lpVtbl->GetControllerSwitchCount(This); } static inline uint32_t v0_IGameInputReading_GetControllerSwitchState(v0_IGameInputReading* This,uint32_t count,GameInputSwitchPosition *state) { return This->lpVtbl->GetControllerSwitchState(This,count,state); } static inline uint32_t v0_IGameInputReading_GetKeyCount(v0_IGameInputReading* This) { return This->lpVtbl->GetKeyCount(This); } static inline uint32_t v0_IGameInputReading_GetKeyState(v0_IGameInputReading* This,uint32_t count,GameInputKeyState *state) { return This->lpVtbl->GetKeyState(This,count,state); } static inline bool v0_IGameInputReading_GetMouseState(v0_IGameInputReading* This,v0_GameInputMouseState *state) { return This->lpVtbl->GetMouseState(This,state); } static inline uint32_t v0_IGameInputReading_GetTouchCount(v0_IGameInputReading* This) { return This->lpVtbl->GetTouchCount(This); } static inline uint32_t v0_IGameInputReading_GetTouchState(v0_IGameInputReading* This,uint32_t count,GameInputTouchState *state) { return This->lpVtbl->GetTouchState(This,count,state); } static inline bool v0_IGameInputReading_GetMotionState(v0_IGameInputReading* This,GameInputMotionState *state) { return This->lpVtbl->GetMotionState(This,state); } static inline bool v0_IGameInputReading_GetArcadeStickState(v0_IGameInputReading* This,GameInputArcadeStickState *state) { return This->lpVtbl->GetArcadeStickState(This,state); } static inline bool v0_IGameInputReading_GetFlightStickState(v0_IGameInputReading* This,GameInputFlightStickState *state) { return This->lpVtbl->GetFlightStickState(This,state); } static inline bool v0_IGameInputReading_GetGamepadState(v0_IGameInputReading* This,GameInputGamepadState *state) { return This->lpVtbl->GetGamepadState(This,state); } static inline bool v0_IGameInputReading_GetRacingWheelState(v0_IGameInputReading* This,GameInputRacingWheelState *state) { return This->lpVtbl->GetRacingWheelState(This,state); } static inline bool v0_IGameInputReading_GetUiNavigationState(v0_IGameInputReading* This,GameInputUiNavigationState *state) { return This->lpVtbl->GetUiNavigationState(This,state); } #endif #endif #endif #endif /* __v0_IGameInputReading_INTERFACE_DEFINED__ */ /***************************************************************************** * v1_IGameInputReading interface */ #ifndef __v1_IGameInputReading_INTERFACE_DEFINED__ #define __v1_IGameInputReading_INTERFACE_DEFINED__ DEFINE_GUID(IID_v1_IGameInputReading, 0x86318e60, 0x0b3c, 0x40d6, 0xbe,0xfa, 0xc6,0x2f,0x2d,0x95,0x27,0x24); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("86318e60-0b3c-40d6-befa-c62f2d952724") v1_IGameInputReading : public IUnknown { virtual GameInputKind STDMETHODCALLTYPE GetInputKind( ) = 0; virtual uint64_t STDMETHODCALLTYPE GetTimestamp( ) = 0; virtual void STDMETHODCALLTYPE GetDevice( v1_IGameInputDevice **device) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerAxisCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerAxisState( uint32_t count, float *state) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerButtonCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerButtonState( uint32_t count, bool *state) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerSwitchCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerSwitchState( uint32_t count, GameInputSwitchPosition *state) = 0; virtual uint32_t STDMETHODCALLTYPE GetKeyCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetKeyState( uint32_t count, GameInputKeyState *state) = 0; virtual bool STDMETHODCALLTYPE GetMouseState( v1_GameInputMouseState *state) = 0; virtual bool STDMETHODCALLTYPE GetArcadeStickState( GameInputArcadeStickState *state) = 0; virtual bool STDMETHODCALLTYPE GetFlightStickState( GameInputFlightStickState *state) = 0; virtual bool STDMETHODCALLTYPE GetGamepadState( GameInputGamepadState *state) = 0; virtual bool STDMETHODCALLTYPE GetRacingWheelState( GameInputRacingWheelState *state) = 0; virtual bool STDMETHODCALLTYPE GetUiNavigationState( GameInputUiNavigationState *state) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(v1_IGameInputReading, 0x86318e60, 0x0b3c, 0x40d6, 0xbe,0xfa, 0xc6,0x2f,0x2d,0x95,0x27,0x24) #endif #else typedef struct v1_IGameInputReadingVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( v1_IGameInputReading *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( v1_IGameInputReading *This); ULONG (STDMETHODCALLTYPE *Release)( v1_IGameInputReading *This); /*** v1_IGameInputReading methods ***/ GameInputKind (STDMETHODCALLTYPE *GetInputKind)( v1_IGameInputReading *This); uint64_t (STDMETHODCALLTYPE *GetTimestamp)( v1_IGameInputReading *This); void (STDMETHODCALLTYPE *GetDevice)( v1_IGameInputReading *This, v1_IGameInputDevice **device); uint32_t (STDMETHODCALLTYPE *GetControllerAxisCount)( v1_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetControllerAxisState)( v1_IGameInputReading *This, uint32_t count, float *state); uint32_t (STDMETHODCALLTYPE *GetControllerButtonCount)( v1_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetControllerButtonState)( v1_IGameInputReading *This, uint32_t count, bool *state); uint32_t (STDMETHODCALLTYPE *GetControllerSwitchCount)( v1_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetControllerSwitchState)( v1_IGameInputReading *This, uint32_t count, GameInputSwitchPosition *state); uint32_t (STDMETHODCALLTYPE *GetKeyCount)( v1_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetKeyState)( v1_IGameInputReading *This, uint32_t count, GameInputKeyState *state); bool (STDMETHODCALLTYPE *GetMouseState)( v1_IGameInputReading *This, v1_GameInputMouseState *state); bool (STDMETHODCALLTYPE *GetArcadeStickState)( v1_IGameInputReading *This, GameInputArcadeStickState *state); bool (STDMETHODCALLTYPE *GetFlightStickState)( v1_IGameInputReading *This, GameInputFlightStickState *state); bool (STDMETHODCALLTYPE *GetGamepadState)( v1_IGameInputReading *This, GameInputGamepadState *state); bool (STDMETHODCALLTYPE *GetRacingWheelState)( v1_IGameInputReading *This, GameInputRacingWheelState *state); bool (STDMETHODCALLTYPE *GetUiNavigationState)( v1_IGameInputReading *This, GameInputUiNavigationState *state); END_INTERFACE } v1_IGameInputReadingVtbl; interface v1_IGameInputReading { CONST_VTBL v1_IGameInputReadingVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define v1_IGameInputReading_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define v1_IGameInputReading_AddRef(This) (This)->lpVtbl->AddRef(This) #define v1_IGameInputReading_Release(This) (This)->lpVtbl->Release(This) /*** v1_IGameInputReading methods ***/ #define v1_IGameInputReading_GetInputKind(This) (This)->lpVtbl->GetInputKind(This) #define v1_IGameInputReading_GetTimestamp(This) (This)->lpVtbl->GetTimestamp(This) #define v1_IGameInputReading_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device) #define v1_IGameInputReading_GetControllerAxisCount(This) (This)->lpVtbl->GetControllerAxisCount(This) #define v1_IGameInputReading_GetControllerAxisState(This,count,state) (This)->lpVtbl->GetControllerAxisState(This,count,state) #define v1_IGameInputReading_GetControllerButtonCount(This) (This)->lpVtbl->GetControllerButtonCount(This) #define v1_IGameInputReading_GetControllerButtonState(This,count,state) (This)->lpVtbl->GetControllerButtonState(This,count,state) #define v1_IGameInputReading_GetControllerSwitchCount(This) (This)->lpVtbl->GetControllerSwitchCount(This) #define v1_IGameInputReading_GetControllerSwitchState(This,count,state) (This)->lpVtbl->GetControllerSwitchState(This,count,state) #define v1_IGameInputReading_GetKeyCount(This) (This)->lpVtbl->GetKeyCount(This) #define v1_IGameInputReading_GetKeyState(This,count,state) (This)->lpVtbl->GetKeyState(This,count,state) #define v1_IGameInputReading_GetMouseState(This,state) (This)->lpVtbl->GetMouseState(This,state) #define v1_IGameInputReading_GetArcadeStickState(This,state) (This)->lpVtbl->GetArcadeStickState(This,state) #define v1_IGameInputReading_GetFlightStickState(This,state) (This)->lpVtbl->GetFlightStickState(This,state) #define v1_IGameInputReading_GetGamepadState(This,state) (This)->lpVtbl->GetGamepadState(This,state) #define v1_IGameInputReading_GetRacingWheelState(This,state) (This)->lpVtbl->GetRacingWheelState(This,state) #define v1_IGameInputReading_GetUiNavigationState(This,state) (This)->lpVtbl->GetUiNavigationState(This,state) #else /*** IUnknown methods ***/ static inline HRESULT v1_IGameInputReading_QueryInterface(v1_IGameInputReading* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG v1_IGameInputReading_AddRef(v1_IGameInputReading* This) { return This->lpVtbl->AddRef(This); } static inline ULONG v1_IGameInputReading_Release(v1_IGameInputReading* This) { return This->lpVtbl->Release(This); } /*** v1_IGameInputReading methods ***/ static inline GameInputKind v1_IGameInputReading_GetInputKind(v1_IGameInputReading* This) { return This->lpVtbl->GetInputKind(This); } static inline uint64_t v1_IGameInputReading_GetTimestamp(v1_IGameInputReading* This) { return This->lpVtbl->GetTimestamp(This); } static inline void v1_IGameInputReading_GetDevice(v1_IGameInputReading* This,v1_IGameInputDevice **device) { This->lpVtbl->GetDevice(This,device); } static inline uint32_t v1_IGameInputReading_GetControllerAxisCount(v1_IGameInputReading* This) { return This->lpVtbl->GetControllerAxisCount(This); } static inline uint32_t v1_IGameInputReading_GetControllerAxisState(v1_IGameInputReading* This,uint32_t count,float *state) { return This->lpVtbl->GetControllerAxisState(This,count,state); } static inline uint32_t v1_IGameInputReading_GetControllerButtonCount(v1_IGameInputReading* This) { return This->lpVtbl->GetControllerButtonCount(This); } static inline uint32_t v1_IGameInputReading_GetControllerButtonState(v1_IGameInputReading* This,uint32_t count,bool *state) { return This->lpVtbl->GetControllerButtonState(This,count,state); } static inline uint32_t v1_IGameInputReading_GetControllerSwitchCount(v1_IGameInputReading* This) { return This->lpVtbl->GetControllerSwitchCount(This); } static inline uint32_t v1_IGameInputReading_GetControllerSwitchState(v1_IGameInputReading* This,uint32_t count,GameInputSwitchPosition *state) { return This->lpVtbl->GetControllerSwitchState(This,count,state); } static inline uint32_t v1_IGameInputReading_GetKeyCount(v1_IGameInputReading* This) { return This->lpVtbl->GetKeyCount(This); } static inline uint32_t v1_IGameInputReading_GetKeyState(v1_IGameInputReading* This,uint32_t count,GameInputKeyState *state) { return This->lpVtbl->GetKeyState(This,count,state); } static inline bool v1_IGameInputReading_GetMouseState(v1_IGameInputReading* This,v1_GameInputMouseState *state) { return This->lpVtbl->GetMouseState(This,state); } static inline bool v1_IGameInputReading_GetArcadeStickState(v1_IGameInputReading* This,GameInputArcadeStickState *state) { return This->lpVtbl->GetArcadeStickState(This,state); } static inline bool v1_IGameInputReading_GetFlightStickState(v1_IGameInputReading* This,GameInputFlightStickState *state) { return This->lpVtbl->GetFlightStickState(This,state); } static inline bool v1_IGameInputReading_GetGamepadState(v1_IGameInputReading* This,GameInputGamepadState *state) { return This->lpVtbl->GetGamepadState(This,state); } static inline bool v1_IGameInputReading_GetRacingWheelState(v1_IGameInputReading* This,GameInputRacingWheelState *state) { return This->lpVtbl->GetRacingWheelState(This,state); } static inline bool v1_IGameInputReading_GetUiNavigationState(v1_IGameInputReading* This,GameInputUiNavigationState *state) { return This->lpVtbl->GetUiNavigationState(This,state); } #endif #endif #endif #endif /* __v1_IGameInputReading_INTERFACE_DEFINED__ */ /***************************************************************************** * v2_IGameInputReading interface */ #ifndef __v2_IGameInputReading_INTERFACE_DEFINED__ #define __v2_IGameInputReading_INTERFACE_DEFINED__ DEFINE_GUID(IID_v2_IGameInputReading, 0x65f06483, 0xdb76, 0x40b7, 0xb7,0x45, 0xf5,0x91,0xfa,0xe5,0x5f,0xc9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("65f06483-db76-40b7-b745-f591fae55fc9") v2_IGameInputReading : public IUnknown { virtual GameInputKind STDMETHODCALLTYPE GetInputKind( ) = 0; virtual uint64_t STDMETHODCALLTYPE GetTimestamp( ) = 0; virtual void STDMETHODCALLTYPE GetDevice( v2_IGameInputDevice **device) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerAxisCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerAxisState( uint32_t count, float *state) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerButtonCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerButtonState( uint32_t count, bool *state) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerSwitchCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetControllerSwitchState( uint32_t count, GameInputSwitchPosition *state) = 0; virtual uint32_t STDMETHODCALLTYPE GetKeyCount( ) = 0; virtual uint32_t STDMETHODCALLTYPE GetKeyState( uint32_t count, GameInputKeyState *state) = 0; virtual bool STDMETHODCALLTYPE GetMouseState( v2_GameInputMouseState *state) = 0; virtual bool STDMETHODCALLTYPE GetSensorsState( GameInputSensorsState *state) = 0; virtual bool STDMETHODCALLTYPE GetArcadeStickState( GameInputArcadeStickState *state) = 0; virtual bool STDMETHODCALLTYPE GetFlightStickState( GameInputFlightStickState *state) = 0; virtual bool STDMETHODCALLTYPE GetGamepadState( GameInputGamepadState *state) = 0; virtual bool STDMETHODCALLTYPE GetRacingWheelState( GameInputRacingWheelState *state) = 0; virtual bool STDMETHODCALLTYPE GetUiNavigationState( GameInputUiNavigationState *state) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(v2_IGameInputReading, 0x65f06483, 0xdb76, 0x40b7, 0xb7,0x45, 0xf5,0x91,0xfa,0xe5,0x5f,0xc9) #endif #else typedef struct v2_IGameInputReadingVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( v2_IGameInputReading *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( v2_IGameInputReading *This); ULONG (STDMETHODCALLTYPE *Release)( v2_IGameInputReading *This); /*** v2_IGameInputReading methods ***/ GameInputKind (STDMETHODCALLTYPE *GetInputKind)( v2_IGameInputReading *This); uint64_t (STDMETHODCALLTYPE *GetTimestamp)( v2_IGameInputReading *This); void (STDMETHODCALLTYPE *GetDevice)( v2_IGameInputReading *This, v2_IGameInputDevice **device); uint32_t (STDMETHODCALLTYPE *GetControllerAxisCount)( v2_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetControllerAxisState)( v2_IGameInputReading *This, uint32_t count, float *state); uint32_t (STDMETHODCALLTYPE *GetControllerButtonCount)( v2_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetControllerButtonState)( v2_IGameInputReading *This, uint32_t count, bool *state); uint32_t (STDMETHODCALLTYPE *GetControllerSwitchCount)( v2_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetControllerSwitchState)( v2_IGameInputReading *This, uint32_t count, GameInputSwitchPosition *state); uint32_t (STDMETHODCALLTYPE *GetKeyCount)( v2_IGameInputReading *This); uint32_t (STDMETHODCALLTYPE *GetKeyState)( v2_IGameInputReading *This, uint32_t count, GameInputKeyState *state); bool (STDMETHODCALLTYPE *GetMouseState)( v2_IGameInputReading *This, v2_GameInputMouseState *state); bool (STDMETHODCALLTYPE *GetSensorsState)( v2_IGameInputReading *This, GameInputSensorsState *state); bool (STDMETHODCALLTYPE *GetArcadeStickState)( v2_IGameInputReading *This, GameInputArcadeStickState *state); bool (STDMETHODCALLTYPE *GetFlightStickState)( v2_IGameInputReading *This, GameInputFlightStickState *state); bool (STDMETHODCALLTYPE *GetGamepadState)( v2_IGameInputReading *This, GameInputGamepadState *state); bool (STDMETHODCALLTYPE *GetRacingWheelState)( v2_IGameInputReading *This, GameInputRacingWheelState *state); bool (STDMETHODCALLTYPE *GetUiNavigationState)( v2_IGameInputReading *This, GameInputUiNavigationState *state); END_INTERFACE } v2_IGameInputReadingVtbl; interface v2_IGameInputReading { CONST_VTBL v2_IGameInputReadingVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define v2_IGameInputReading_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define v2_IGameInputReading_AddRef(This) (This)->lpVtbl->AddRef(This) #define v2_IGameInputReading_Release(This) (This)->lpVtbl->Release(This) /*** v2_IGameInputReading methods ***/ #define v2_IGameInputReading_GetInputKind(This) (This)->lpVtbl->GetInputKind(This) #define v2_IGameInputReading_GetTimestamp(This) (This)->lpVtbl->GetTimestamp(This) #define v2_IGameInputReading_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device) #define v2_IGameInputReading_GetControllerAxisCount(This) (This)->lpVtbl->GetControllerAxisCount(This) #define v2_IGameInputReading_GetControllerAxisState(This,count,state) (This)->lpVtbl->GetControllerAxisState(This,count,state) #define v2_IGameInputReading_GetControllerButtonCount(This) (This)->lpVtbl->GetControllerButtonCount(This) #define v2_IGameInputReading_GetControllerButtonState(This,count,state) (This)->lpVtbl->GetControllerButtonState(This,count,state) #define v2_IGameInputReading_GetControllerSwitchCount(This) (This)->lpVtbl->GetControllerSwitchCount(This) #define v2_IGameInputReading_GetControllerSwitchState(This,count,state) (This)->lpVtbl->GetControllerSwitchState(This,count,state) #define v2_IGameInputReading_GetKeyCount(This) (This)->lpVtbl->GetKeyCount(This) #define v2_IGameInputReading_GetKeyState(This,count,state) (This)->lpVtbl->GetKeyState(This,count,state) #define v2_IGameInputReading_GetMouseState(This,state) (This)->lpVtbl->GetMouseState(This,state) #define v2_IGameInputReading_GetSensorsState(This,state) (This)->lpVtbl->GetSensorsState(This,state) #define v2_IGameInputReading_GetArcadeStickState(This,state) (This)->lpVtbl->GetArcadeStickState(This,state) #define v2_IGameInputReading_GetFlightStickState(This,state) (This)->lpVtbl->GetFlightStickState(This,state) #define v2_IGameInputReading_GetGamepadState(This,state) (This)->lpVtbl->GetGamepadState(This,state) #define v2_IGameInputReading_GetRacingWheelState(This,state) (This)->lpVtbl->GetRacingWheelState(This,state) #define v2_IGameInputReading_GetUiNavigationState(This,state) (This)->lpVtbl->GetUiNavigationState(This,state) #else /*** IUnknown methods ***/ static inline HRESULT v2_IGameInputReading_QueryInterface(v2_IGameInputReading* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG v2_IGameInputReading_AddRef(v2_IGameInputReading* This) { return This->lpVtbl->AddRef(This); } static inline ULONG v2_IGameInputReading_Release(v2_IGameInputReading* This) { return This->lpVtbl->Release(This); } /*** v2_IGameInputReading methods ***/ static inline GameInputKind v2_IGameInputReading_GetInputKind(v2_IGameInputReading* This) { return This->lpVtbl->GetInputKind(This); } static inline uint64_t v2_IGameInputReading_GetTimestamp(v2_IGameInputReading* This) { return This->lpVtbl->GetTimestamp(This); } static inline void v2_IGameInputReading_GetDevice(v2_IGameInputReading* This,v2_IGameInputDevice **device) { This->lpVtbl->GetDevice(This,device); } static inline uint32_t v2_IGameInputReading_GetControllerAxisCount(v2_IGameInputReading* This) { return This->lpVtbl->GetControllerAxisCount(This); } static inline uint32_t v2_IGameInputReading_GetControllerAxisState(v2_IGameInputReading* This,uint32_t count,float *state) { return This->lpVtbl->GetControllerAxisState(This,count,state); } static inline uint32_t v2_IGameInputReading_GetControllerButtonCount(v2_IGameInputReading* This) { return This->lpVtbl->GetControllerButtonCount(This); } static inline uint32_t v2_IGameInputReading_GetControllerButtonState(v2_IGameInputReading* This,uint32_t count,bool *state) { return This->lpVtbl->GetControllerButtonState(This,count,state); } static inline uint32_t v2_IGameInputReading_GetControllerSwitchCount(v2_IGameInputReading* This) { return This->lpVtbl->GetControllerSwitchCount(This); } static inline uint32_t v2_IGameInputReading_GetControllerSwitchState(v2_IGameInputReading* This,uint32_t count,GameInputSwitchPosition *state) { return This->lpVtbl->GetControllerSwitchState(This,count,state); } static inline uint32_t v2_IGameInputReading_GetKeyCount(v2_IGameInputReading* This) { return This->lpVtbl->GetKeyCount(This); } static inline uint32_t v2_IGameInputReading_GetKeyState(v2_IGameInputReading* This,uint32_t count,GameInputKeyState *state) { return This->lpVtbl->GetKeyState(This,count,state); } static inline bool v2_IGameInputReading_GetMouseState(v2_IGameInputReading* This,v2_GameInputMouseState *state) { return This->lpVtbl->GetMouseState(This,state); } static inline bool v2_IGameInputReading_GetSensorsState(v2_IGameInputReading* This,GameInputSensorsState *state) { return This->lpVtbl->GetSensorsState(This,state); } static inline bool v2_IGameInputReading_GetArcadeStickState(v2_IGameInputReading* This,GameInputArcadeStickState *state) { return This->lpVtbl->GetArcadeStickState(This,state); } static inline bool v2_IGameInputReading_GetFlightStickState(v2_IGameInputReading* This,GameInputFlightStickState *state) { return This->lpVtbl->GetFlightStickState(This,state); } static inline bool v2_IGameInputReading_GetGamepadState(v2_IGameInputReading* This,GameInputGamepadState *state) { return This->lpVtbl->GetGamepadState(This,state); } static inline bool v2_IGameInputReading_GetRacingWheelState(v2_IGameInputReading* This,GameInputRacingWheelState *state) { return This->lpVtbl->GetRacingWheelState(This,state); } static inline bool v2_IGameInputReading_GetUiNavigationState(v2_IGameInputReading* This,GameInputUiNavigationState *state) { return This->lpVtbl->GetUiNavigationState(This,state); } #endif #endif #endif #endif /* __v2_IGameInputReading_INTERFACE_DEFINED__ */ /***************************************************************************** * v0_IGameInputDevice interface */ #ifndef __v0_IGameInputDevice_INTERFACE_DEFINED__ #define __v0_IGameInputDevice_INTERFACE_DEFINED__ DEFINE_GUID(IID_v0_IGameInputDevice, 0x31dd86fb, 0x4c1b, 0x408a, 0x86,0x8f, 0x43,0x9b,0x3c,0xd4,0x71,0x25); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("31dd86fb-4c1b-408a-868f-439b3cd47125") v0_IGameInputDevice : public IUnknown { virtual const v0_GameInputDeviceInfo * STDMETHODCALLTYPE GetDeviceInfo( ) = 0; virtual GameInputDeviceStatus STDMETHODCALLTYPE GetDeviceStatus( ) = 0; virtual void STDMETHODCALLTYPE GetBatteryState( GameInputBatteryState *state) = 0; virtual HRESULT STDMETHODCALLTYPE CreateForceFeedbackEffect( uint32_t motor, const GameInputForceFeedbackParams *params, v0_IGameInputForceFeedbackEffect **effect) = 0; virtual bool STDMETHODCALLTYPE IsForceFeedbackMotorPoweredOn( uint32_t motor) = 0; virtual void STDMETHODCALLTYPE SetForceFeedbackMotorGain( uint32_t motor, float gain) = 0; virtual HRESULT STDMETHODCALLTYPE SetHapticMotorState( uint32_t motor, const GameInputHapticFeedbackParams *params) = 0; virtual void STDMETHODCALLTYPE SetRumbleState( const GameInputRumbleParams *params) = 0; virtual void STDMETHODCALLTYPE SetInputSynchronizationState( bool enabled) = 0; virtual void STDMETHODCALLTYPE SendInputSynchronizationHint( ) = 0; virtual void STDMETHODCALLTYPE PowerOff( ) = 0; virtual HRESULT STDMETHODCALLTYPE CreateRawDeviceReport( uint32_t id, GameInputRawDeviceReportKind kind, IGameInputRawDeviceReport **report) = 0; virtual HRESULT STDMETHODCALLTYPE GetRawDeviceFeature( uint32_t id, IGameInputRawDeviceReport **report) = 0; virtual HRESULT STDMETHODCALLTYPE SetRawDeviceFeature( IGameInputRawDeviceReport *report) = 0; virtual HRESULT STDMETHODCALLTYPE SendRawDeviceOutput( IGameInputRawDeviceReport *report) = 0; virtual HRESULT STDMETHODCALLTYPE SendRawDeviceOutputWithResponse( IGameInputRawDeviceReport *request, IGameInputRawDeviceReport **reply) = 0; virtual HRESULT STDMETHODCALLTYPE ExecuteRawDeviceIoControl( uint32_t code, size_t in_size, const void *input, size_t out_size, void *output, size_t *size) = 0; virtual bool STDMETHODCALLTYPE AcquireExclusiveRawDeviceAccess( uint64_t timeout_ms) = 0; virtual void STDMETHODCALLTYPE ReleaseExclusiveRawDeviceAccess( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(v0_IGameInputDevice, 0x31dd86fb, 0x4c1b, 0x408a, 0x86,0x8f, 0x43,0x9b,0x3c,0xd4,0x71,0x25) #endif #else typedef struct v0_IGameInputDeviceVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( v0_IGameInputDevice *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( v0_IGameInputDevice *This); ULONG (STDMETHODCALLTYPE *Release)( v0_IGameInputDevice *This); /*** v0_IGameInputDevice methods ***/ const v0_GameInputDeviceInfo * (STDMETHODCALLTYPE *GetDeviceInfo)( v0_IGameInputDevice *This); GameInputDeviceStatus (STDMETHODCALLTYPE *GetDeviceStatus)( v0_IGameInputDevice *This); void (STDMETHODCALLTYPE *GetBatteryState)( v0_IGameInputDevice *This, GameInputBatteryState *state); HRESULT (STDMETHODCALLTYPE *CreateForceFeedbackEffect)( v0_IGameInputDevice *This, uint32_t motor, const GameInputForceFeedbackParams *params, v0_IGameInputForceFeedbackEffect **effect); bool (STDMETHODCALLTYPE *IsForceFeedbackMotorPoweredOn)( v0_IGameInputDevice *This, uint32_t motor); void (STDMETHODCALLTYPE *SetForceFeedbackMotorGain)( v0_IGameInputDevice *This, uint32_t motor, float gain); HRESULT (STDMETHODCALLTYPE *SetHapticMotorState)( v0_IGameInputDevice *This, uint32_t motor, const GameInputHapticFeedbackParams *params); void (STDMETHODCALLTYPE *SetRumbleState)( v0_IGameInputDevice *This, const GameInputRumbleParams *params); void (STDMETHODCALLTYPE *SetInputSynchronizationState)( v0_IGameInputDevice *This, bool enabled); void (STDMETHODCALLTYPE *SendInputSynchronizationHint)( v0_IGameInputDevice *This); void (STDMETHODCALLTYPE *PowerOff)( v0_IGameInputDevice *This); HRESULT (STDMETHODCALLTYPE *CreateRawDeviceReport)( v0_IGameInputDevice *This, uint32_t id, GameInputRawDeviceReportKind kind, IGameInputRawDeviceReport **report); HRESULT (STDMETHODCALLTYPE *GetRawDeviceFeature)( v0_IGameInputDevice *This, uint32_t id, IGameInputRawDeviceReport **report); HRESULT (STDMETHODCALLTYPE *SetRawDeviceFeature)( v0_IGameInputDevice *This, IGameInputRawDeviceReport *report); HRESULT (STDMETHODCALLTYPE *SendRawDeviceOutput)( v0_IGameInputDevice *This, IGameInputRawDeviceReport *report); HRESULT (STDMETHODCALLTYPE *SendRawDeviceOutputWithResponse)( v0_IGameInputDevice *This, IGameInputRawDeviceReport *request, IGameInputRawDeviceReport **reply); HRESULT (STDMETHODCALLTYPE *ExecuteRawDeviceIoControl)( v0_IGameInputDevice *This, uint32_t code, size_t in_size, const void *input, size_t out_size, void *output, size_t *size); bool (STDMETHODCALLTYPE *AcquireExclusiveRawDeviceAccess)( v0_IGameInputDevice *This, uint64_t timeout_ms); void (STDMETHODCALLTYPE *ReleaseExclusiveRawDeviceAccess)( v0_IGameInputDevice *This); END_INTERFACE } v0_IGameInputDeviceVtbl; interface v0_IGameInputDevice { CONST_VTBL v0_IGameInputDeviceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define v0_IGameInputDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define v0_IGameInputDevice_AddRef(This) (This)->lpVtbl->AddRef(This) #define v0_IGameInputDevice_Release(This) (This)->lpVtbl->Release(This) /*** v0_IGameInputDevice methods ***/ #define v0_IGameInputDevice_GetDeviceInfo(This) (This)->lpVtbl->GetDeviceInfo(This) #define v0_IGameInputDevice_GetDeviceStatus(This) (This)->lpVtbl->GetDeviceStatus(This) #define v0_IGameInputDevice_GetBatteryState(This,state) (This)->lpVtbl->GetBatteryState(This,state) #define v0_IGameInputDevice_CreateForceFeedbackEffect(This,motor,params,effect) (This)->lpVtbl->CreateForceFeedbackEffect(This,motor,params,effect) #define v0_IGameInputDevice_IsForceFeedbackMotorPoweredOn(This,motor) (This)->lpVtbl->IsForceFeedbackMotorPoweredOn(This,motor) #define v0_IGameInputDevice_SetForceFeedbackMotorGain(This,motor,gain) (This)->lpVtbl->SetForceFeedbackMotorGain(This,motor,gain) #define v0_IGameInputDevice_SetHapticMotorState(This,motor,params) (This)->lpVtbl->SetHapticMotorState(This,motor,params) #define v0_IGameInputDevice_SetRumbleState(This,params) (This)->lpVtbl->SetRumbleState(This,params) #define v0_IGameInputDevice_SetInputSynchronizationState(This,enabled) (This)->lpVtbl->SetInputSynchronizationState(This,enabled) #define v0_IGameInputDevice_SendInputSynchronizationHint(This) (This)->lpVtbl->SendInputSynchronizationHint(This) #define v0_IGameInputDevice_PowerOff(This) (This)->lpVtbl->PowerOff(This) #define v0_IGameInputDevice_CreateRawDeviceReport(This,id,kind,report) (This)->lpVtbl->CreateRawDeviceReport(This,id,kind,report) #define v0_IGameInputDevice_GetRawDeviceFeature(This,id,report) (This)->lpVtbl->GetRawDeviceFeature(This,id,report) #define v0_IGameInputDevice_SetRawDeviceFeature(This,report) (This)->lpVtbl->SetRawDeviceFeature(This,report) #define v0_IGameInputDevice_SendRawDeviceOutput(This,report) (This)->lpVtbl->SendRawDeviceOutput(This,report) #define v0_IGameInputDevice_SendRawDeviceOutputWithResponse(This,request,reply) (This)->lpVtbl->SendRawDeviceOutputWithResponse(This,request,reply) #define v0_IGameInputDevice_ExecuteRawDeviceIoControl(This,code,in_size,input,out_size,output,size) (This)->lpVtbl->ExecuteRawDeviceIoControl(This,code,in_size,input,out_size,output,size) #define v0_IGameInputDevice_AcquireExclusiveRawDeviceAccess(This,timeout_ms) (This)->lpVtbl->AcquireExclusiveRawDeviceAccess(This,timeout_ms) #define v0_IGameInputDevice_ReleaseExclusiveRawDeviceAccess(This) (This)->lpVtbl->ReleaseExclusiveRawDeviceAccess(This) #else /*** IUnknown methods ***/ static inline HRESULT v0_IGameInputDevice_QueryInterface(v0_IGameInputDevice* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG v0_IGameInputDevice_AddRef(v0_IGameInputDevice* This) { return This->lpVtbl->AddRef(This); } static inline ULONG v0_IGameInputDevice_Release(v0_IGameInputDevice* This) { return This->lpVtbl->Release(This); } /*** v0_IGameInputDevice methods ***/ static inline const v0_GameInputDeviceInfo * v0_IGameInputDevice_GetDeviceInfo(v0_IGameInputDevice* This) { return This->lpVtbl->GetDeviceInfo(This); } static inline GameInputDeviceStatus v0_IGameInputDevice_GetDeviceStatus(v0_IGameInputDevice* This) { return This->lpVtbl->GetDeviceStatus(This); } static inline void v0_IGameInputDevice_GetBatteryState(v0_IGameInputDevice* This,GameInputBatteryState *state) { This->lpVtbl->GetBatteryState(This,state); } static inline HRESULT v0_IGameInputDevice_CreateForceFeedbackEffect(v0_IGameInputDevice* This,uint32_t motor,const GameInputForceFeedbackParams *params,v0_IGameInputForceFeedbackEffect **effect) { return This->lpVtbl->CreateForceFeedbackEffect(This,motor,params,effect); } static inline bool v0_IGameInputDevice_IsForceFeedbackMotorPoweredOn(v0_IGameInputDevice* This,uint32_t motor) { return This->lpVtbl->IsForceFeedbackMotorPoweredOn(This,motor); } static inline void v0_IGameInputDevice_SetForceFeedbackMotorGain(v0_IGameInputDevice* This,uint32_t motor,float gain) { This->lpVtbl->SetForceFeedbackMotorGain(This,motor,gain); } static inline HRESULT v0_IGameInputDevice_SetHapticMotorState(v0_IGameInputDevice* This,uint32_t motor,const GameInputHapticFeedbackParams *params) { return This->lpVtbl->SetHapticMotorState(This,motor,params); } static inline void v0_IGameInputDevice_SetRumbleState(v0_IGameInputDevice* This,const GameInputRumbleParams *params) { This->lpVtbl->SetRumbleState(This,params); } static inline void v0_IGameInputDevice_SetInputSynchronizationState(v0_IGameInputDevice* This,bool enabled) { This->lpVtbl->SetInputSynchronizationState(This,enabled); } static inline void v0_IGameInputDevice_SendInputSynchronizationHint(v0_IGameInputDevice* This) { This->lpVtbl->SendInputSynchronizationHint(This); } static inline void v0_IGameInputDevice_PowerOff(v0_IGameInputDevice* This) { This->lpVtbl->PowerOff(This); } static inline HRESULT v0_IGameInputDevice_CreateRawDeviceReport(v0_IGameInputDevice* This,uint32_t id,GameInputRawDeviceReportKind kind,IGameInputRawDeviceReport **report) { return This->lpVtbl->CreateRawDeviceReport(This,id,kind,report); } static inline HRESULT v0_IGameInputDevice_GetRawDeviceFeature(v0_IGameInputDevice* This,uint32_t id,IGameInputRawDeviceReport **report) { return This->lpVtbl->GetRawDeviceFeature(This,id,report); } static inline HRESULT v0_IGameInputDevice_SetRawDeviceFeature(v0_IGameInputDevice* This,IGameInputRawDeviceReport *report) { return This->lpVtbl->SetRawDeviceFeature(This,report); } static inline HRESULT v0_IGameInputDevice_SendRawDeviceOutput(v0_IGameInputDevice* This,IGameInputRawDeviceReport *report) { return This->lpVtbl->SendRawDeviceOutput(This,report); } static inline HRESULT v0_IGameInputDevice_SendRawDeviceOutputWithResponse(v0_IGameInputDevice* This,IGameInputRawDeviceReport *request,IGameInputRawDeviceReport **reply) { return This->lpVtbl->SendRawDeviceOutputWithResponse(This,request,reply); } static inline HRESULT v0_IGameInputDevice_ExecuteRawDeviceIoControl(v0_IGameInputDevice* This,uint32_t code,size_t in_size,const void *input,size_t out_size,void *output,size_t *size) { return This->lpVtbl->ExecuteRawDeviceIoControl(This,code,in_size,input,out_size,output,size); } static inline bool v0_IGameInputDevice_AcquireExclusiveRawDeviceAccess(v0_IGameInputDevice* This,uint64_t timeout_ms) { return This->lpVtbl->AcquireExclusiveRawDeviceAccess(This,timeout_ms); } static inline void v0_IGameInputDevice_ReleaseExclusiveRawDeviceAccess(v0_IGameInputDevice* This) { This->lpVtbl->ReleaseExclusiveRawDeviceAccess(This); } #endif #endif #endif #endif /* __v0_IGameInputDevice_INTERFACE_DEFINED__ */ /***************************************************************************** * v1_IGameInputDevice interface */ #ifndef __v1_IGameInputDevice_INTERFACE_DEFINED__ #define __v1_IGameInputDevice_INTERFACE_DEFINED__ DEFINE_GUID(IID_v1_IGameInputDevice, 0xb169652a, 0x4a32, 0x40d7, 0x9f,0xa9, 0x90,0x59,0x97,0x95,0x25,0x16); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("b169652a-4a32-40d7-9fa9-905997952516") v1_IGameInputDevice : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetDeviceInfo( const v1_GameInputDeviceInfo **info) = 0; virtual GameInputDeviceStatus STDMETHODCALLTYPE GetDeviceStatus( ) = 0; virtual HRESULT STDMETHODCALLTYPE CreateForceFeedbackEffect( uint32_t motor, const GameInputForceFeedbackParams *params, v0_IGameInputForceFeedbackEffect **effect) = 0; virtual bool STDMETHODCALLTYPE IsForceFeedbackMotorPoweredOn( uint32_t motor) = 0; virtual void STDMETHODCALLTYPE SetForceFeedbackMotorGain( uint32_t motor, float gain) = 0; virtual void STDMETHODCALLTYPE SetRumbleState( const GameInputRumbleParams *params) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(v1_IGameInputDevice, 0xb169652a, 0x4a32, 0x40d7, 0x9f,0xa9, 0x90,0x59,0x97,0x95,0x25,0x16) #endif #else typedef struct v1_IGameInputDeviceVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( v1_IGameInputDevice *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( v1_IGameInputDevice *This); ULONG (STDMETHODCALLTYPE *Release)( v1_IGameInputDevice *This); /*** v1_IGameInputDevice methods ***/ HRESULT (STDMETHODCALLTYPE *GetDeviceInfo)( v1_IGameInputDevice *This, const v1_GameInputDeviceInfo **info); GameInputDeviceStatus (STDMETHODCALLTYPE *GetDeviceStatus)( v1_IGameInputDevice *This); HRESULT (STDMETHODCALLTYPE *CreateForceFeedbackEffect)( v1_IGameInputDevice *This, uint32_t motor, const GameInputForceFeedbackParams *params, v0_IGameInputForceFeedbackEffect **effect); bool (STDMETHODCALLTYPE *IsForceFeedbackMotorPoweredOn)( v1_IGameInputDevice *This, uint32_t motor); void (STDMETHODCALLTYPE *SetForceFeedbackMotorGain)( v1_IGameInputDevice *This, uint32_t motor, float gain); void (STDMETHODCALLTYPE *SetRumbleState)( v1_IGameInputDevice *This, const GameInputRumbleParams *params); END_INTERFACE } v1_IGameInputDeviceVtbl; interface v1_IGameInputDevice { CONST_VTBL v1_IGameInputDeviceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define v1_IGameInputDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define v1_IGameInputDevice_AddRef(This) (This)->lpVtbl->AddRef(This) #define v1_IGameInputDevice_Release(This) (This)->lpVtbl->Release(This) /*** v1_IGameInputDevice methods ***/ #define v1_IGameInputDevice_GetDeviceInfo(This,info) (This)->lpVtbl->GetDeviceInfo(This,info) #define v1_IGameInputDevice_GetDeviceStatus(This) (This)->lpVtbl->GetDeviceStatus(This) #define v1_IGameInputDevice_CreateForceFeedbackEffect(This,motor,params,effect) (This)->lpVtbl->CreateForceFeedbackEffect(This,motor,params,effect) #define v1_IGameInputDevice_IsForceFeedbackMotorPoweredOn(This,motor) (This)->lpVtbl->IsForceFeedbackMotorPoweredOn(This,motor) #define v1_IGameInputDevice_SetForceFeedbackMotorGain(This,motor,gain) (This)->lpVtbl->SetForceFeedbackMotorGain(This,motor,gain) #define v1_IGameInputDevice_SetRumbleState(This,params) (This)->lpVtbl->SetRumbleState(This,params) #else /*** IUnknown methods ***/ static inline HRESULT v1_IGameInputDevice_QueryInterface(v1_IGameInputDevice* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG v1_IGameInputDevice_AddRef(v1_IGameInputDevice* This) { return This->lpVtbl->AddRef(This); } static inline ULONG v1_IGameInputDevice_Release(v1_IGameInputDevice* This) { return This->lpVtbl->Release(This); } /*** v1_IGameInputDevice methods ***/ static inline HRESULT v1_IGameInputDevice_GetDeviceInfo(v1_IGameInputDevice* This,const v1_GameInputDeviceInfo **info) { return This->lpVtbl->GetDeviceInfo(This,info); } static inline GameInputDeviceStatus v1_IGameInputDevice_GetDeviceStatus(v1_IGameInputDevice* This) { return This->lpVtbl->GetDeviceStatus(This); } static inline HRESULT v1_IGameInputDevice_CreateForceFeedbackEffect(v1_IGameInputDevice* This,uint32_t motor,const GameInputForceFeedbackParams *params,v0_IGameInputForceFeedbackEffect **effect) { return This->lpVtbl->CreateForceFeedbackEffect(This,motor,params,effect); } static inline bool v1_IGameInputDevice_IsForceFeedbackMotorPoweredOn(v1_IGameInputDevice* This,uint32_t motor) { return This->lpVtbl->IsForceFeedbackMotorPoweredOn(This,motor); } static inline void v1_IGameInputDevice_SetForceFeedbackMotorGain(v1_IGameInputDevice* This,uint32_t motor,float gain) { This->lpVtbl->SetForceFeedbackMotorGain(This,motor,gain); } static inline void v1_IGameInputDevice_SetRumbleState(v1_IGameInputDevice* This,const GameInputRumbleParams *params) { This->lpVtbl->SetRumbleState(This,params); } #endif #endif #endif #endif /* __v1_IGameInputDevice_INTERFACE_DEFINED__ */ /***************************************************************************** * v2_IGameInputDevice interface */ #ifndef __v2_IGameInputDevice_INTERFACE_DEFINED__ #define __v2_IGameInputDevice_INTERFACE_DEFINED__ DEFINE_GUID(IID_v2_IGameInputDevice, 0x39a0c9f2, 0xf055, 0x4089, 0x96,0xe7, 0x25,0xb2,0x75,0x6d,0x30,0x77); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("39a0c9f2-f055-4089-96e7-25b2756d3077") v2_IGameInputDevice : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetDeviceInfo( const v2_GameInputDeviceInfo **info) = 0; virtual HRESULT STDMETHODCALLTYPE GetHapticInfo( GameInputHapticInfo *info) = 0; virtual GameInputDeviceStatus STDMETHODCALLTYPE GetDeviceStatus( ) = 0; virtual HRESULT STDMETHODCALLTYPE CreateForceFeedbackEffect( uint32_t motor, const GameInputForceFeedbackParams *params, v2_IGameInputForceFeedbackEffect **effect) = 0; virtual bool STDMETHODCALLTYPE IsForceFeedbackMotorPoweredOn( uint32_t motor) = 0; virtual void STDMETHODCALLTYPE SetForceFeedbackMotorGain( uint32_t motor, float gain) = 0; virtual void STDMETHODCALLTYPE SetRumbleState( const GameInputRumbleParams *params) = 0; virtual HRESULT STDMETHODCALLTYPE DirectInputEscape( uint32_t command, const void *input, uint32_t in_size, void *output, uint32_t out_size, uint32_t *size) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(v2_IGameInputDevice, 0x39a0c9f2, 0xf055, 0x4089, 0x96,0xe7, 0x25,0xb2,0x75,0x6d,0x30,0x77) #endif #else typedef struct v2_IGameInputDeviceVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( v2_IGameInputDevice *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( v2_IGameInputDevice *This); ULONG (STDMETHODCALLTYPE *Release)( v2_IGameInputDevice *This); /*** v2_IGameInputDevice methods ***/ HRESULT (STDMETHODCALLTYPE *GetDeviceInfo)( v2_IGameInputDevice *This, const v2_GameInputDeviceInfo **info); HRESULT (STDMETHODCALLTYPE *GetHapticInfo)( v2_IGameInputDevice *This, GameInputHapticInfo *info); GameInputDeviceStatus (STDMETHODCALLTYPE *GetDeviceStatus)( v2_IGameInputDevice *This); HRESULT (STDMETHODCALLTYPE *CreateForceFeedbackEffect)( v2_IGameInputDevice *This, uint32_t motor, const GameInputForceFeedbackParams *params, v2_IGameInputForceFeedbackEffect **effect); bool (STDMETHODCALLTYPE *IsForceFeedbackMotorPoweredOn)( v2_IGameInputDevice *This, uint32_t motor); void (STDMETHODCALLTYPE *SetForceFeedbackMotorGain)( v2_IGameInputDevice *This, uint32_t motor, float gain); void (STDMETHODCALLTYPE *SetRumbleState)( v2_IGameInputDevice *This, const GameInputRumbleParams *params); HRESULT (STDMETHODCALLTYPE *DirectInputEscape)( v2_IGameInputDevice *This, uint32_t command, const void *input, uint32_t in_size, void *output, uint32_t out_size, uint32_t *size); END_INTERFACE } v2_IGameInputDeviceVtbl; interface v2_IGameInputDevice { CONST_VTBL v2_IGameInputDeviceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define v2_IGameInputDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define v2_IGameInputDevice_AddRef(This) (This)->lpVtbl->AddRef(This) #define v2_IGameInputDevice_Release(This) (This)->lpVtbl->Release(This) /*** v2_IGameInputDevice methods ***/ #define v2_IGameInputDevice_GetDeviceInfo(This,info) (This)->lpVtbl->GetDeviceInfo(This,info) #define v2_IGameInputDevice_GetHapticInfo(This,info) (This)->lpVtbl->GetHapticInfo(This,info) #define v2_IGameInputDevice_GetDeviceStatus(This) (This)->lpVtbl->GetDeviceStatus(This) #define v2_IGameInputDevice_CreateForceFeedbackEffect(This,motor,params,effect) (This)->lpVtbl->CreateForceFeedbackEffect(This,motor,params,effect) #define v2_IGameInputDevice_IsForceFeedbackMotorPoweredOn(This,motor) (This)->lpVtbl->IsForceFeedbackMotorPoweredOn(This,motor) #define v2_IGameInputDevice_SetForceFeedbackMotorGain(This,motor,gain) (This)->lpVtbl->SetForceFeedbackMotorGain(This,motor,gain) #define v2_IGameInputDevice_SetRumbleState(This,params) (This)->lpVtbl->SetRumbleState(This,params) #define v2_IGameInputDevice_DirectInputEscape(This,command,input,in_size,output,out_size,size) (This)->lpVtbl->DirectInputEscape(This,command,input,in_size,output,out_size,size) #else /*** IUnknown methods ***/ static inline HRESULT v2_IGameInputDevice_QueryInterface(v2_IGameInputDevice* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG v2_IGameInputDevice_AddRef(v2_IGameInputDevice* This) { return This->lpVtbl->AddRef(This); } static inline ULONG v2_IGameInputDevice_Release(v2_IGameInputDevice* This) { return This->lpVtbl->Release(This); } /*** v2_IGameInputDevice methods ***/ static inline HRESULT v2_IGameInputDevice_GetDeviceInfo(v2_IGameInputDevice* This,const v2_GameInputDeviceInfo **info) { return This->lpVtbl->GetDeviceInfo(This,info); } static inline HRESULT v2_IGameInputDevice_GetHapticInfo(v2_IGameInputDevice* This,GameInputHapticInfo *info) { return This->lpVtbl->GetHapticInfo(This,info); } static inline GameInputDeviceStatus v2_IGameInputDevice_GetDeviceStatus(v2_IGameInputDevice* This) { return This->lpVtbl->GetDeviceStatus(This); } static inline HRESULT v2_IGameInputDevice_CreateForceFeedbackEffect(v2_IGameInputDevice* This,uint32_t motor,const GameInputForceFeedbackParams *params,v2_IGameInputForceFeedbackEffect **effect) { return This->lpVtbl->CreateForceFeedbackEffect(This,motor,params,effect); } static inline bool v2_IGameInputDevice_IsForceFeedbackMotorPoweredOn(v2_IGameInputDevice* This,uint32_t motor) { return This->lpVtbl->IsForceFeedbackMotorPoweredOn(This,motor); } static inline void v2_IGameInputDevice_SetForceFeedbackMotorGain(v2_IGameInputDevice* This,uint32_t motor,float gain) { This->lpVtbl->SetForceFeedbackMotorGain(This,motor,gain); } static inline void v2_IGameInputDevice_SetRumbleState(v2_IGameInputDevice* This,const GameInputRumbleParams *params) { This->lpVtbl->SetRumbleState(This,params); } static inline HRESULT v2_IGameInputDevice_DirectInputEscape(v2_IGameInputDevice* This,uint32_t command,const void *input,uint32_t in_size,void *output,uint32_t out_size,uint32_t *size) { return This->lpVtbl->DirectInputEscape(This,command,input,in_size,output,out_size,size); } #endif #endif #endif #endif /* __v2_IGameInputDevice_INTERFACE_DEFINED__ */ /***************************************************************************** * IGameInputDispatcher interface */ #ifndef __IGameInputDispatcher_INTERFACE_DEFINED__ #define __IGameInputDispatcher_INTERFACE_DEFINED__ DEFINE_GUID(IID_IGameInputDispatcher, 0x415eed2e, 0x98cb, 0x42c2, 0x8f,0x28, 0xb9,0x46,0x01,0x07,0x4e,0x31); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("415eed2e-98cb-42c2-8f28-b94601074e31") IGameInputDispatcher : public IUnknown { virtual bool STDMETHODCALLTYPE Dispatch( uint64_t quota_ms) = 0; virtual HRESULT STDMETHODCALLTYPE OpenWaitHandle( HANDLE *handle) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IGameInputDispatcher, 0x415eed2e, 0x98cb, 0x42c2, 0x8f,0x28, 0xb9,0x46,0x01,0x07,0x4e,0x31) #endif #else typedef struct IGameInputDispatcherVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IGameInputDispatcher *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IGameInputDispatcher *This); ULONG (STDMETHODCALLTYPE *Release)( IGameInputDispatcher *This); /*** IGameInputDispatcher methods ***/ bool (STDMETHODCALLTYPE *Dispatch)( IGameInputDispatcher *This, uint64_t quota_ms); HRESULT (STDMETHODCALLTYPE *OpenWaitHandle)( IGameInputDispatcher *This, HANDLE *handle); END_INTERFACE } IGameInputDispatcherVtbl; interface IGameInputDispatcher { CONST_VTBL IGameInputDispatcherVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IGameInputDispatcher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IGameInputDispatcher_AddRef(This) (This)->lpVtbl->AddRef(This) #define IGameInputDispatcher_Release(This) (This)->lpVtbl->Release(This) /*** IGameInputDispatcher methods ***/ #define IGameInputDispatcher_Dispatch(This,quota_ms) (This)->lpVtbl->Dispatch(This,quota_ms) #define IGameInputDispatcher_OpenWaitHandle(This,handle) (This)->lpVtbl->OpenWaitHandle(This,handle) #else /*** IUnknown methods ***/ static inline HRESULT IGameInputDispatcher_QueryInterface(IGameInputDispatcher* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IGameInputDispatcher_AddRef(IGameInputDispatcher* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IGameInputDispatcher_Release(IGameInputDispatcher* This) { return This->lpVtbl->Release(This); } /*** IGameInputDispatcher methods ***/ static inline bool IGameInputDispatcher_Dispatch(IGameInputDispatcher* This,uint64_t quota_ms) { return This->lpVtbl->Dispatch(This,quota_ms); } static inline HRESULT IGameInputDispatcher_OpenWaitHandle(IGameInputDispatcher* This,HANDLE *handle) { return This->lpVtbl->OpenWaitHandle(This,handle); } #endif #endif #endif #endif /* __IGameInputDispatcher_INTERFACE_DEFINED__ */ /***************************************************************************** * v0_IGameInputForceFeedbackEffect interface */ #ifndef __v0_IGameInputForceFeedbackEffect_INTERFACE_DEFINED__ #define __v0_IGameInputForceFeedbackEffect_INTERFACE_DEFINED__ DEFINE_GUID(IID_v0_IGameInputForceFeedbackEffect, 0x51bda05e, 0xf742, 0x45d9, 0xb0,0x85, 0x94,0x44,0xae,0x48,0x38,0x1d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("51bda05e-f742-45d9-b085-9444ae48381d") v0_IGameInputForceFeedbackEffect : public IUnknown { virtual void STDMETHODCALLTYPE GetDevice( IUnknown **device) = 0; virtual uint32_t STDMETHODCALLTYPE GetMotorIndex( ) = 0; virtual float STDMETHODCALLTYPE GetGain( ) = 0; virtual void STDMETHODCALLTYPE SetGain( float gain) = 0; virtual void STDMETHODCALLTYPE GetParams( GameInputForceFeedbackParams *params) = 0; virtual bool STDMETHODCALLTYPE SetParams( const GameInputForceFeedbackParams *params) = 0; virtual GameInputFeedbackEffectState STDMETHODCALLTYPE GetState( ) = 0; virtual void STDMETHODCALLTYPE SetState( GameInputFeedbackEffectState state) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(v0_IGameInputForceFeedbackEffect, 0x51bda05e, 0xf742, 0x45d9, 0xb0,0x85, 0x94,0x44,0xae,0x48,0x38,0x1d) #endif #else typedef struct v0_IGameInputForceFeedbackEffectVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( v0_IGameInputForceFeedbackEffect *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( v0_IGameInputForceFeedbackEffect *This); ULONG (STDMETHODCALLTYPE *Release)( v0_IGameInputForceFeedbackEffect *This); /*** v0_IGameInputForceFeedbackEffect methods ***/ void (STDMETHODCALLTYPE *GetDevice)( v0_IGameInputForceFeedbackEffect *This, IUnknown **device); uint32_t (STDMETHODCALLTYPE *GetMotorIndex)( v0_IGameInputForceFeedbackEffect *This); float (STDMETHODCALLTYPE *GetGain)( v0_IGameInputForceFeedbackEffect *This); void (STDMETHODCALLTYPE *SetGain)( v0_IGameInputForceFeedbackEffect *This, float gain); void (STDMETHODCALLTYPE *GetParams)( v0_IGameInputForceFeedbackEffect *This, GameInputForceFeedbackParams *params); bool (STDMETHODCALLTYPE *SetParams)( v0_IGameInputForceFeedbackEffect *This, const GameInputForceFeedbackParams *params); GameInputFeedbackEffectState (STDMETHODCALLTYPE *GetState)( v0_IGameInputForceFeedbackEffect *This); void (STDMETHODCALLTYPE *SetState)( v0_IGameInputForceFeedbackEffect *This, GameInputFeedbackEffectState state); END_INTERFACE } v0_IGameInputForceFeedbackEffectVtbl; interface v0_IGameInputForceFeedbackEffect { CONST_VTBL v0_IGameInputForceFeedbackEffectVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define v0_IGameInputForceFeedbackEffect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define v0_IGameInputForceFeedbackEffect_AddRef(This) (This)->lpVtbl->AddRef(This) #define v0_IGameInputForceFeedbackEffect_Release(This) (This)->lpVtbl->Release(This) /*** v0_IGameInputForceFeedbackEffect methods ***/ #define v0_IGameInputForceFeedbackEffect_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device) #define v0_IGameInputForceFeedbackEffect_GetMotorIndex(This) (This)->lpVtbl->GetMotorIndex(This) #define v0_IGameInputForceFeedbackEffect_GetGain(This) (This)->lpVtbl->GetGain(This) #define v0_IGameInputForceFeedbackEffect_SetGain(This,gain) (This)->lpVtbl->SetGain(This,gain) #define v0_IGameInputForceFeedbackEffect_GetParams(This,params) (This)->lpVtbl->GetParams(This,params) #define v0_IGameInputForceFeedbackEffect_SetParams(This,params) (This)->lpVtbl->SetParams(This,params) #define v0_IGameInputForceFeedbackEffect_GetState(This) (This)->lpVtbl->GetState(This) #define v0_IGameInputForceFeedbackEffect_SetState(This,state) (This)->lpVtbl->SetState(This,state) #else /*** IUnknown methods ***/ static inline HRESULT v0_IGameInputForceFeedbackEffect_QueryInterface(v0_IGameInputForceFeedbackEffect* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG v0_IGameInputForceFeedbackEffect_AddRef(v0_IGameInputForceFeedbackEffect* This) { return This->lpVtbl->AddRef(This); } static inline ULONG v0_IGameInputForceFeedbackEffect_Release(v0_IGameInputForceFeedbackEffect* This) { return This->lpVtbl->Release(This); } /*** v0_IGameInputForceFeedbackEffect methods ***/ static inline void v0_IGameInputForceFeedbackEffect_GetDevice(v0_IGameInputForceFeedbackEffect* This,IUnknown **device) { This->lpVtbl->GetDevice(This,device); } static inline uint32_t v0_IGameInputForceFeedbackEffect_GetMotorIndex(v0_IGameInputForceFeedbackEffect* This) { return This->lpVtbl->GetMotorIndex(This); } static inline float v0_IGameInputForceFeedbackEffect_GetGain(v0_IGameInputForceFeedbackEffect* This) { return This->lpVtbl->GetGain(This); } static inline void v0_IGameInputForceFeedbackEffect_SetGain(v0_IGameInputForceFeedbackEffect* This,float gain) { This->lpVtbl->SetGain(This,gain); } static inline void v0_IGameInputForceFeedbackEffect_GetParams(v0_IGameInputForceFeedbackEffect* This,GameInputForceFeedbackParams *params) { This->lpVtbl->GetParams(This,params); } static inline bool v0_IGameInputForceFeedbackEffect_SetParams(v0_IGameInputForceFeedbackEffect* This,const GameInputForceFeedbackParams *params) { return This->lpVtbl->SetParams(This,params); } static inline GameInputFeedbackEffectState v0_IGameInputForceFeedbackEffect_GetState(v0_IGameInputForceFeedbackEffect* This) { return This->lpVtbl->GetState(This); } static inline void v0_IGameInputForceFeedbackEffect_SetState(v0_IGameInputForceFeedbackEffect* This,GameInputFeedbackEffectState state) { This->lpVtbl->SetState(This,state); } #endif #endif #endif #endif /* __v0_IGameInputForceFeedbackEffect_INTERFACE_DEFINED__ */ /***************************************************************************** * v2_IGameInputForceFeedbackEffect interface */ #ifndef __v2_IGameInputForceFeedbackEffect_INTERFACE_DEFINED__ #define __v2_IGameInputForceFeedbackEffect_INTERFACE_DEFINED__ DEFINE_GUID(IID_v2_IGameInputForceFeedbackEffect, 0xff61096a, 0x3373, 0x4093, 0xa1,0xdf, 0x6d,0x31,0x84,0x6b,0x35,0x11); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ff61096a-3373-4093-a1df-6d31846b3511") v2_IGameInputForceFeedbackEffect : public IUnknown { virtual void STDMETHODCALLTYPE GetDevice( v2_IGameInputDevice *device) = 0; virtual uint32_t STDMETHODCALLTYPE GetMotorIndex( ) = 0; virtual float STDMETHODCALLTYPE GetGain( ) = 0; virtual void STDMETHODCALLTYPE SetGain( float gain) = 0; virtual void STDMETHODCALLTYPE GetParams( GameInputForceFeedbackParams *params) = 0; virtual bool STDMETHODCALLTYPE SetParams( const GameInputForceFeedbackParams *params) = 0; virtual GameInputFeedbackEffectState STDMETHODCALLTYPE GetState( ) = 0; virtual void STDMETHODCALLTYPE SetState( GameInputFeedbackEffectState state) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(v2_IGameInputForceFeedbackEffect, 0xff61096a, 0x3373, 0x4093, 0xa1,0xdf, 0x6d,0x31,0x84,0x6b,0x35,0x11) #endif #else typedef struct v2_IGameInputForceFeedbackEffectVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( v2_IGameInputForceFeedbackEffect *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( v2_IGameInputForceFeedbackEffect *This); ULONG (STDMETHODCALLTYPE *Release)( v2_IGameInputForceFeedbackEffect *This); /*** v2_IGameInputForceFeedbackEffect methods ***/ void (STDMETHODCALLTYPE *GetDevice)( v2_IGameInputForceFeedbackEffect *This, v2_IGameInputDevice *device); uint32_t (STDMETHODCALLTYPE *GetMotorIndex)( v2_IGameInputForceFeedbackEffect *This); float (STDMETHODCALLTYPE *GetGain)( v2_IGameInputForceFeedbackEffect *This); void (STDMETHODCALLTYPE *SetGain)( v2_IGameInputForceFeedbackEffect *This, float gain); void (STDMETHODCALLTYPE *GetParams)( v2_IGameInputForceFeedbackEffect *This, GameInputForceFeedbackParams *params); bool (STDMETHODCALLTYPE *SetParams)( v2_IGameInputForceFeedbackEffect *This, const GameInputForceFeedbackParams *params); GameInputFeedbackEffectState (STDMETHODCALLTYPE *GetState)( v2_IGameInputForceFeedbackEffect *This); void (STDMETHODCALLTYPE *SetState)( v2_IGameInputForceFeedbackEffect *This, GameInputFeedbackEffectState state); END_INTERFACE } v2_IGameInputForceFeedbackEffectVtbl; interface v2_IGameInputForceFeedbackEffect { CONST_VTBL v2_IGameInputForceFeedbackEffectVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define v2_IGameInputForceFeedbackEffect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define v2_IGameInputForceFeedbackEffect_AddRef(This) (This)->lpVtbl->AddRef(This) #define v2_IGameInputForceFeedbackEffect_Release(This) (This)->lpVtbl->Release(This) /*** v2_IGameInputForceFeedbackEffect methods ***/ #define v2_IGameInputForceFeedbackEffect_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device) #define v2_IGameInputForceFeedbackEffect_GetMotorIndex(This) (This)->lpVtbl->GetMotorIndex(This) #define v2_IGameInputForceFeedbackEffect_GetGain(This) (This)->lpVtbl->GetGain(This) #define v2_IGameInputForceFeedbackEffect_SetGain(This,gain) (This)->lpVtbl->SetGain(This,gain) #define v2_IGameInputForceFeedbackEffect_GetParams(This,params) (This)->lpVtbl->GetParams(This,params) #define v2_IGameInputForceFeedbackEffect_SetParams(This,params) (This)->lpVtbl->SetParams(This,params) #define v2_IGameInputForceFeedbackEffect_GetState(This) (This)->lpVtbl->GetState(This) #define v2_IGameInputForceFeedbackEffect_SetState(This,state) (This)->lpVtbl->SetState(This,state) #else /*** IUnknown methods ***/ static inline HRESULT v2_IGameInputForceFeedbackEffect_QueryInterface(v2_IGameInputForceFeedbackEffect* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG v2_IGameInputForceFeedbackEffect_AddRef(v2_IGameInputForceFeedbackEffect* This) { return This->lpVtbl->AddRef(This); } static inline ULONG v2_IGameInputForceFeedbackEffect_Release(v2_IGameInputForceFeedbackEffect* This) { return This->lpVtbl->Release(This); } /*** v2_IGameInputForceFeedbackEffect methods ***/ static inline void v2_IGameInputForceFeedbackEffect_GetDevice(v2_IGameInputForceFeedbackEffect* This,v2_IGameInputDevice *device) { This->lpVtbl->GetDevice(This,device); } static inline uint32_t v2_IGameInputForceFeedbackEffect_GetMotorIndex(v2_IGameInputForceFeedbackEffect* This) { return This->lpVtbl->GetMotorIndex(This); } static inline float v2_IGameInputForceFeedbackEffect_GetGain(v2_IGameInputForceFeedbackEffect* This) { return This->lpVtbl->GetGain(This); } static inline void v2_IGameInputForceFeedbackEffect_SetGain(v2_IGameInputForceFeedbackEffect* This,float gain) { This->lpVtbl->SetGain(This,gain); } static inline void v2_IGameInputForceFeedbackEffect_GetParams(v2_IGameInputForceFeedbackEffect* This,GameInputForceFeedbackParams *params) { This->lpVtbl->GetParams(This,params); } static inline bool v2_IGameInputForceFeedbackEffect_SetParams(v2_IGameInputForceFeedbackEffect* This,const GameInputForceFeedbackParams *params) { return This->lpVtbl->SetParams(This,params); } static inline GameInputFeedbackEffectState v2_IGameInputForceFeedbackEffect_GetState(v2_IGameInputForceFeedbackEffect* This) { return This->lpVtbl->GetState(This); } static inline void v2_IGameInputForceFeedbackEffect_SetState(v2_IGameInputForceFeedbackEffect* This,GameInputFeedbackEffectState state) { This->lpVtbl->SetState(This,state); } #endif #endif #endif #endif /* __v2_IGameInputForceFeedbackEffect_INTERFACE_DEFINED__ */ /***************************************************************************** * IGameInputRawDeviceReport interface */ #ifndef __IGameInputRawDeviceReport_INTERFACE_DEFINED__ #define __IGameInputRawDeviceReport_INTERFACE_DEFINED__ DEFINE_GUID(IID_IGameInputRawDeviceReport, 0x61f08cf1, 0x1ffc, 0x40ca, 0xa2,0xb8, 0xe1,0xab,0x8b,0xc5,0xb6,0xdc); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("61f08cf1-1ffc-40ca-a2b8-e1ab8bc5b6dc") IGameInputRawDeviceReport : public IUnknown { virtual void STDMETHODCALLTYPE GetDevice( v0_IGameInputDevice **device) = 0; virtual const GameInputRawDeviceReportInfo * STDMETHODCALLTYPE GetReportInfo( ) = 0; virtual size_t STDMETHODCALLTYPE GetRawDataSize( ) = 0; virtual size_t STDMETHODCALLTYPE GetRawData( size_t size, void *buffer) = 0; virtual bool STDMETHODCALLTYPE SetRawData( size_t size, const void *buffer) = 0; virtual bool STDMETHODCALLTYPE GetItemValue( uint32_t index, int64_t *value) = 0; virtual bool STDMETHODCALLTYPE SetItemValue( uint32_t index, int64_t value) = 0; virtual bool STDMETHODCALLTYPE ResetItemValue( uint32_t index) = 0; virtual bool STDMETHODCALLTYPE ResetAllItems( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IGameInputRawDeviceReport, 0x61f08cf1, 0x1ffc, 0x40ca, 0xa2,0xb8, 0xe1,0xab,0x8b,0xc5,0xb6,0xdc) #endif #else typedef struct IGameInputRawDeviceReportVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IGameInputRawDeviceReport *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IGameInputRawDeviceReport *This); ULONG (STDMETHODCALLTYPE *Release)( IGameInputRawDeviceReport *This); /*** IGameInputRawDeviceReport methods ***/ void (STDMETHODCALLTYPE *GetDevice)( IGameInputRawDeviceReport *This, v0_IGameInputDevice **device); const GameInputRawDeviceReportInfo * (STDMETHODCALLTYPE *GetReportInfo)( IGameInputRawDeviceReport *This); size_t (STDMETHODCALLTYPE *GetRawDataSize)( IGameInputRawDeviceReport *This); size_t (STDMETHODCALLTYPE *GetRawData)( IGameInputRawDeviceReport *This, size_t size, void *buffer); bool (STDMETHODCALLTYPE *SetRawData)( IGameInputRawDeviceReport *This, size_t size, const void *buffer); bool (STDMETHODCALLTYPE *GetItemValue)( IGameInputRawDeviceReport *This, uint32_t index, int64_t *value); bool (STDMETHODCALLTYPE *SetItemValue)( IGameInputRawDeviceReport *This, uint32_t index, int64_t value); bool (STDMETHODCALLTYPE *ResetItemValue)( IGameInputRawDeviceReport *This, uint32_t index); bool (STDMETHODCALLTYPE *ResetAllItems)( IGameInputRawDeviceReport *This); END_INTERFACE } IGameInputRawDeviceReportVtbl; interface IGameInputRawDeviceReport { CONST_VTBL IGameInputRawDeviceReportVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IGameInputRawDeviceReport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IGameInputRawDeviceReport_AddRef(This) (This)->lpVtbl->AddRef(This) #define IGameInputRawDeviceReport_Release(This) (This)->lpVtbl->Release(This) /*** IGameInputRawDeviceReport methods ***/ #define IGameInputRawDeviceReport_GetDevice(This,device) (This)->lpVtbl->GetDevice(This,device) #define IGameInputRawDeviceReport_GetReportInfo(This) (This)->lpVtbl->GetReportInfo(This) #define IGameInputRawDeviceReport_GetRawDataSize(This) (This)->lpVtbl->GetRawDataSize(This) #define IGameInputRawDeviceReport_GetRawData(This,size,buffer) (This)->lpVtbl->GetRawData(This,size,buffer) #define IGameInputRawDeviceReport_SetRawData(This,size,buffer) (This)->lpVtbl->SetRawData(This,size,buffer) #define IGameInputRawDeviceReport_GetItemValue(This,index,value) (This)->lpVtbl->GetItemValue(This,index,value) #define IGameInputRawDeviceReport_SetItemValue(This,index,value) (This)->lpVtbl->SetItemValue(This,index,value) #define IGameInputRawDeviceReport_ResetItemValue(This,index) (This)->lpVtbl->ResetItemValue(This,index) #define IGameInputRawDeviceReport_ResetAllItems(This) (This)->lpVtbl->ResetAllItems(This) #else /*** IUnknown methods ***/ static inline HRESULT IGameInputRawDeviceReport_QueryInterface(IGameInputRawDeviceReport* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IGameInputRawDeviceReport_AddRef(IGameInputRawDeviceReport* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IGameInputRawDeviceReport_Release(IGameInputRawDeviceReport* This) { return This->lpVtbl->Release(This); } /*** IGameInputRawDeviceReport methods ***/ static inline void IGameInputRawDeviceReport_GetDevice(IGameInputRawDeviceReport* This,v0_IGameInputDevice **device) { This->lpVtbl->GetDevice(This,device); } static inline const GameInputRawDeviceReportInfo * IGameInputRawDeviceReport_GetReportInfo(IGameInputRawDeviceReport* This) { return This->lpVtbl->GetReportInfo(This); } static inline size_t IGameInputRawDeviceReport_GetRawDataSize(IGameInputRawDeviceReport* This) { return This->lpVtbl->GetRawDataSize(This); } static inline size_t IGameInputRawDeviceReport_GetRawData(IGameInputRawDeviceReport* This,size_t size,void *buffer) { return This->lpVtbl->GetRawData(This,size,buffer); } static inline bool IGameInputRawDeviceReport_SetRawData(IGameInputRawDeviceReport* This,size_t size,const void *buffer) { return This->lpVtbl->SetRawData(This,size,buffer); } static inline bool IGameInputRawDeviceReport_GetItemValue(IGameInputRawDeviceReport* This,uint32_t index,int64_t *value) { return This->lpVtbl->GetItemValue(This,index,value); } static inline bool IGameInputRawDeviceReport_SetItemValue(IGameInputRawDeviceReport* This,uint32_t index,int64_t value) { return This->lpVtbl->SetItemValue(This,index,value); } static inline bool IGameInputRawDeviceReport_ResetItemValue(IGameInputRawDeviceReport* This,uint32_t index) { return This->lpVtbl->ResetItemValue(This,index); } static inline bool IGameInputRawDeviceReport_ResetAllItems(IGameInputRawDeviceReport* This) { return This->lpVtbl->ResetAllItems(This); } #endif #endif #endif #endif /* __IGameInputRawDeviceReport_INTERFACE_DEFINED__ */ #define FACILITY_GAMEINPUT (906) #define GAMEINPUT_FACILITY (906) #define GAMEINPUT_E_DEVICE_DISCONNECTED (0x838a0001) #define GAMEINPUT_E_DEVICE_NOT_FOUND (0x838a0002) #define GAMEINPUT_E_READING_NOT_FOUND (0x838a0003) #define GAMEINPUT_E_REFERENCE_READING_TOO_OLD (0x838a0004) #define GAMEINPUT_E_TIMESTAMP_OUT_OF_RANGE (0x838a0005) #define GAMEINPUT_E_INSUFFICIENT_FORCE_FEEDBACK_RESOURCES (0x838a0006) #define GAMEINPUT_E_FEEDBACK_NOT_SUPPORTED (0x838a0007) #define GAMEINPUT_E_OBJECT_NO_LONGER_EXISTS (0x838a0008) #define GAMEINPUT_E_CALLBACK_NOT_FOUND (0x838a0009) #define GAMEINPUT_E_HAPTIC_INFO_NOT_FOUND (0x838a000a) #define GAMEINPUT_E_AGGREGATE_OPERATION_NOT_SUPPORTED (0x838a000b) #ifdef __WINESRC__ STDAPI GameInputCreate( v0_IGameInput **out ); #else struct GameInputLegacy; STDAPI GameInputCreate( struct GameInputLegacy **out ); #endif #ifdef __cplusplus static inline HRESULT GameInputCreate( IGameInput **out ) { IUnknown *unk; HRESULT hr; *out = NULL; if (SUCCEEDED(hr = GameInputCreate( (struct GameInputLegacy **)&unk ))) { hr = IUnknown_QueryInterface( unk, &IID_IGameInput, (void **)out ); IUnknown_Release( unk ); } return hr; } #endif /* __cplusplus */ #ifdef __cplusplus }} /* namespace GameInput { namespace v2 { */ #endif /* __cplusplus */ /* Begin additional prototypes for all interfaces */ /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __gameinput_h__ */