Changeset 9015 for trunk/include/win/dinput.h
- Timestamp:
- Aug 16, 2002, 5:07:10 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/win/dinput.h
r8345 r9015 1 /* 2 * Copyright (C) the Wine project 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 */ 18 1 19 #ifndef __WINE_DINPUT_H 2 20 #define __WINE_DINPUT_H … … 5 23 #include "unknwn.h" 6 24 7 #define DIRECTINPUT_VERSION 0x0500 25 #ifndef DIRECTINPUT_VERSION 26 #define DIRECTINPUT_VERSION 0x0800 27 #endif 8 28 9 29 /* Classes */ 10 30 DEFINE_GUID(CLSID_DirectInput, 0x25E609E0,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00); 11 31 DEFINE_GUID(CLSID_DirectInputDevice, 0x25E609E1,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00); 32 33 DEFINE_GUID(CLSID_DirectInput8, 0x25E609E4,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00); 34 DEFINE_GUID(CLSID_DirectInputDevice8, 0x25E609E5,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00); 12 35 13 36 /* Interfaces */ … … 18 41 DEFINE_GUID(IID_IDirectInput7A, 0x9A4CB684,0x236D,0x11D3,0x8E,0x9D,0x00,0xC0,0x4F,0x68,0x44,0xAE); 19 42 DEFINE_GUID(IID_IDirectInput7W, 0x9A4CB685,0x236D,0x11D3,0x8E,0x9D,0x00,0xC0,0x4F,0x68,0x44,0xAE); 43 DEFINE_GUID(IID_IDirectInput8A, 0xBF798030,0x483A,0x4DA2,0xAA,0x99,0x5D,0x64,0xED,0x36,0x97,0x00); 44 DEFINE_GUID(IID_IDirectInput8W, 0xBF798031,0x483A,0x4DA2,0xAA,0x99,0x5D,0x64,0xED,0x36,0x97,0x00); 20 45 DEFINE_GUID(IID_IDirectInputDeviceA, 0x5944E680,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00); 21 46 DEFINE_GUID(IID_IDirectInputDeviceW, 0x5944E681,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00); … … 24 49 DEFINE_GUID(IID_IDirectInputDevice7A, 0x57D7C6BC,0x2356,0x11D3,0x8E,0x9D,0x00,0xC0,0x4F,0x68,0x44,0xAE); 25 50 DEFINE_GUID(IID_IDirectInputDevice7W, 0x57D7C6BD,0x2356,0x11D3,0x8E,0x9D,0x00,0xC0,0x4F,0x68,0x44,0xAE); 51 DEFINE_GUID(IID_IDirectInputDevice8A, 0x54D41080,0xDC15,0x4833,0xA4,0x1B,0x74,0x8F,0x73,0xA3,0x81,0x79); 52 DEFINE_GUID(IID_IDirectInputDevice8W, 0x54D41081,0xDC15,0x4833,0xA4,0x1B,0x74,0x8F,0x73,0xA3,0x81,0x79); 26 53 DEFINE_GUID(IID_IDirectInputEffect, 0xE7E1F7C0,0x88D2,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35); 27 54 … … 59 86 60 87 typedef struct IDirectInputA IDirectInputA,*LPDIRECTINPUTA; 88 typedef struct IDirectInputW IDirectInputW,*LPDIRECTINPUTW; 61 89 typedef struct IDirectInput2A IDirectInput2A,*LPDIRECTINPUT2A; 90 typedef struct IDirectInput2W IDirectInput2W,*LPDIRECTINPUT2W; 62 91 typedef struct IDirectInput7A IDirectInput7A,*LPDIRECTINPUT7A; 92 typedef struct IDirectInput7W IDirectInput7W,*LPDIRECTINPUT7W; 93 typedef struct IDirectInput8A IDirectInput8A,*LPDIRECTINPUT8A; 94 typedef struct IDirectInput8W IDirectInput8W,*LPDIRECTINPUT8W; 63 95 typedef struct IDirectInputDeviceA IDirectInputDeviceA,*LPDIRECTINPUTDEVICEA; 96 typedef struct IDirectInputDeviceW IDirectInputDeviceW,*LPDIRECTINPUTDEVICEW; 64 97 typedef struct IDirectInputDevice2A IDirectInputDevice2A,*LPDIRECTINPUTDEVICE2A; 98 typedef struct IDirectInputDevice2W IDirectInputDevice2W,*LPDIRECTINPUTDEVICE2W; 65 99 typedef struct IDirectInputDevice7A IDirectInputDevice7A,*LPDIRECTINPUTDEVICE7A; 100 typedef struct IDirectInputDevice7W IDirectInputDevice7W,*LPDIRECTINPUTDEVICE7W; 101 typedef struct IDirectInputDevice8A IDirectInputDevice8A,*LPDIRECTINPUTDEVICE8A; 102 typedef struct IDirectInputDevice8W IDirectInputDevice8W,*LPDIRECTINPUTDEVICE8W; 66 103 typedef struct IDirectInputEffect IDirectInputEffect,*LPDIRECTINPUTEFFECT; 67 104 typedef struct SysKeyboardA SysKeyboardA,*LPSYSKEYBOARDA; … … 70 107 #define IID_IDirectInput WINELIB_NAME_AW(IID_IDirectInput) 71 108 DECL_WINELIB_TYPE_AW(LPDIRECTINPUT) 109 #define IID_IDirectInput2 WINELIB_NAME_AW(IID_IDirectInput2) 110 DECL_WINELIB_TYPE_AW(LPDIRECTINPUT2) 72 111 #define IID_IDirectInput7 WINELIB_NAME_AW(IID_IDirectInput7) 73 112 DECL_WINELIB_TYPE_AW(LPDIRECTINPUT7) … … 76 115 #define IID_IDirectInputDevice2 WINELIB_NAME_AW(IID_IDirectInputDevice2) 77 116 DECL_WINELIB_TYPE_AW(LPDIRECTINPUTDEVICE2) 117 #define IID_IDirectInputDevice7 WINELIB_NAME_AW(IID_IDirectInputDevice7) 118 DECL_WINELIB_TYPE_AW(LPDIRECTINPUTDEVICE7) 119 #define IID_IDirectInputDevice8 WINELIB_NAME_AW(IID_IDirectInputDevice8) 120 DECL_WINELIB_TYPE_AW(LPDIRECTINPUTDEVICE8) 78 121 79 122 #define DI_OK S_OK … … 141 184 #define DIEDFL_INCLUDEALIASES 0x00010000 142 185 #define DIEDFL_INCLUDEPHANTOMS 0x00020000 186 #define DIEDFL_INCLUDEHIDDEN 0x00040000 143 187 144 188 #define DIDEVTYPE_DEVICE 1 … … 197 241 WORD wReserved; 198 242 #endif /* DIRECTINPUT_VERSION >= 0x0500 */ 199 } DIDEVICEOBJECTINSTANCEA, *LPDIDEVICEOBJECTINSTANCEA,*LPCDIDEVICEOBJECTINSTANCEA; 243 } DIDEVICEOBJECTINSTANCEA, *LPDIDEVICEOBJECTINSTANCEA; 244 typedef const DIDEVICEOBJECTINSTANCEA *LPCDIDEVICEOBJECTINSTANCEA; 200 245 201 246 typedef struct { … … 217 262 WORD wReserved; 218 263 #endif /* DIRECTINPUT_VERSION >= 0x0500 */ 219 } DIDEVICEOBJECTINSTANCEW, *LPDIDEVICEOBJECTINSTANCEW,*LPCDIDEVICEOBJECTINSTANCEW; 264 } DIDEVICEOBJECTINSTANCEW, *LPDIDEVICEOBJECTINSTANCEW; 265 typedef const DIDEVICEOBJECTINSTANCEW *LPCDIDEVICEOBJECTINSTANCEW; 266 267 DECL_WINELIB_TYPE_AW(DIDEVICEOBJECTINSTANCE) 220 268 DECL_WINELIB_TYPE_AW(LPDIDEVICEOBJECTINSTANCE) 221 DECL_WINELIB_TYPE_AW( DIDEVICEOBJECTINSTANCE)269 DECL_WINELIB_TYPE_AW(LPCDIDEVICEOBJECTINSTANCE) 222 270 223 271 … … 234 282 WORD wUsage; 235 283 #endif /* DIRECTINPUT_VERSION >= 0x0500 */ 236 } DIDEVICEINSTANCEA, *LPDIDEVICEINSTANCEA, *LPCDIDEVICEINSTANCEA; 284 } DIDEVICEINSTANCEA, *LPDIDEVICEINSTANCEA; 285 typedef const DIDEVICEINSTANCEA *LPCDIDEVICEINSTANCEA; 237 286 238 287 typedef struct { … … 248 297 WORD wUsage; 249 298 #endif /* DIRECTINPUT_VERSION >= 0x0500 */ 250 } DIDEVICEINSTANCEW, *LPDIDEVICEINSTANCEW, *LPCDIDEVICEINSTANCEW; 299 } DIDEVICEINSTANCEW, *LPDIDEVICEINSTANCEW; 300 typedef const DIDEVICEINSTANCEW *LPCDIDEVICEINSTANCEW; 301 251 302 DECL_WINELIB_TYPE_AW(DIDEVICEINSTANCE) 252 303 DECL_WINELIB_TYPE_AW(LPDIDEVICEINSTANCE) … … 257 308 DECL_WINELIB_TYPE_AW(LPDIENUMDEVICESCALLBACK) 258 309 259 typedef BOOL (* CALLBACK LPDIENUMDEVICEOBJECTSCALLBACKA)(LPCDIDEVICEOBJECTINSTANCEA, LPVOID); 310 #if DIRECTINPUT_VERSION >= 0x0800 311 typedef BOOL (* CALLBACK LPDIENUMDEVICESBYSEMANTICSCBA)(LPCDIDEVICEINSTANCEA,LPDIRECTINPUTDEVICE8A,DWORD,DWORD,LPVOID); 312 typedef BOOL (* CALLBACK LPDIENUMDEVICESBYSEMANTICSCBW)(LPCDIDEVICEINSTANCEW,LPDIRECTINPUTDEVICE8W,DWORD,DWORD,LPVOID); 313 DECL_WINELIB_TYPE_AW(LPDIENUMDEVICESBYSEMANTICSCB) 314 #endif 315 316 typedef BOOL (* CALLBACK LPDICONFIGUREDEVICESCALLBACK)(LPUNKNOWN,LPVOID); 317 318 typedef BOOL (* CALLBACK LPDIENUMDEVICEOBJECTSCALLBACKA)(LPCDIDEVICEOBJECTINSTANCEA,LPVOID); 260 319 typedef BOOL (* CALLBACK LPDIENUMDEVICEOBJECTSCALLBACKW)(LPCDIDEVICEOBJECTINSTANCEW,LPVOID); 261 320 DECL_WINELIB_TYPE_AW(LPDIENUMDEVICEOBJECTSCALLBACK) … … 432 491 DWORD dwTimeStamp; 433 492 DWORD dwSequence; 434 } DIDEVICEOBJECTDATA,*LPDIDEVICEOBJECTDATA,*LPCDIDEVICEOBJECTDATA; 493 } DIDEVICEOBJECTDATA,*LPDIDEVICEOBJECTDATA; 494 typedef const DIDEVICEOBJECTDATA *LPCDIDEVICEOBJECTDATA; 435 495 436 496 typedef struct _DIOBJECTDATAFORMAT { … … 494 554 GUID guidClass; 495 555 WCHAR wszPath[MAX_PATH]; 496 } DIPROPGUIDANDPATH, *LPDIPROPGUIDANDPATH,*LPCDIPROPGUIDANDPATH; 556 } DIPROPGUIDANDPATH, *LPDIPROPGUIDANDPATH; 557 typedef const DIPROPGUIDANDPATH *LPCDIPROPGUIDANDPATH; 497 558 498 559 /* special property GUIDs */ … … 565 626 LONG lMagnitude; 566 627 } DICONSTANTFORCE, *LPDICONSTANTFORCE; 567 568 628 typedef const DICONSTANTFORCE *LPCDICONSTANTFORCE; 569 629 … … 572 632 LONG lEnd; 573 633 } DIRAMPFORCE, *LPDIRAMPFORCE; 574 575 634 typedef const DIRAMPFORCE *LPCDIRAMPFORCE; 576 635 … … 581 640 DWORD dwPeriod; 582 641 } DIPERIODIC, *LPDIPERIODIC; 583 584 642 typedef const DIPERIODIC *LPCDIPERIODIC; 585 643 … … 592 650 LONG lDeadBand; 593 651 } DICONDITION, *LPDICONDITION; 594 595 652 typedef const DICONDITION *LPCDICONDITION; 596 653 … … 601 658 LPLONG rglForceData; 602 659 } DICUSTOMFORCE, *LPDICUSTOMFORCE; 603 604 660 typedef const DICUSTOMFORCE *LPCDICUSTOMFORCE; 605 661 … … 611 667 DWORD dwFadeTime; 612 668 } DIENVELOPE, *LPDIENVELOPE; 613 614 669 typedef const DIENVELOPE *LPCDIENVELOPE; 615 670 … … 629 684 LPVOID lpvTypeSpecificParams; 630 685 } DIEFFECT, *LPDIEFFECT; 631 632 686 typedef const DIEFFECT *LPCDIEFFECT; 633 687 … … 640 694 CHAR tszName[MAX_PATH]; 641 695 } DIEFFECTINFOA, *LPDIEFFECTINFOA; 696 typedef const DIEFFECTINFOA *LPCDIEFFECTINFOA; 642 697 643 698 typedef struct DIEFFECTINFOW { … … 649 704 WCHAR tszName[MAX_PATH]; 650 705 } DIEFFECTINFOW, *LPDIEFFECTINFOW; 651 652 #ifdef UNICODE653 typedef DIEFFECTINFOW DIEFFECTINFO;654 typedef LPDIEFFECTINFOW LPDIEFFECTINFO;655 #else656 typedef DIEFFECTINFOA DIEFFECTINFO;657 typedef LPDIEFFECTINFOA LPDIEFFECTINFO;658 #endif659 660 typedef const DIEFFECTINFOA *LPCDIEFFECTINFOA;661 706 typedef const DIEFFECTINFOW *LPCDIEFFECTINFOW; 662 typedef const DIEFFECTINFO *LPCDIEFFECTINFO; 707 708 DECL_WINELIB_TYPE_AW(DIEFFECTINFO) 709 DECL_WINELIB_TYPE_AW(LPDIEFFECTINFO) 710 DECL_WINELIB_TYPE_AW(LPCDIEFFECTINFO) 663 711 664 712 typedef BOOL (* CALLBACK LPDIENUMEFFECTSCALLBACKA)(LPCDIEFFECTINFOA, LPVOID); … … 771 819 } DIFILEEFFECT, *LPDIFILEEFFECT; 772 820 773 typedef const DIFILEEFFECT *LPCDIFILEEFFECT; 774 typedef BOOL (* CALLBACK LPDIENUMEFFECTSINFILECALLBACK)(LPCDIFILEEFFECT , LPVOID); 821 typedef const DIFILEEFFECT *LPCDIFILEEFFECT; 822 typedef BOOL (* CALLBACK LPDIENUMEFFECTSINFILECALLBACK)(LPCDIFILEEFFECT , LPVOID); 823 824 /* DInput 8 structures and types */ 825 #if DIRECTINPUT_VERSION >= 0x0800 826 typedef struct _DIACTIONA { 827 UINT_PTR uAppData; 828 DWORD dwSemantics; 829 DWORD dwFlags; 830 union { 831 LPCSTR lptszActionName; 832 UINT uResIdString; 833 } DUMMYUNIONNAME; 834 GUID guidInstance; 835 DWORD dwObjID; 836 DWORD dwHow; 837 } DIACTIONA, *LPDIACTIONA; 838 typedef const DIACTIONA *LPCDIACTIONA; 839 840 typedef struct _DIACTIONW { 841 UINT_PTR uAppData; 842 DWORD dwSemantics; 843 DWORD dwFlags; 844 union { 845 LPCWSTR lptszActionName; 846 UINT uResIdString; 847 } DUMMYUNIONNAME; 848 GUID guidInstance; 849 DWORD dwObjID; 850 DWORD dwHow; 851 } DIACTIONW, *LPDIACTIONW; 852 typedef const DIACTIONW *LPCDIACTIONW; 853 854 DECL_WINELIB_TYPE_AW(DIACTION) 855 DECL_WINELIB_TYPE_AW(LPDIACTION) 856 DECL_WINELIB_TYPE_AW(LPCDIACTION) 857 858 #define DIA_FORCEFEEDBACK 0x00000001 859 #define DIA_APPMAPPED 0x00000002 860 #define DIA_APPNOMAP 0x00000004 861 #define DIA_NORANGE 0x00000008 862 #define DIA_APPFIXED 0x00000010 863 864 #define DIAH_UNMAPPED 0x00000000 865 #define DIAH_USERCONFIG 0x00000001 866 #define DIAH_APPREQUESTED 0x00000002 867 #define DIAH_HWAPP 0x00000004 868 #define DIAH_HWDEFAULT 0x00000008 869 #define DIAH_DEFAULT 0x00000020 870 #define DIAH_ERROR 0x80000000 871 872 typedef struct _DIACTIONFORMATA { 873 DWORD dwSize; 874 DWORD dwActionSize; 875 DWORD dwDataSize; 876 DWORD dwNumActions; 877 LPDIACTIONA rgoAction; 878 GUID guidActionMap; 879 DWORD dwGenre; 880 DWORD dwBufferSize; 881 LONG lAxisMin; 882 LONG lAxisMax; 883 HINSTANCE hInstString; 884 FILETIME ftTimeStamp; 885 DWORD dwCRC; 886 CHAR tszActionMap[MAX_PATH]; 887 } DIACTIONFORMATA, *LPDIACTIONFORMATA; 888 typedef const DIACTIONFORMATA *LPCDIACTIONFORMATA; 889 890 typedef struct _DIACTIONFORMATW { 891 DWORD dwSize; 892 DWORD dwActionSize; 893 DWORD dwDataSize; 894 DWORD dwNumActions; 895 LPDIACTIONW rgoAction; 896 GUID guidActionMap; 897 DWORD dwGenre; 898 DWORD dwBufferSize; 899 LONG lAxisMin; 900 LONG lAxisMax; 901 HINSTANCE hInstString; 902 FILETIME ftTimeStamp; 903 DWORD dwCRC; 904 WCHAR tszActionMap[MAX_PATH]; 905 } DIACTIONFORMATW, *LPDIACTIONFORMATW; 906 typedef const DIACTIONFORMATW *LPCDIACTIONFORMATW; 907 908 DECL_WINELIB_TYPE_AW(DIACTIONFORMAT) 909 DECL_WINELIB_TYPE_AW(LPDIACTIONFORMAT) 910 DECL_WINELIB_TYPE_AW(LPCDIACTIONFORMAT) 911 912 #define DIAFTS_NEWDEVICELOW 0xFFFFFFFF 913 #define DIAFTS_NEWDEVICEHIGH 0xFFFFFFFF 914 #define DIAFTS_UNUSEDDEVICELOW 0x00000000 915 #define DIAFTS_UNUSEDDEVICEHIGH 0x00000000 916 917 #define DIDBAM_DEFAULT 0x00000000 918 #define DIDBAM_PRESERVE 0x00000001 919 #define DIDBAM_INITIALIZE 0x00000002 920 #define DIDBAM_HWDEFAULTS 0x00000004 921 922 #define DIDSAM_DEFAULT 0x00000000 923 #define DIDSAM_NOUSER 0x00000001 924 #define DIDSAM_FORCESAVE 0x00000002 925 926 #define DICD_DEFAULT 0x00000000 927 #define DICD_EDIT 0x00000001 928 929 #ifndef D3DCOLOR_DEFINED 930 typedef DWORD D3DCOLOR; 931 #define D3DCOLOR_DEFINED 932 #endif 933 934 typedef struct _DICOLORSET { 935 DWORD dwSize; 936 D3DCOLOR cTextFore; 937 D3DCOLOR cTextHighlight; 938 D3DCOLOR cCalloutLine; 939 D3DCOLOR cCalloutHighlight; 940 D3DCOLOR cBorder; 941 D3DCOLOR cControlFill; 942 D3DCOLOR cHighlightFill; 943 D3DCOLOR cAreaFill; 944 } DICOLORSET, *LPDICOLORSET; 945 typedef const DICOLORSET *LPCDICOLORSET; 946 947 typedef struct _DICONFIGUREDEVICESPARAMSA { 948 DWORD dwSize; 949 DWORD dwcUsers; 950 LPSTR lptszUserNames; 951 DWORD dwcFormats; 952 LPDIACTIONFORMATA lprgFormats; 953 HWND hwnd; 954 DICOLORSET dics; 955 LPUNKNOWN lpUnkDDSTarget; 956 } DICONFIGUREDEVICESPARAMSA, *LPDICONFIGUREDEVICESPARAMSA; 957 typedef const DICONFIGUREDEVICESPARAMSA *LPCDICONFIGUREDEVICESPARAMSA; 958 959 typedef struct _DICONFIGUREDEVICESPARAMSW { 960 DWORD dwSize; 961 DWORD dwcUsers; 962 LPWSTR lptszUserNames; 963 DWORD dwcFormats; 964 LPDIACTIONFORMATW lprgFormats; 965 HWND hwnd; 966 DICOLORSET dics; 967 LPUNKNOWN lpUnkDDSTarget; 968 } DICONFIGUREDEVICESPARAMSW, *LPDICONFIGUREDEVICESPARAMSW; 969 typedef const DICONFIGUREDEVICESPARAMSW *LPCDICONFIGUREDEVICESPARAMSW; 970 971 DECL_WINELIB_TYPE_AW(DICONFIGUREDEVICESPARAMS) 972 DECL_WINELIB_TYPE_AW(LPDICONFIGUREDEVICESPARAMS) 973 DECL_WINELIB_TYPE_AW(LPCDICONFIGUREDEVICESPARAMS) 974 975 #define DIDIFT_CONFIGURATION 0x00000001 976 #define DIDIFT_OVERLAY 0x00000002 977 978 #define DIDAL_CENTERED 0x00000000 979 #define DIDAL_LEFTALIGNED 0x00000001 980 #define DIDAL_RIGHTALIGNED 0x00000002 981 #define DIDAL_MIDDLE 0x00000000 982 #define DIDAL_TOPALIGNED 0x00000004 983 #define DIDAL_BOTTOMALIGNED 0x00000008 984 985 typedef struct _DIDEVICEIMAGEINFOA { 986 CHAR tszImagePath[MAX_PATH]; 987 DWORD dwFlags; 988 DWORD dwViewID; 989 RECT rcOverlay; 990 DWORD dwObjID; 991 DWORD dwcValidPts; 992 POINT rgptCalloutLine[5]; 993 RECT rcCalloutRect; 994 DWORD dwTextAlign; 995 } DIDEVICEIMAGEINFOA, *LPDIDEVICEIMAGEINFOA; 996 typedef const DIDEVICEIMAGEINFOA *LPCDIDEVICEIMAGEINFOA; 997 998 typedef struct _DIDEVICEIMAGEINFOW { 999 WCHAR tszImagePath[MAX_PATH]; 1000 DWORD dwFlags; 1001 DWORD dwViewID; 1002 RECT rcOverlay; 1003 DWORD dwObjID; 1004 DWORD dwcValidPts; 1005 POINT rgptCalloutLine[5]; 1006 RECT rcCalloutRect; 1007 DWORD dwTextAlign; 1008 } DIDEVICEIMAGEINFOW, *LPDIDEVICEIMAGEINFOW; 1009 typedef const DIDEVICEIMAGEINFOW *LPCDIDEVICEIMAGEINFOW; 1010 1011 DECL_WINELIB_TYPE_AW(DIDEVICEIMAGEINFO) 1012 DECL_WINELIB_TYPE_AW(LPDIDEVICEIMAGEINFO) 1013 DECL_WINELIB_TYPE_AW(LPCDIDEVICEIMAGEINFO) 1014 1015 typedef struct _DIDEVICEIMAGEINFOHEADERA { 1016 DWORD dwSize; 1017 DWORD dwSizeImageInfo; 1018 DWORD dwcViews; 1019 DWORD dwcButtons; 1020 DWORD dwcAxes; 1021 DWORD dwcPOVs; 1022 DWORD dwBufferSize; 1023 DWORD dwBufferUsed; 1024 LPDIDEVICEIMAGEINFOA lprgImageInfoArray; 1025 } DIDEVICEIMAGEINFOHEADERA, *LPDIDEVICEIMAGEINFOHEADERA; 1026 typedef const DIDEVICEIMAGEINFOHEADERA *LPCDIDEVICEIMAGEINFOHEADERA; 1027 1028 typedef struct _DIDEVICEIMAGEINFOHEADERW { 1029 DWORD dwSize; 1030 DWORD dwSizeImageInfo; 1031 DWORD dwcViews; 1032 DWORD dwcButtons; 1033 DWORD dwcAxes; 1034 DWORD dwcPOVs; 1035 DWORD dwBufferSize; 1036 DWORD dwBufferUsed; 1037 LPDIDEVICEIMAGEINFOW lprgImageInfoArray; 1038 } DIDEVICEIMAGEINFOHEADERW, *LPDIDEVICEIMAGEINFOHEADERW; 1039 typedef const DIDEVICEIMAGEINFOHEADERW *LPCDIDEVICEIMAGEINFOHEADERW; 1040 1041 DECL_WINELIB_TYPE_AW(DIDEVICEIMAGEINFOHEADER) 1042 DECL_WINELIB_TYPE_AW(LPDIDEVICEIMAGEINFOHEADER) 1043 DECL_WINELIB_TYPE_AW(LPCDIDEVICEIMAGEINFOHEADER) 1044 1045 #endif /* DI8 */ 775 1046 776 1047 … … 874 1145 ICOM_METHOD1(HRESULT,Escape, LPDIEFFESCAPE,pesc) \ 875 1146 ICOM_METHOD (HRESULT,Poll) \ 876 ICOM_METHOD4(HRESULT,SendDeviceData, DWORD,cbObjectData, LP DIDEVICEOBJECTDATA,rgdod, LPDWORD,pdwInOut, DWORD,fl)1147 ICOM_METHOD4(HRESULT,SendDeviceData, DWORD,cbObjectData, LPCDIDEVICEOBJECTDATA,rgdod, LPDWORD,pdwInOut, DWORD,fl) 877 1148 #define IDirectInputDevice2A_IMETHODS \ 878 1149 IDirectInputDeviceA_IMETHODS \ … … 912 1183 #define IDirectInputDevice2_SendDeviceData(p,a,b,c,d) ICOM_CALL4(SendDeviceData,p,a,b,c,d) 913 1184 1185 #if DIRECTINPUT_VERSION >= 0x0700 914 1186 /***************************************************************************** 915 1187 * IDirectInputDevice7A interface … … 920 1192 ICOM_METHOD4(HRESULT,WriteEffectToFile,LPCSTR,lpszFileName,DWORD,dwEntries,LPDIFILEEFFECT,rgDiFileEft,DWORD,dwFlags) 921 1193 #define IDirectInputDevice7A_IMETHODS \ 922 IDirectInputDeviceA_IMETHODS \ 923 IDirectInputDevice2A_METHODS \ 1194 IDirectInputDevice2A_IMETHODS \ 924 1195 IDirectInputDevice7A_METHODS 925 1196 ICOM_DEFINE(IDirectInputDevice7A,IDirectInputDevice2A) … … 959 1230 #define IDirectInputDevice7_EnumEffectsInFile(p,a,b,c,d) ICOM_CALL4(EnumEffectsInFile,p,a,b,c,d) 960 1231 #define IDirectInputDevice7_WriteEffectToFile(p,a,b,c,d) ICOM_CALL4(WriteEffectToFile,p,a,b,c,d) 1232 #endif /* DI7 */ 1233 1234 #if DIRECTINPUT_VERSION >= 0x0800 1235 /***************************************************************************** 1236 * IDirectInputDevice8A interface 1237 */ 1238 #define ICOM_INTERFACE IDirectInputDevice8A 1239 #define IDirectInputDevice8A_METHODS \ 1240 ICOM_METHOD3(HRESULT,BuildActionMap, LPDIACTIONFORMATA,lpdiaf, LPCSTR,lpszUserName, DWORD,dwFlags) \ 1241 ICOM_METHOD3(HRESULT,SetActionMap, LPDIACTIONFORMATA,lpdiaf, LPCSTR,lpszUserName, DWORD,dwFlags) \ 1242 ICOM_METHOD1(HRESULT,GetImageInfo, LPDIDEVICEIMAGEINFOHEADERA,lpdiDevImageInfoHeader) 1243 #define IDirectInputDevice8A_IMETHODS \ 1244 IDirectInputDevice7A_IMETHODS \ 1245 IDirectInputDevice8A_METHODS 1246 ICOM_DEFINE(IDirectInputDevice8A,IDirectInputDevice7A) 1247 #undef ICOM_INTERFACE 1248 1249 /*** IUnknown methods ***/ 1250 #define IDirectInputDevice8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) 1251 #define IDirectInputDevice8_AddRef(p) ICOM_CALL (AddRef,p) 1252 #define IDirectInputDevice8_Release(p) ICOM_CALL (Release,p) 1253 /*** IDirectInputDevice methods ***/ 1254 #define IDirectInputDevice8_GetCapabilities(p,a) ICOM_CALL1(GetCapabilities,p,a) 1255 #define IDirectInputDevice8_EnumObjects(p,a,b,c) ICOM_CALL3(EnumObjects,p,a,b,c) 1256 #define IDirectInputDevice8_GetProperty(p,a,b) ICOM_CALL2(GetProperty,p,a,b) 1257 #define IDirectInputDevice8_SetProperty(p,a,b) ICOM_CALL2(SetProperty,p,a,b) 1258 #define IDirectInputDevice8_Acquire(p) ICOM_CALL (Acquire,p) 1259 #define IDirectInputDevice8_Unacquire(p) ICOM_CALL (Unacquire,p) 1260 #define IDirectInputDevice8_GetDeviceState(p,a,b) ICOM_CALL2(GetDeviceState,p,a,b) 1261 #define IDirectInputDevice8_GetDeviceData(p,a,b,c,d) ICOM_CALL4(GetDeviceData,p,a,b,c,d) 1262 #define IDirectInputDevice8_SetDataFormat(p,a) ICOM_CALL1(SetDataFormat,p,a) 1263 #define IDirectInputDevice8_SetEventNotification(p,a) ICOM_CALL1(SetEventNotification,p,a) 1264 #define IDirectInputDevice8_SetCooperativeLevel(p,a,b) ICOM_CALL2(SetCooperativeLevel,p,a,b) 1265 #define IDirectInputDevice8_GetObjectInfo(p,a,b,c) ICOM_CALL3(GetObjectInfo,p,a,b,c) 1266 #define IDirectInputDevice8_GetDeviceInfo(p,a) ICOM_CALL1(GetDeviceInfo,p,a) 1267 #define IDirectInputDevice8_RunControlPanel(p,a,b) ICOM_CALL2(RunControlPanel,p,a,b) 1268 #define IDirectInputDevice8_Initialize(p,a,b,c) ICOM_CALL3(Initialize,p,a,b,c) 1269 /*** IDirectInputDevice2 methods ***/ 1270 #define IDirectInputDevice8_CreateEffect(p,a,b,c,d) ICOM_CALL4(CreateEffect,p,a,b,c,d) 1271 #define IDirectInputDevice8_EnumEffects(p,a,b,c) ICOM_CALL3(EnumEffects,p,a,b,c) 1272 #define IDirectInputDevice8_GetEffectInfo(p,a,b) ICOM_CALL2(GetEffectInfo,p,a,b) 1273 #define IDirectInputDevice8_GetForceFeedbackState(p,a) ICOM_CALL1(GetForceFeedbackState,p,a) 1274 #define IDirectInputDevice8_SendForceFeedbackCommand(p,a) ICOM_CALL1(SendForceFeedbackCommand,p,a) 1275 #define IDirectInputDevice8_EnumCreatedEffectObjects(p,a,b,c) ICOM_CALL3(EnumCreatedEffectObjects,p,a,b,c) 1276 #define IDirectInputDevice8_Escape(p,a) ICOM_CALL1(Escape,p,a) 1277 #define IDirectInputDevice8_Poll(p) ICOM_CALL (Poll,p) 1278 #define IDirectInputDevice8_SendDeviceData(p,a,b,c,d) ICOM_CALL4(SendDeviceData,p,a,b,c,d) 1279 /*** IDirectInputDevice7 methods ***/ 1280 #define IDirectInputDevice8_EnumEffectsInFile(p,a,b,c,d) ICOM_CALL4(EnumEffectsInFile,p,a,b,c,d) 1281 #define IDirectInputDevice8_WriteEffectToFile(p,a,b,c,d) ICOM_CALL4(WriteEffectToFile,p,a,b,c,d) 1282 /*** IDirectInputDevice8 methods ***/ 1283 #define IDirectInputDevice8_BuildActionMap(p,a,b,c) ICOM_CALL3(BuildActionMap,p,a,b,c) 1284 #define IDirectInputDevice8_SetActionMap(p,a,b,c) ICOM_CALL3(SetActionMap,p,a,b,c) 1285 #define IDirectInputDevice8_GetImageInfo(p,a) ICOM_CALL1(GetImageInfo,p,a) 1286 #endif /* DI8 */ 961 1287 962 1288 /* "Standard" Mouse report... */ … … 1048 1374 #define IDirectInput2A_FindDevice(p,a,b,c) ICOM_CALL3(FindDevice,p,a,b,c) 1049 1375 1376 #if DIRECTINPUT_VERSION >= 0x0700 1050 1377 /***************************************************************************** 1051 1378 * IDirectInput7A interface … … 1074 1401 /*** IDirectInput7A methods ***/ 1075 1402 #define IDirectInput7A_CreateDeviceEx(p,a,b,c,d) ICOM_CALL4(CreateDeviceEx,p,a,b,c,d) 1076 1077 /* Export functions */ 1403 #endif /* DI7 */ 1404 1405 #if DIRECTINPUT_VERSION >= 0x0800 1406 /***************************************************************************** 1407 * IDirectInput8A interface 1408 */ 1409 #define ICOM_INTERFACE IDirectInput8A 1410 #define IDirectInput8A_METHODS \ 1411 ICOM_METHOD3(HRESULT,CreateDevice, REFGUID,rguid, LPDIRECTINPUTDEVICE8A*,lplpDirectInputDevice, LPUNKNOWN,pUnkOuter) \ 1412 ICOM_METHOD4(HRESULT,EnumDevices, DWORD,dwDevType, LPDIENUMDEVICESCALLBACKA,lpCallback, LPVOID,pvRef, DWORD,dwFlags) \ 1413 ICOM_METHOD1(HRESULT,GetDeviceStatus, REFGUID,rguidInstance) \ 1414 ICOM_METHOD2(HRESULT,RunControlPanel, HWND,hwndOwner, DWORD,dwFlags) \ 1415 ICOM_METHOD2(HRESULT,Initialize, HINSTANCE,hinst, DWORD,dwVersion) \ 1416 ICOM_METHOD3(HRESULT,FindDevice, REFGUID,rguid, LPCSTR,pszName, LPGUID,pguidInstance) \ 1417 ICOM_METHOD5(HRESULT,EnumDevicesBySemantics, LPCSTR,ptszUserName, LPDIACTIONFORMATA,lpdiActionFormat, LPDIENUMDEVICESBYSEMANTICSCBA,lpCallback, LPVOID,pvRef, DWORD,dwFlags) \ 1418 ICOM_METHOD4(HRESULT,ConfigureDevices,LPDICONFIGUREDEVICESCALLBACK,lpdiCallback, LPDICONFIGUREDEVICESPARAMSA,lpdiCDParams, DWORD,dwFlags, LPVOID,pvRefData) 1419 #define IDirectInput8A_IMETHODS \ 1420 IUnknown_IMETHODS \ 1421 IDirectInput8A_METHODS 1422 ICOM_DEFINE(IDirectInput8A,IUnknown) 1423 #undef ICOM_INTERFACE 1424 1425 /*** IUnknown methods ***/ 1426 #define IDirectInput8A_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) 1427 #define IDirectInput8A_AddRef(p) ICOM_CALL (AddRef,p) 1428 #define IDirectInput8A_Release(p) ICOM_CALL (Release,p) 1429 /*** IDirectInput8A methods ***/ 1430 #define IDirectInput8A_CreateDevice(p,a,b,c) ICOM_CALL3(CreateDevice,p,a,b,c) 1431 #define IDirectInput8A_EnumDevices(p,a,b,c,d) ICOM_CALL4(EnumDevices,p,a,b,c,d) 1432 #define IDirectInput8A_GetDeviceStatus(p,a) ICOM_CALL1(GetDeviceStatus,p,a) 1433 #define IDirectInput8A_RunControlPanel(p,a,b) ICOM_CALL2(RunControlPanel,p,a,b) 1434 #define IDirectInput8A_Initialize(p,a,b) ICOM_CALL2(Initialize,p,a,b) 1435 #define IDirectInput8A_FindDevice(p,a,b,c) ICOM_CALL3(FindDevice,p,a,b,c) 1436 #define IDirectInput8A_EnumDevicesBySemantics(p,a,b,c,d,e) ICOM_CALL5(EnumDevicesBySemantics,p,a,b,c,d,e) 1437 #define IDirectInput8A_ConfigureDevices(p,a,b,c,d) ICOM_CALL4(ConfigureDevices,p,a,b,c,d) 1438 #endif /* DI8 */ 1439 1440 /* Export functions */ 1078 1441 1079 1442 #ifdef __cplusplus … … 1081 1444 #endif 1082 1445 1446 #if DIRECTINPUT_VERSION >= 0x0800 1447 HRESULT WINAPI DirectInput8Create(HINSTANCE,DWORD,REFIID,LPVOID *,LPUNKNOWN); 1448 #endif 1449 1083 1450 HRESULT WINAPI DirectInputCreateA(HINSTANCE,DWORD,LPDIRECTINPUTA *,LPUNKNOWN); 1084 1451 HRESULT WINAPI DirectInputCreateW(HINSTANCE,DWORD,LPDIRECTINPUTA *,LPUNKNOWN);
Note:
See TracChangeset
for help on using the changeset viewer.