Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
3.2 KiB

  1. //===========================================================================
  2. // dmtinput.h
  3. //
  4. // History:
  5. // 08/30/1999 - davidkl - created
  6. //===========================================================================
  7. #ifndef _DMTINPUT_H
  8. #define _DMTINPUT_H
  9. //---------------------------------------------------------------------------
  10. #include <dinputd.h>
  11. //---------------------------------------------------------------------------
  12. // if we ever decide to include dinputp.h
  13. // these will get skipped. for now, we need
  14. // to be sure we update these macros as they
  15. // change
  16. #ifndef DISEM_PRI_GET
  17. #define DISEM_PRI_GET(x) (( (x) & 0x00004000 ) >>14 )
  18. #endif
  19. #ifndef DISEM_TYPE_GET
  20. #define DISEM_TYPE_GET(x) (( (x) & 0x00000600 ) >>9 )
  21. #endif
  22. //---------------------------------------------------------------------------
  23. #define DMTINPUT_BUFFERSIZE 32
  24. //---------------------------------------------------------------------------
  25. // prototypes
  26. HRESULT dmtinputCreateDeviceList(HWND hwnd,
  27. BOOL fEnumSuitable,
  28. DMTSUBGENRE_NODE *pdmtsg,
  29. DMTDEVICE_NODE **ppdmtdList);
  30. HRESULT dmtinputFreeDeviceList(DMTDEVICE_NODE **ppdmtdList);
  31. HRESULT dmtinputCreateObjectList(IDirectInputDevice8A *pdid,
  32. GUID guidInstance,
  33. DMTDEVICEOBJECT_NODE **ppdmtoList);
  34. HRESULT dmtinputFreeObjectList(DMTDEVICEOBJECT_NODE **ppdmtoList);
  35. BOOL CALLBACK dmtinputEnumDevicesCallback(LPCDIDEVICEINSTANCEA pddi,
  36. IDirectInputDevice8A *pdid,
  37. DWORD,
  38. DWORD,
  39. void *pvData);
  40. BOOL CALLBACK dmtinputEnumDeviceObjectsCallback(LPCDIDEVICEOBJECTINSTANCEA pddoi,
  41. void *pvData);
  42. HRESULT dmtinputPopulateActionArray(DIACTIONA *pdia,
  43. UINT uElements,
  44. DMTACTION_NODE *pdmtaList);
  45. HRESULT dmtinputXlatDIDFTtoInternalType(DWORD dwType,
  46. DWORD *pdwInternalType);
  47. HRESULT dmtinputPrepDevice(HWND hwnd,
  48. DWORD dwGenreId,
  49. DMTDEVICE_NODE *pDevice,
  50. DWORD dwActions,
  51. DIACTION *pdia);
  52. DWORD dmtinputGetActionPri(DWORD dwSemantic);
  53. DWORD dmtinputGetActionObjectType(DWORD dwSemantic);
  54. HRESULT dmtinputCreateDirectInput(HINSTANCE hinst,
  55. IDirectInput8A **ppdi);
  56. BOOL dmtinputDeviceHasObject(DMTDEVICEOBJECT_NODE *pObjectList,
  57. DWORD dwType);
  58. HRESULT dmtinputRegisterMapFile(HWND hwnd,
  59. DMTDEVICE_NODE *pDevice);
  60. HRESULT dmtinputGetRegisteredMapFile(HWND hwnd,
  61. DMTDEVICE_NODE *pDevice,
  62. PSTR pszFilename,
  63. DWORD cbFilename);
  64. HRESULT dmtOpenTypeKey( LPCWSTR wszType,
  65. DWORD hKey,
  66. PHKEY phKey );
  67. //---------------------------------------------------------------------------
  68. #endif // _DMTINPUT_H