home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / amaudio.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  2.1 KB  |  61 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. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  16. #define __AMAUDIO__
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif // __cplusplus
  21.  
  22. #include <mmsystem.h>
  23. #include <dsound.h>
  24.  
  25. // This is the interface the audio renderer supports to give the application
  26. // access to the direct sound object and buffers it is using, to allow the
  27. // application to use things like the 3D features of Direct Sound for the
  28. // soundtrack of a movie being played with Active Movie
  29.  
  30. // be nice to our friends in C
  31. #undef INTERFACE
  32. #define INTERFACE IAMDirectSound
  33.  
  34. DECLARE_INTERFACE_(IAMDirectSound,IUnknown)
  35. {
  36.     /* IUnknown methods */
  37.  
  38.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  39.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  40.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  41.  
  42.     /* IAMDirectSound methods */
  43.  
  44.     STDMETHOD(GetDirectSoundInterface)(THIS_ LPDIRECTSOUND *lplpds) PURE;
  45.     STDMETHOD(GetPrimaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER *lplpdsb) PURE;
  46.     STDMETHOD(GetSecondaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER *lplpdsb) PURE;
  47.     STDMETHOD(ReleaseDirectSoundInterface)(THIS_ LPDIRECTSOUND lpds) PURE;
  48.     STDMETHOD(ReleasePrimaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER lpdsb) PURE;
  49.     STDMETHOD(ReleaseSecondaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER lpdsb) PURE;
  50.     STDMETHOD(SetFocusWindow)(THIS_ HWND, BOOL) PURE ;
  51.     STDMETHOD(GetFocusWindow)(THIS_ HWND *, BOOL*) PURE ;
  52. };
  53.  
  54.  
  55. #ifdef __cplusplus
  56. }
  57. #endif // __cplusplus
  58. #pragma option pop /*P_O_Pop*/
  59. #endif // __AMAUDIO__
  60.  
  61.