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.

59 lines
1.5 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1998
  6. //
  7. // File: directinput.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // DiectInput.h : Declaration of the dInputDevice
  11. #include "resource.h" // main symbols
  12. /////////////////////////////////////////////////////////////////////////////
  13. // Input Device Ojbect
  14. #define typedef_dInputDevice LPDIRECTINPUTDEVICE
  15. class CdInputDeviceObject :
  16. #ifdef USING_IDISPATCH
  17. public CComDualImpl<IdInputDevice, &IID_IdInputDevice, &LIBID_DIRECTLib>,
  18. public ISupportErrorInfo,
  19. #else
  20. public IdInputDevice,
  21. #endif
  22. public CComObjectBase<&CLSID_dInputDevice>
  23. {
  24. public:
  25. CdInputDeviceObject() ;
  26. BEGIN_COM_MAP(CdInputDeviceObject)
  27. COM_INTERFACE_ENTRY(IdInputDevice)
  28. #ifdef USING_IDISPATCH
  29. COM_INTERFACE_ENTRY(IDispatch)
  30. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  31. #endif
  32. END_COM_MAP()
  33. // Use DECLARE_NOT_AGGREGATABLE(CdInputDeviceObject) if you don't want your object
  34. // to support aggregation
  35. DECLARE_AGGREGATABLE(CdInputDeviceObject)
  36. #ifdef USING_IDISPATCH
  37. // ISupportsErrorInfo
  38. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  39. #endif
  40. // IdInputDevice
  41. public:
  42. // MUST BE FIRST!!
  43. STDMETHOD(InternalSetObject)(IUnknown *lpdd);
  44. STDMETHOD(InternalGetObject)(IUnknown **lpdd);
  45. private:
  46. DECL_VARIABLE(dInputDevice);
  47. public:
  48. DX3J_GLOBAL_LINKS( dInputDevice )
  49. };