home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / amaudio.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  2KB  |  59 lines

  1. //==========================================================================;
  2. //
  3. //  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4. //  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5. //  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6. //  PURPOSE.
  7. //
  8. //  Copyright (c) 1992 - 1997  Microsoft Corporation.  All Rights Reserved.
  9. //
  10. //--------------------------------------------------------------------------;
  11.  
  12. // Audio related definitions and interfaces for ActiveMovie
  13.  
  14. #ifndef __AMAUDIO__
  15. #define __AMAUDIO__
  16.  
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif // __cplusplus
  20.  
  21. #include <mmsystem.h>
  22. #include <dsound.h>
  23.  
  24. // This is the interface the audio renderer supports to give the application
  25. // access to the direct sound object and buffers it is using, to allow the
  26. // application to use things like the 3D features of Direct Sound for the
  27. // soundtrack of a movie being played with Active Movie
  28.  
  29. // be nice to our friends in C
  30. #undef INTERFACE
  31. #define INTERFACE IAMDirectSound
  32.  
  33. DECLARE_INTERFACE_(IAMDirectSound,IUnknown)
  34. {
  35.     /* IUnknown methods */
  36.  
  37.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  38.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  39.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  40.  
  41.     /* IAMDirectSound methods */
  42.  
  43.     STDMETHOD(GetDirectSoundInterface)(THIS_ LPDIRECTSOUND *lplpds) PURE;
  44.     STDMETHOD(GetPrimaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER *lplpdsb) PURE;
  45.     STDMETHOD(GetSecondaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER *lplpdsb) PURE;
  46.     STDMETHOD(ReleaseDirectSoundInterface)(THIS_ LPDIRECTSOUND lpds) PURE;
  47.     STDMETHOD(ReleasePrimaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER lpdsb) PURE;
  48.     STDMETHOD(ReleaseSecondaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER lpdsb) PURE;
  49.     STDMETHOD(SetFocusWindow)(THIS_ HWND, BOOL) PURE ;
  50.     STDMETHOD(GetFocusWindow)(THIS_ HWND *, BOOL*) PURE ;
  51. };
  52.  
  53.  
  54. #ifdef __cplusplus
  55. }
  56. #endif // __cplusplus
  57. #endif // __AMAUDIO__
  58.  
  59.