File Annotation

Not logged in
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;