150 lines
5.2 KiB
C++
150 lines
5.2 KiB
C++
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1998 - 1999
|
|
//
|
|
// File: dinputdeviceobj.h
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
// ddPaletteObj.h : Declaration of the C_dxj_DirectDrawColorControlObject
|
|
#include "direct.h"
|
|
|
|
#include "resource.h" // main symbols
|
|
|
|
#define typedef__dxj_DirectInputDevice LPDIRECTINPUTDEVICE2
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Direct
|
|
|
|
|
|
class C_dxj_DirectInputDeviceObject :
|
|
public I_dxj_DirectInputDevice,
|
|
public CComObjectRoot
|
|
{
|
|
public:
|
|
C_dxj_DirectInputDeviceObject() ;
|
|
virtual ~C_dxj_DirectInputDeviceObject();
|
|
|
|
BEGIN_COM_MAP(C_dxj_DirectInputDeviceObject)
|
|
COM_INTERFACE_ENTRY(I_dxj_DirectInputDevice)
|
|
END_COM_MAP()
|
|
|
|
DECLARE_AGGREGATABLE(C_dxj_DirectInputDeviceObject)
|
|
|
|
|
|
public:
|
|
/* [hidden] */ HRESULT STDMETHODCALLTYPE InternalSetObject(
|
|
/* [in] */ IUnknown __RPC_FAR *lpdd);
|
|
|
|
/* [hidden] */ HRESULT STDMETHODCALLTYPE InternalGetObject(
|
|
/* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *lpdd);
|
|
|
|
HRESULT STDMETHODCALLTYPE acquire( void);
|
|
|
|
HRESULT STDMETHODCALLTYPE getDeviceObjectsEnum(
|
|
/* [in] */ long flags,
|
|
/* [retval][out] */ I_dxj_DIEnumDeviceObjects __RPC_FAR *__RPC_FAR *ppret);
|
|
|
|
HRESULT STDMETHODCALLTYPE getCapabilities(
|
|
/* [out][in] */ DIDevCaps __RPC_FAR *caps);
|
|
|
|
HRESULT STDMETHODCALLTYPE getDeviceData(
|
|
/* [out][in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *deviceObjectDataArray,
|
|
/* [in] */ long flags,
|
|
/* [retval][out] */ long __RPC_FAR *c);
|
|
|
|
HRESULT STDMETHODCALLTYPE getDeviceInfo(
|
|
/* [retval][out] */ I_dxj_DirectInputDeviceInstance __RPC_FAR *__RPC_FAR *deviceInstance);
|
|
|
|
HRESULT STDMETHODCALLTYPE getDeviceStateKeyboard(
|
|
/* [out][in] */ DIKeyboardState __RPC_FAR *state);
|
|
|
|
HRESULT STDMETHODCALLTYPE getDeviceStateMouse(
|
|
/* [out][in] */ DIMouseState __RPC_FAR *state);
|
|
|
|
HRESULT STDMETHODCALLTYPE getDeviceStateJoystick(
|
|
/* [out][in] */ DIJoyState __RPC_FAR *state);
|
|
|
|
HRESULT STDMETHODCALLTYPE getDeviceStateJoystick2(
|
|
/* [out][in] */ DIJoyState2 __RPC_FAR *state);
|
|
|
|
HRESULT STDMETHODCALLTYPE getDeviceState(
|
|
/* [in] */ long cb,
|
|
/* [in] */ void __RPC_FAR *state);
|
|
|
|
HRESULT STDMETHODCALLTYPE getObjectInfo(
|
|
/* [in] */ long obj,
|
|
/* [in] */ long how,
|
|
/* [retval][out] */ I_dxj_DirectInputDeviceObjectInstance __RPC_FAR *__RPC_FAR *ret);
|
|
|
|
HRESULT STDMETHODCALLTYPE getProperty(
|
|
/* [in] */ BSTR guid,
|
|
/* [out] */ void __RPC_FAR *propertyInfo);
|
|
|
|
HRESULT STDMETHODCALLTYPE runControlPanel(
|
|
/* [in] */ long hwnd);
|
|
|
|
HRESULT STDMETHODCALLTYPE setCooperativeLevel(
|
|
/* [in] */ long hwnd,
|
|
/* [in] */ long flags);
|
|
|
|
HRESULT STDMETHODCALLTYPE setCommonDataFormat(
|
|
/* [in] */ long format);
|
|
|
|
HRESULT STDMETHODCALLTYPE setDataFormat(
|
|
/* [in] */ DIDataFormat __RPC_FAR *format,
|
|
SAFEARRAY __RPC_FAR * __RPC_FAR *formatArray);
|
|
|
|
HRESULT STDMETHODCALLTYPE setEventNotification(
|
|
/* [in] */ long hEvent);
|
|
|
|
HRESULT STDMETHODCALLTYPE setProperty(
|
|
/* [in] */ BSTR guid,
|
|
/* [in] */ void __RPC_FAR *propertyInfo);
|
|
|
|
HRESULT STDMETHODCALLTYPE unacquire( void);
|
|
|
|
HRESULT STDMETHODCALLTYPE poll( void);
|
|
|
|
HRESULT STDMETHODCALLTYPE createEffect(
|
|
/* [in] */ BSTR effectGuid,
|
|
/* [in] */ DIEffect __RPC_FAR *effectinfo,
|
|
/* [retval][out] */ I_dxj_DirectInputEffect __RPC_FAR *__RPC_FAR *ret);
|
|
|
|
HRESULT STDMETHODCALLTYPE createCustomEffect(
|
|
/* [in] */ DIEffect __RPC_FAR *effectinfo,
|
|
/* [in] */ long channels,
|
|
/* [in] */ long samplePeriod,
|
|
/* [in] */ long nSamples,
|
|
/* [in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *sampledata,
|
|
/* [retval][out] */ I_dxj_DirectInputEffect __RPC_FAR *__RPC_FAR *ret);
|
|
|
|
HRESULT STDMETHODCALLTYPE sendDeviceData(
|
|
/* [in] */ long count,
|
|
/* [in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *data,
|
|
/* [in] */ long flags,
|
|
/* [retval][out] */ long __RPC_FAR *retcount);
|
|
|
|
HRESULT STDMETHODCALLTYPE sendForceFeedbackCommand(
|
|
/* [in] */ long flags);
|
|
|
|
HRESULT STDMETHODCALLTYPE getForceFeedbackState(
|
|
/* [retval][out] */ long __RPC_FAR *state);
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE getEffectsEnum( long flag,
|
|
/* [retval][out] */ I_dxj_DirectInputEnumEffects __RPC_FAR *__RPC_FAR *ret) ;
|
|
|
|
private:
|
|
DECL_VARIABLE(_dxj_DirectInputDevice);
|
|
IDirectInputDevice2 *m__dxj_DirectInputDevice2;
|
|
HRESULT cleanup();
|
|
HRESULT init();
|
|
public:
|
|
DX3J_GLOBAL_LINKS(_dxj_DirectInput)
|
|
DWORD nFormat;
|
|
};
|
|
|