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.

107 lines
3.3 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1999
  6. //
  7. // File: dmloaderobj.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // d3drmLightObj.h : Declaration of the C_dxj_DirectMusicLoaderObject
  11. #include "resource.h" // main symbols
  12. #define typedef__dxj_DirectMusicLoader IDirectMusicLoader8*
  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_DirectMusicLoaderObject :
  18. public I_dxj_DirectMusicLoader,
  19. //public CComCoClass<C_dxj_DirectMusicLoaderObject, &CLSID__dxj_DirectMusicLoader>,
  20. public CComObjectRoot
  21. {
  22. public:
  23. C_dxj_DirectMusicLoaderObject();
  24. virtual ~C_dxj_DirectMusicLoaderObject();
  25. BEGIN_COM_MAP(C_dxj_DirectMusicLoaderObject)
  26. COM_INTERFACE_ENTRY(I_dxj_DirectMusicLoader)
  27. END_COM_MAP()
  28. //DECLARE_REGISTRY(CLSID__dxj_DirectMusicLoader, "DIRECT.DirectMusicLoader.1", "DIRECT.Direct3dRMLight.3", IDS_D3DRMLIGHT_DESC, THREADFLAGS_BOTH)
  29. DECLARE_AGGREGATABLE(C_dxj_DirectMusicLoaderObject)
  30. // I_dxj_Direct3dRMLight
  31. public:
  32. STDMETHOD(InternalSetObject)(IUnknown *lpdd);
  33. STDMETHOD(InternalGetObject)(IUnknown **lpdd);
  34. HRESULT STDMETHODCALLTYPE loadSegment(
  35. /* [in] */ BSTR filename,
  36. /* [retval][out] */ I_dxj_DirectMusicSegment __RPC_FAR *__RPC_FAR *ret);
  37. HRESULT STDMETHODCALLTYPE loadStyle(
  38. /* [in] */ BSTR filename,
  39. /* [retval][out] */ I_dxj_DirectMusicStyle __RPC_FAR *__RPC_FAR *ret);
  40. HRESULT STDMETHODCALLTYPE loadBand(
  41. /* [in] */ BSTR filename,
  42. /* [retval][out] */ I_dxj_DirectMusicBand __RPC_FAR *__RPC_FAR *ret);
  43. HRESULT STDMETHODCALLTYPE loadCollection(
  44. /* [in] */ BSTR filename,
  45. /* [retval][out] */ I_dxj_DirectMusicCollection __RPC_FAR *__RPC_FAR *ret);
  46. HRESULT STDMETHODCALLTYPE loadSegmentFromResource(
  47. /* [in] */ BSTR modName,
  48. /* [in] */ BSTR resourceName,
  49. /* [retval][out] */ I_dxj_DirectMusicSegment __RPC_FAR *__RPC_FAR *ret);
  50. HRESULT STDMETHODCALLTYPE loadStyleFromResource(
  51. /* [in] */ BSTR modName,
  52. /* [in] */ BSTR resourceName,
  53. /* [retval][out] */ I_dxj_DirectMusicStyle __RPC_FAR *__RPC_FAR *ret);
  54. HRESULT STDMETHODCALLTYPE loadBandFromResource(
  55. /* [in] */ BSTR modName,
  56. /* [in] */ BSTR resourceName,
  57. /* [retval][out] */ I_dxj_DirectMusicBand __RPC_FAR *__RPC_FAR *ret);
  58. HRESULT STDMETHODCALLTYPE loadCollectionFromResource(
  59. /* [in] */ BSTR modName,
  60. /* [in] */ BSTR resourceName,
  61. /* [retval][out] */ I_dxj_DirectMusicCollection __RPC_FAR *__RPC_FAR *ret);
  62. HRESULT STDMETHODCALLTYPE setSearchDirectory( BSTR path);
  63. HRESULT STDMETHODCALLTYPE loadChordMap(
  64. /* [in] */ BSTR filename,
  65. /* [retval][out] */ I_dxj_DirectMusicChordMap __RPC_FAR *__RPC_FAR *ret);
  66. HRESULT STDMETHODCALLTYPE loadChordMapFromResource(
  67. /* [in] */ BSTR modName,
  68. /* [in] */ BSTR resourceName,
  69. /* [retval][out] */ I_dxj_DirectMusicChordMap __RPC_FAR *__RPC_FAR *ret);
  70. #if 0
  71. HRESULT STDMETHODCALLTYPE LoadSong(BSTR filename, I_dxj_DirectMusicSong **ret);
  72. #endif
  73. ////////////////////////////////////////////////////////////////////////////////////
  74. //
  75. private:
  76. DECL_VARIABLE(_dxj_DirectMusicLoader);
  77. public:
  78. DX3J_GLOBAL_LINKS( _dxj_DirectMusicLoader)
  79. };