windows-nt/Source/XPSP1/NT/multimedia/directx/dxvb/dx7vb/dinputdeviceobj.h
2020-09-26 16:20:57 +08:00

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;
};