Leaked source code of windows server 2003
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.

93 lines
2.6 KiB

  1. /****************************************************************************
  2. *
  3. * File: inptinfo.h
  4. * Project: DxDiag (DirectX Diagnostic Tool)
  5. * Author: Mike Anderson (manders@microsoft.com)
  6. * Purpose: Gather information about input devices on this machine
  7. *
  8. * (C) Copyright 1998 Microsoft Corp. All rights reserved.
  9. *
  10. ****************************************************************************/
  11. #ifndef INPUTINFO_H
  12. #define INPUTINFO_H
  13. // DXD_IN_DI_VALUE is the name of a value stored under the registry key
  14. // HKLM\DXD_IN_DI_KEY that indicates that DxDiag is using
  15. // DirectInput. If DxDiag starts up and this value exists, DxDiag
  16. // probably crashed in DirectInput and DxDiag should offer to run without
  17. // using DirectInput.
  18. #define DXD_IN_DI_KEY TEXT("Software\\Microsoft\\DirectX Diagnostic Tool")
  19. #define DXD_IN_DI_VALUE TEXT("DxDiag In DirectInput")
  20. struct InputDeviceInfo
  21. {
  22. DWORD m_dwUsageSettings;
  23. TCHAR m_szSettings[100]; // formatted version of m_dwUsageSettings
  24. TCHAR m_szDeviceName[100];
  25. TCHAR m_szDriverName[100];
  26. TCHAR m_szDriverVersion[100];
  27. TCHAR m_szDriverLanguage[100];
  28. TCHAR m_szDriverLanguageLocal[100];
  29. TCHAR m_szDriverDate[100];
  30. TCHAR m_szDriverDateLocal[100];
  31. TCHAR m_szDriverAttributes[100];
  32. LONG m_numBytes;
  33. BOOL m_bBeta;
  34. BOOL m_bDebug;
  35. BOOL m_bDriverSigned;
  36. BOOL m_bDriverSignedValid;
  37. BOOL m_bProblem;
  38. InputDeviceInfo* m_pInputDeviceInfoNext;
  39. };
  40. struct InputDeviceInfoNT
  41. {
  42. TCHAR m_szName[200];
  43. TCHAR m_szProvider[200];
  44. TCHAR m_szId[200];
  45. DWORD m_dwStatus;
  46. DWORD m_dwProblem;
  47. TCHAR m_szPortName[200];
  48. TCHAR m_szPortProvider[200];
  49. TCHAR m_szPortId[200];
  50. DWORD m_dwPortStatus;
  51. DWORD m_dwPortProblem;
  52. BOOL m_bProblem;
  53. InputDeviceInfoNT* m_pInputDeviceInfoNTNext;
  54. };
  55. struct InputDriverInfo
  56. {
  57. TCHAR m_szRegKey[100];
  58. TCHAR m_szDeviceID[100];
  59. TCHAR m_szMatchingDeviceID[100];
  60. TCHAR m_szDriver16[100];
  61. TCHAR m_szDriver32[100];
  62. BOOL m_bActive;
  63. BOOL m_bProblem;
  64. InputDriverInfo* m_pInputDriverInfoNext;
  65. };
  66. struct InputInfo
  67. {
  68. BOOL m_bNT;
  69. BOOL m_bPollFlags;
  70. InputDeviceInfo* m_pInputDeviceInfoFirst;
  71. InputDeviceInfoNT* m_pInputDeviceInfoNTFirst;
  72. InputDriverInfo* m_pInputDriverInfoFirst;
  73. RegError* m_pRegErrorFirst;
  74. };
  75. HRESULT GetInputInfo(InputInfo** ppInputInfo);
  76. HRESULT GetInputDriverInfo(InputInfo* pInputInfo);
  77. VOID DestroyInputInfo(InputInfo* pInputInfo);
  78. VOID DiagnoseInput(SysInfo* pSysInfo, InputInfo* pInputInfo);
  79. #endif // INPUTINFO_H