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.

62 lines
1.8 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1998
  6. //
  7. // File: d3drmdevicearrayobj.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // d3drmDeviceArrayObj.h : Declaration of the C_dxj_Direct3dRMDeviceArrayObject
  11. #include "resource.h" // main symbols
  12. #define typedef__dxj_Direct3dRMDeviceArray LPDIRECT3DRMDEVICEARRAY
  13. /////////////////////////////////////////////////////////////////////////////
  14. // Direct
  15. //REVIEW -- using pointers to ID's is necessary because some compilers don't like
  16. //references as template arguments.
  17. class C_dxj_Direct3dRMDeviceArrayObject :
  18. public I_dxj_Direct3dRMDeviceArray,
  19. //public CComCoClass<C_dxj_Direct3dRMDeviceArrayObject, &CLSID__dxj_Direct3dRMDeviceArray>,
  20. public CComObjectRoot
  21. {
  22. public:
  23. C_dxj_Direct3dRMDeviceArrayObject() ;
  24. virtual ~C_dxj_Direct3dRMDeviceArrayObject() ;
  25. BEGIN_COM_MAP(C_dxj_Direct3dRMDeviceArrayObject)
  26. COM_INTERFACE_ENTRY(I_dxj_Direct3dRMDeviceArray)
  27. END_COM_MAP()
  28. // DECLARE_REGISTRY(CLSID__dxj_Direct3dRMDeviceArray, "DIRECT.Direct3dRMDeviceArray.3", "DIRECT.Direct3dRMDeviceArray.3", IDS_D3DRMDEVICEARRAY_DESC, THREADFLAGS_BOTH)
  29. DECLARE_AGGREGATABLE(C_dxj_Direct3dRMDeviceArrayObject)
  30. // I_dxj_Direct3dRMDeviceArray
  31. public:
  32. STDMETHOD(InternalSetObject)(IUnknown *lpdd);
  33. STDMETHOD(InternalGetObject)(IUnknown **lpdd);
  34. STDMETHOD(getSize)( long *retval);
  35. #ifdef DX5
  36. STDMETHOD(getElement)(long index, I_dxj_Direct3dRMDevice2 **retval);
  37. #else
  38. STDMETHOD(getElement)(long index, I_dxj_Direct3dRMDevice3 **retval);
  39. #endif
  40. private:
  41. DECL_VARIABLE(_dxj_Direct3dRMDeviceArray);
  42. public:
  43. DX3J_GLOBAL_LINKS( _dxj_Direct3dRMDeviceArray )
  44. };