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.

75 lines
2.2 KiB

  1. //----------------------------------------------------------------------------
  2. //
  3. // refprov.hpp
  4. //
  5. // Base software HAL provider class.
  6. //
  7. // Copyright (C) Microsoft Corporation, 1997.
  8. //
  9. //----------------------------------------------------------------------------
  10. #ifndef _REFPROV_HPP_
  11. #define _REFPROV_HPP_
  12. //----------------------------------------------------------------------------
  13. //
  14. // RefHalProvider
  15. //
  16. // Implements the base HAL provider for the software rasterizers.
  17. //
  18. //----------------------------------------------------------------------------
  19. class RefHalProvider : public IHalProvider
  20. {
  21. public:
  22. // IUnknown.
  23. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* ppvObj);
  24. STDMETHOD_(ULONG, AddRef)(THIS);
  25. STDMETHOD_(ULONG, Release)(THIS);
  26. };
  27. //----------------------------------------------------------------------------
  28. //
  29. // RefRastHalProvider
  30. //
  31. // Specific provider for the reference rasterizer.
  32. //
  33. //----------------------------------------------------------------------------
  34. class RefRastHalProvider : public RefHalProvider
  35. {
  36. public:
  37. STDMETHOD(GetInterface)(THIS_
  38. LPDDRAWI_DIRECTDRAW_GBL pDdGbl,
  39. LPD3DHALPROVIDER_INTERFACEDATA pInterfaceData,
  40. DWORD dwVersion);
  41. STDMETHOD(GetCaps)(THIS_
  42. LPDDRAWI_DIRECTDRAW_GBL pDdGbl,
  43. LPD3DDEVICEDESC7 pHwDesc,
  44. LPD3DDEVICEDESC7 pHelDesc,
  45. DWORD dwVersion);
  46. };
  47. //----------------------------------------------------------------------------
  48. //
  49. // NullDeviceHalProvider
  50. //
  51. // Specific provider for the null device.
  52. //
  53. //----------------------------------------------------------------------------
  54. class NullDeviceHalProvider : public RefHalProvider
  55. {
  56. public:
  57. STDMETHOD(GetInterface)(THIS_
  58. LPDDRAWI_DIRECTDRAW_GBL pDdGbl,
  59. LPD3DHALPROVIDER_INTERFACEDATA pInterfaceData,
  60. DWORD dwVersion);
  61. STDMETHOD(GetCaps)(THIS_
  62. LPDDRAWI_DIRECTDRAW_GBL pDdGbl,
  63. LPD3DDEVICEDESC7 pHwDesc,
  64. LPD3DDEVICEDESC7 pHelDesc,
  65. DWORD dwVersion);
  66. };
  67. #endif // #ifndef _REFPROV_HPP_