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.

68 lines
1.6 KiB

  1. //-----------------------------------------------------------------------------
  2. // File: idiacpage.h
  3. //
  4. // Desc: IDIDeviceActionConfigPage is a COM interface for
  5. // CDIDeviceActionConfigPage. CConfigWnd uses this interface to access
  6. // the pages in UI.
  7. //
  8. // Copyright (C) 1999-2000 Microsoft Corporation. All Rights Reserved.
  9. //-----------------------------------------------------------------------------
  10. #ifndef __IDIACPAGE_H__
  11. #define __IDIACPAGE_H__
  12. typedef struct _DICFGPAGECREATESTRUCT {
  13. DWORD dwSize;
  14. int nPage;
  15. HWND hParentWnd;
  16. RECT rect;
  17. HWND hPageWnd; // out
  18. DIDEVICEINSTANCEW didi;
  19. LPDIRECTINPUTDEVICE8W lpDID;
  20. CUIGlobals *pUIGlobals;
  21. IDIConfigUIFrameWindow *pUIFrame;
  22. } DICFGPAGECREATESTRUCT;
  23. class IDIDeviceActionConfigPage : public IUnknown
  24. {
  25. public:
  26. //IUnknown fns
  27. STDMETHOD (QueryInterface) (REFIID iid, LPVOID *ppv) PURE;
  28. STDMETHOD_(ULONG, AddRef) () PURE;
  29. STDMETHOD_(ULONG, Release) () PURE;
  30. //IDirectInputActionConfigPage
  31. STDMETHOD (Create) (DICFGPAGECREATESTRUCT *pcs) PURE;
  32. STDMETHOD (Show) (LPDIACTIONFORMATW lpDiActFor) PURE;
  33. STDMETHOD (Hide) () PURE;
  34. // layout edit mode
  35. STDMETHOD (SetEditLayout) (BOOL bEditLayout) PURE;
  36. //@@BEGIN_MSINTERNAL
  37. #ifdef DDKBUILD
  38. // Write layout to IHV setting file
  39. STDMETHOD (WriteIHVSetting) () PURE;
  40. #endif
  41. //@@END_MSINTERNAL
  42. // Set the info box text
  43. STDMETHOD (SetInfoText) (int iCode) PURE;
  44. // Unacquire and Reacquire the device for page's purposes
  45. // (the configwnd needs to do this around SetActionMap() calls)
  46. STDMETHOD (Unacquire) () PURE;
  47. STDMETHOD (Reacquire) () PURE;
  48. };
  49. #endif //__IDIACPAGE_H__