9b639cf2d6 2015-05-05 kinaba: module win32.directx.dinput8; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: //import tango.sys.win32.Types; 9b639cf2d6 2015-05-05 kinaba: //alias char CHAR; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: import win32.windows; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: enum { 9b639cf2d6 2015-05-05 kinaba: CLASS_E_NOAGGREGATION = cast(int) 0x80040110, 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT QueryInterface(IID* riid, void** pvObject); 9b639cf2d6 2015-05-05 kinaba: ULONG AddRef(); 9b639cf2d6 2015-05-05 kinaba: ULONG Release(); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: extern(C): 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIDEVICEINSTANCEA 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: GUID guidInstance; 9b639cf2d6 2015-05-05 kinaba: GUID guidProduct; 9b639cf2d6 2015-05-05 kinaba: DWORD dwDevType; 9b639cf2d6 2015-05-05 kinaba: CHAR[MAX_PATH] tszInstanceName; 9b639cf2d6 2015-05-05 kinaba: CHAR[MAX_PATH] tszProductName; 9b639cf2d6 2015-05-05 kinaba: GUID guidFFDriver; 9b639cf2d6 2015-05-05 kinaba: WORD wUsagePage; 9b639cf2d6 2015-05-05 kinaba: WORD wUsage; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias DIDEVICEINSTANCEA DIDEVICEINSTANCE; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIDEVICEOBJECTINSTANCEA 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: GUID guidType; 9b639cf2d6 2015-05-05 kinaba: DWORD dwOfs; 9b639cf2d6 2015-05-05 kinaba: DWORD dwType; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFlags; 9b639cf2d6 2015-05-05 kinaba: CHAR[MAX_PATH] tszName; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFFMaxForce; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFFForceResolution; 9b639cf2d6 2015-05-05 kinaba: WORD wCollectionNumber; 9b639cf2d6 2015-05-05 kinaba: WORD wDesignatorIndex; 9b639cf2d6 2015-05-05 kinaba: WORD wUsagePage; 9b639cf2d6 2015-05-05 kinaba: WORD wUsage; 9b639cf2d6 2015-05-05 kinaba: DWORD dwDimension; 9b639cf2d6 2015-05-05 kinaba: WORD wExponent; 9b639cf2d6 2015-05-05 kinaba: WORD wReportId; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIOBJECTDATAFORMAT 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: const GUID *pguid; 9b639cf2d6 2015-05-05 kinaba: DWORD dwOfs; 9b639cf2d6 2015-05-05 kinaba: DWORD dwType; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFlags; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIDATAFORMAT 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwObjSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFlags; 9b639cf2d6 2015-05-05 kinaba: DWORD dwDataSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwNumObjs; 9b639cf2d6 2015-05-05 kinaba: DIOBJECTDATAFORMAT* rgodf; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: extern DIDATAFORMAT c_dfDIKeyboard; 9b639cf2d6 2015-05-05 kinaba: extern DIDATAFORMAT c_dfDIMouse2; 9b639cf2d6 2015-05-05 kinaba: extern DIDATAFORMAT c_dfDIJoystick; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIACTIONA 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: UINT* uAppData; 9b639cf2d6 2015-05-05 kinaba: DWORD dwSemantic; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFlags; 9b639cf2d6 2015-05-05 kinaba: union 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: LPCSTR lptszActionName; 9b639cf2d6 2015-05-05 kinaba: UINT uResIdString; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: GUID guidInstance; 9b639cf2d6 2015-05-05 kinaba: DWORD dwObjID; 9b639cf2d6 2015-05-05 kinaba: DWORD dwHow; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIACTIONFORMATA 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwActionSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwDataSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwNumActions; 9b639cf2d6 2015-05-05 kinaba: DIACTIONA* rgoAction; 9b639cf2d6 2015-05-05 kinaba: GUID guidActionMap; 9b639cf2d6 2015-05-05 kinaba: DWORD dwGenre; 9b639cf2d6 2015-05-05 kinaba: DWORD dwBufferSize; 9b639cf2d6 2015-05-05 kinaba: LONG lAxisMin; 9b639cf2d6 2015-05-05 kinaba: LONG lAxisMax; 9b639cf2d6 2015-05-05 kinaba: HINSTANCE hInstString; 9b639cf2d6 2015-05-05 kinaba: FILETIME ftTimeStamp; 9b639cf2d6 2015-05-05 kinaba: DWORD dwCRC; 9b639cf2d6 2015-05-05 kinaba: CHAR[MAX_PATH] tszActionMap; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIDEVCAPS 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFlags; 9b639cf2d6 2015-05-05 kinaba: DWORD dwDevType; 9b639cf2d6 2015-05-05 kinaba: DWORD dwAxes; 9b639cf2d6 2015-05-05 kinaba: DWORD dwButtons; 9b639cf2d6 2015-05-05 kinaba: DWORD dwPOVs; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFFSamplePeriod; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFFMinTimeResolution; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFirmwareRevision; 9b639cf2d6 2015-05-05 kinaba: DWORD dwHardwareRevision; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFFDriverVersion; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIPROPHEADER 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwHeaderSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwObj; 9b639cf2d6 2015-05-05 kinaba: DWORD dwHow; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIDEVICEOBJECTDATA 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwOfs; 9b639cf2d6 2015-05-05 kinaba: DWORD dwData; 9b639cf2d6 2015-05-05 kinaba: DWORD dwTimeStamp; 9b639cf2d6 2015-05-05 kinaba: DWORD dwSequence; 9b639cf2d6 2015-05-05 kinaba: UINT* uAppData; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIENVELOPE 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize = DIENVELOPE.sizeof; 9b639cf2d6 2015-05-05 kinaba: DWORD dwAttackLevel; 9b639cf2d6 2015-05-05 kinaba: DWORD dwAttackTime; // Microseconds 9b639cf2d6 2015-05-05 kinaba: DWORD dwFadeLevel; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFadeTime; // Microseconds 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIEFFECT 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize = DIEFFECT.sizeof; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFlags; // DIEFF_* 9b639cf2d6 2015-05-05 kinaba: DWORD dwDuration; // Microseconds 9b639cf2d6 2015-05-05 kinaba: DWORD dwSamplePeriod; // Microseconds 9b639cf2d6 2015-05-05 kinaba: DWORD dwGain; 9b639cf2d6 2015-05-05 kinaba: DWORD dwTriggerButton; // or DIEB_NOTRIGGER 9b639cf2d6 2015-05-05 kinaba: DWORD dwTriggerRepeatInterval; // Microseconds 9b639cf2d6 2015-05-05 kinaba: DWORD cAxes; // Number of axes 9b639cf2d6 2015-05-05 kinaba: LPDWORD rgdwAxes; // Array of axes 9b639cf2d6 2015-05-05 kinaba: LPLONG rglDirection; // Array of directions 9b639cf2d6 2015-05-05 kinaba: DIENVELOPE* lpEnvelope; // Optional 9b639cf2d6 2015-05-05 kinaba: DWORD cbTypeSpecificParams; // Size of params 9b639cf2d6 2015-05-05 kinaba: LPVOID lpvTypeSpecificParams; // Pointer to params 9b639cf2d6 2015-05-05 kinaba: DWORD dwStartDelay; // Microseconds 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIEFFESCAPE 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwCommand; 9b639cf2d6 2015-05-05 kinaba: LPVOID lpvInBuffer; 9b639cf2d6 2015-05-05 kinaba: DWORD cbInBuffer; 9b639cf2d6 2015-05-05 kinaba: LPVOID lpvOutBuffer; 9b639cf2d6 2015-05-05 kinaba: DWORD cbOutBuffer; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIEFFECTINFOA 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: GUID guid; 9b639cf2d6 2015-05-05 kinaba: DWORD dwEffType; 9b639cf2d6 2015-05-05 kinaba: DWORD dwStaticParams; 9b639cf2d6 2015-05-05 kinaba: DWORD dwDynamicParams; 9b639cf2d6 2015-05-05 kinaba: CHAR[MAX_PATH] tszName; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIFILEEFFECT 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: GUID GuidEffect; 9b639cf2d6 2015-05-05 kinaba: DIEFFECT* lpDiEffect; 9b639cf2d6 2015-05-05 kinaba: CHAR[MAX_PATH] szFriendlyName; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIDEVICEIMAGEINFOA 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: CHAR[MAX_PATH] tszImagePath; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFlags; 9b639cf2d6 2015-05-05 kinaba: // These are valid if DIDIFT_OVERLAY is present in dwFlags. 9b639cf2d6 2015-05-05 kinaba: DWORD dwViewID; 9b639cf2d6 2015-05-05 kinaba: RECT rcOverlay; 9b639cf2d6 2015-05-05 kinaba: DWORD dwObjID; 9b639cf2d6 2015-05-05 kinaba: DWORD dwcValidPts; 9b639cf2d6 2015-05-05 kinaba: POINT[5] rgptCalloutLine; 9b639cf2d6 2015-05-05 kinaba: RECT rcCalloutRect; 9b639cf2d6 2015-05-05 kinaba: DWORD dwTextAlign; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIDEVICEIMAGEINFOHEADERA 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwSizeImageInfo; 9b639cf2d6 2015-05-05 kinaba: DWORD dwcViews; 9b639cf2d6 2015-05-05 kinaba: DWORD dwcButtons; 9b639cf2d6 2015-05-05 kinaba: DWORD dwcAxes; 9b639cf2d6 2015-05-05 kinaba: DWORD dwcPOVs; 9b639cf2d6 2015-05-05 kinaba: DWORD dwBufferSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwBufferUsed; 9b639cf2d6 2015-05-05 kinaba: DIDEVICEIMAGEINFOA* lprgImageInfoArray; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DICONFIGUREDEVICESPARAMSA 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwcUsers; 9b639cf2d6 2015-05-05 kinaba: LPSTR lptszUserNames; 9b639cf2d6 2015-05-05 kinaba: DWORD dwcFormats; 9b639cf2d6 2015-05-05 kinaba: DIACTIONFORMATA* lprgFormats; 9b639cf2d6 2015-05-05 kinaba: HWND hwnd; 9b639cf2d6 2015-05-05 kinaba: DICOLORSET dics; 9b639cf2d6 2015-05-05 kinaba: IUnknown lpUnkDDSTarget; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DICOLORSET 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD cTextFore; 9b639cf2d6 2015-05-05 kinaba: DWORD cTextHighlight; 9b639cf2d6 2015-05-05 kinaba: DWORD cCalloutLine; 9b639cf2d6 2015-05-05 kinaba: DWORD cCalloutHighlight; 9b639cf2d6 2015-05-05 kinaba: DWORD cBorder; 9b639cf2d6 2015-05-05 kinaba: DWORD cControlFill; 9b639cf2d6 2015-05-05 kinaba: DWORD cHighlightFill; 9b639cf2d6 2015-05-05 kinaba: DWORD cAreaFill; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIMOUSESTATE2 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: LONG lX; 9b639cf2d6 2015-05-05 kinaba: LONG lY; 9b639cf2d6 2015-05-05 kinaba: LONG lZ; 9b639cf2d6 2015-05-05 kinaba: BYTE[8] rgbButtons; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIJOYSTATE 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: LONG lX; /* x-axis position */ 9b639cf2d6 2015-05-05 kinaba: LONG lY; /* y-axis position */ 9b639cf2d6 2015-05-05 kinaba: LONG lZ; /* z-axis position */ 9b639cf2d6 2015-05-05 kinaba: LONG lRx; /* x-axis rotation */ 9b639cf2d6 2015-05-05 kinaba: LONG lRy; /* y-axis rotation */ 9b639cf2d6 2015-05-05 kinaba: LONG lRz; /* z-axis rotation */ 9b639cf2d6 2015-05-05 kinaba: LONG[2] rglSlider; /* extra axes positions */ 9b639cf2d6 2015-05-05 kinaba: DWORD[4]rgdwPOV; /* POV directions */ 9b639cf2d6 2015-05-05 kinaba: BYTE[32]rgbButtons; /* 32 buttons */ 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIPROPRANGE 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DIPROPHEADER diph; 9b639cf2d6 2015-05-05 kinaba: LONG lMin; 9b639cf2d6 2015-05-05 kinaba: LONG lMax; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IDirectInputEffect : IUnknown 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: HRESULT Initialize(HINSTANCE, DWORD, GUID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetEffectGuid(GUID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetParameters(DIEFFECT*, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetParameters(DIEFFECT*, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT Start(DWORD, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT Stop(); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetEffectStatus(LPDWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT Download(); 9b639cf2d6 2015-05-05 kinaba: HRESULT Unload(); 9b639cf2d6 2015-05-05 kinaba: HRESULT Escape(DIEFFESCAPE*); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: extern(Windows) alias bool function(DIDEVICEINSTANCEA*, LPVOID) LPDIENUMDEVICESCALLBACKA; 9b639cf2d6 2015-05-05 kinaba: extern(Windows) alias bool function(DIDEVICEINSTANCEA*, IDirectInputDevice8A*, DWORD, DWORD, LPVOID) LPDIENUMDEVICESBYSEMANTICSCBA; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: extern(Windows) alias bool function(DIDEVICEOBJECTINSTANCEA *didoi, void* pContext) LPDIENUMDEVICEOBJECTSCALLBACKA; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: extern(Windows) alias bool function(DIEFFECTINFOA*, LPVOID) LPDIENUMEFFECTSCALLBACKA; 9b639cf2d6 2015-05-05 kinaba: extern(Windows) alias bool function(IDirectInputEffect, LPVOID) LPDIENUMCREATEDEFFECTOBJECTSCALLBACK; 9b639cf2d6 2015-05-05 kinaba: extern(Windows) alias bool function(DIFILEEFFECT* , LPVOID) LPDIENUMEFFECTSINFILECALLBACK; 9b639cf2d6 2015-05-05 kinaba: extern(Windows) alias bool function(IUnknown, LPVOID) LPDICONFIGUREDEVICESCALLBACK; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IDirectInputDevice8A : IUnknown 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: HRESULT GetCapabilities(DIDEVCAPS*); 9b639cf2d6 2015-05-05 kinaba: HRESULT EnumObjects(LPDIENUMDEVICEOBJECTSCALLBACKA, VOID*, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetProperty(GUID*, DIPROPHEADER*); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetProperty(GUID*, DIPROPHEADER*); 9b639cf2d6 2015-05-05 kinaba: HRESULT Acquire(); 9b639cf2d6 2015-05-05 kinaba: HRESULT Unacquire(); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDeviceState(DWORD, LPVOID); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDeviceData(DWORD, DIDEVICEOBJECTDATA*, LPDWORD, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetDataFormat(DIDATAFORMAT*); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetEventNotification(HANDLE); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetCooperativeLevel(HWND, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetObjectInfo(DIDEVICEOBJECTINSTANCEA*, DWORD, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDeviceInfo(DIDEVICEINSTANCEA*); 9b639cf2d6 2015-05-05 kinaba: HRESULT RunControlPanel(HWND, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT Initialize(HINSTANCE, DWORD, GUID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT CreateEffect(GUID*, DIEFFECT*, IDirectInputEffect*, IUnknown); 9b639cf2d6 2015-05-05 kinaba: HRESULT EnumEffects(LPDIENUMEFFECTSCALLBACKA, LPVOID, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetEffectInfo(DIEFFECTINFOA*, GUID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetForceFeedbackState(LPDWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT SendForceFeedbackCommand(DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT EnumCreatedEffectObjects(LPDIENUMCREATEDEFFECTOBJECTSCALLBACK, LPVOID, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT Escape(DIEFFESCAPE*); 9b639cf2d6 2015-05-05 kinaba: HRESULT Poll(); 9b639cf2d6 2015-05-05 kinaba: HRESULT SendDeviceData(DWORD, DIDEVICEOBJECTDATA*, LPDWORD, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT EnumEffectsInFile(LPCSTR, LPDIENUMEFFECTSINFILECALLBACK, LPVOID, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT WriteEffectToFile(LPCSTR, DWORD, DIFILEEFFECT*, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT BuildActionMap(DIACTIONFORMATA*, LPCSTR, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetActionMap(DIACTIONFORMATA*, LPCSTR, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetImageInfo(DIDEVICEIMAGEINFOHEADERA*); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IDirectInputDevice8A IDirectInputDevice8; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IDirectInput8A : IUnknown 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: extern(Windows): 9b639cf2d6 2015-05-05 kinaba: HRESULT CreateDevice(GUID*, IDirectInputDevice8A*, IUnknown); 9b639cf2d6 2015-05-05 kinaba: HRESULT EnumDevices(DWORD, LPDIENUMDEVICESCALLBACKA, LPVOID, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDeviceStatus(GUID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT RunControlPanel(HWND, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT Initialize(HINSTANCE, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT FindDevice(GUID*, LPCSTR, GUID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT EnumDevicesBySemantics(LPCSTR, DIACTIONFORMATA*, LPDIENUMDEVICESBYSEMANTICSCBA, LPVOID, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT ConfigureDevices(LPDICONFIGUREDEVICESCALLBACK, DICONFIGUREDEVICESPARAMSA*, DWORD, LPVOID); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IDirectInput8A IDirectInput8; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: extern(Windows) HRESULT DirectInput8Create(HINSTANCE hinst, DWORD dwVersion, GUID* riidltf, void** ppvOut, IUnknown punkOuter); 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: const GUID IID_IDirectInput8A={0xBF798030, 0x483A, 0x4DA2, [0xAA, 0x99, 0x5D, 0x64, 0xED, 0x36, 0x97, 0x00]}; 9b639cf2d6 2015-05-05 kinaba: alias IID_IDirectInput8A IID_IDirectInput8; 9b639cf2d6 2015-05-05 kinaba: const GUID GUID_SysKeyboard = {0x6F1D2B61, 0xD5A0, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 9b639cf2d6 2015-05-05 kinaba: const GUID GUID_SysMouse = {0x6F1D2B60, 0xD5A0, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 9b639cf2d6 2015-05-05 kinaba: const GUID GUID_XAxis = {0xA36D02E0, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 9b639cf2d6 2015-05-05 kinaba: const GUID GUID_YAxis = {0xA36D02E1, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 9b639cf2d6 2015-05-05 kinaba: const GUID GUID_ZAxis = {0xA36D02E2, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 9b639cf2d6 2015-05-05 kinaba: const GUID GUID_RxAxis = {0xA36D02F4, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 9b639cf2d6 2015-05-05 kinaba: const GUID GUID_RyAxis = {0xA36D02F5, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 9b639cf2d6 2015-05-05 kinaba: const GUID GUID_RzAxis = {0xA36D02E3, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 9b639cf2d6 2015-05-05 kinaba: const GUID GUID_Slider = {0xA36D02E4, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 9b639cf2d6 2015-05-05 kinaba: const GUID GUID_Key = {0x55728220, 0xD33C, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 9b639cf2d6 2015-05-05 kinaba: const GUID GUID_POV = {0xA36D02F2, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: enum : uint 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DISCL_EXCLUSIVE= 0x00000001, 9b639cf2d6 2015-05-05 kinaba: DISCL_NONEXCLUSIVE= 0x00000002, 9b639cf2d6 2015-05-05 kinaba: DISCL_FOREGROUND= 0x00000004, 9b639cf2d6 2015-05-05 kinaba: DISCL_BACKGROUND= 0x00000008, 9b639cf2d6 2015-05-05 kinaba: DISCL_NOWINKEY= 0x00000010, 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: DIPH_DEVICE=0, 9b639cf2d6 2015-05-05 kinaba: DIPH_BYOFFSET=1, 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: DI8DEVCLASS_GAMECTRL=4, 9b639cf2d6 2015-05-05 kinaba: DIEDFL_ATTACHEDONLY= 0x00000001, 9b639cf2d6 2015-05-05 kinaba: DIDFT_AXIS= 0x00000003 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: enum 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: SEVERITY_SUCCESS= 0, 9b639cf2d6 2015-05-05 kinaba: SEVERITY_ERROR= 1, 9b639cf2d6 2015-05-05 kinaba: FACILITY_WIN32= 7, 9b639cf2d6 2015-05-05 kinaba: ERROR_READ_FAULT= 30L, 9b639cf2d6 2015-05-05 kinaba: DIENUM_CONTINUE= 1, 9b639cf2d6 2015-05-05 kinaba: DIPH_BYID= 2 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DIPROPDWORD 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DIPROPHEADER diph; 9b639cf2d6 2015-05-05 kinaba: DWORD dwData; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: template MAKE_HRESULT(uint sev, uint fac, uint code) 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: const HRESULT MAKE_HRESULT = cast(HRESULT)((sev << 31) | (fac << 16) | code); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_OLDDIRECTINPUTVERSION = MAKE_HRESULT!(SEVERITY_ERROR, FACILITY_WIN32, 1150); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_BETADIRECTINPUTVERSION = MAKE_HRESULT!(SEVERITY_ERROR, FACILITY_WIN32, 1153); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_BADDRIVERVER = MAKE_HRESULT!(SEVERITY_ERROR, FACILITY_WIN32, 119); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_DEVICENOTREG = 0x80040154; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_NOTFOUND = MAKE_HRESULT!(SEVERITY_ERROR, FACILITY_WIN32, ERROR_FILE_NOT_FOUND); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_OBJECTNOTFOUND = MAKE_HRESULT!(SEVERITY_ERROR, FACILITY_WIN32, ERROR_FILE_NOT_FOUND); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_INVALIDPARAM = E_INVALIDARG; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_NOINTERFACE = E_NOINTERFACE; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_GENERIC = E_FAIL; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_OUTOFMEMORY = E_OUTOFMEMORY; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_UNSUPPORTED = E_NOTIMPL; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_NOTINITIALIZED = MAKE_HRESULT!(SEVERITY_ERROR, FACILITY_WIN32, 21); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_ALREADYINITIALIZED = MAKE_HRESULT!(SEVERITY_ERROR, FACILITY_WIN32, 1247); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_NOAGGREGATION = CLASS_E_NOAGGREGATION; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_OTHERAPPHASPRIO = 0x80070005; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_INPUTLOST = MAKE_HRESULT!(SEVERITY_ERROR, FACILITY_WIN32, ERROR_READ_FAULT); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_ACQUIRED = MAKE_HRESULT!(SEVERITY_ERROR, FACILITY_WIN32, 170); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_NOTACQUIRED = MAKE_HRESULT!(SEVERITY_ERROR, FACILITY_WIN32, 12); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_READONLY = 0x80070005; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_HANDLEEXISTS = 0x80070005; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_INSUFFICIENTPRIVS = 0x80040200; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_DEVICEFULL = 0x80040201; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_MOREDATA = 0x80040202; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_NOTDOWNLOADED = 0x80040203; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_HASEFFECTS = 0x80040204; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_NOTEXCLUSIVEACQUIRED = 0x80040205; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_INCOMPLETEEFFECT = 0x80040206; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_NOTBUFFERED = 0x80040207; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_EFFECTPLAYING = 0x80040208; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_UNPLUGGED = 0x80040209; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_REPORTFULL = 0x8004020A; 9b639cf2d6 2015-05-05 kinaba: const HRESULT DIERR_MAPFILEFAIL = 0x8004020B;