source: trunk/src/dsound/OS2DSOUND.H@ 91

Last change on this file since 91 was 46, checked in by sandervl, 26 years ago

* empty log message *

File size: 3.4 KB
Line 
1/*
2 * DirectSound main class
3 *
4 * Copyright 1998 Sander van Leeuwen (sandervl@xs4all.nl)
5 *
6 * Project Odin Software License can be found in LICENSE.TXT
7 *
8 */
9#ifndef __OS2DSOUND_H__
10#define __OS2DSOUND_H__
11
12/* KSO Apr 19 1999: Set correct interface. *
13 * (INTERFACE is used in the THIS and THIS_ macros) */
14#undef INTERFACE
15#define INTERFACE IDirectSound
16
17class OS2IDirectSound
18{
19 public:
20 //this one has to go first!
21 IDirectSoundVtbl *lpVtbl;
22 IDirectSoundVtbl Vtbl;
23
24 OS2IDirectSound(const GUID *lpGUID);
25 ~OS2IDirectSound();
26
27 int Referenced;
28 inline HRESULT GetLastError() { return lastError; };
29
30 private:
31
32 protected:
33 HRESULT lastError;
34
35 DWORD speakerConfig;
36 DWORD CoopLevel;
37 HWND hwndClient;
38
39 // Linked list management
40 OS2IDirectSound* next; // Next OS2IDirectSound
41 static OS2IDirectSound* dsound; // List of OS2IDirectSound
42
43 friend HRESULT __stdcall SoundQueryInterface(THIS, REFIID riid, LPVOID FAR * ppvObj);
44 friend ULONG __stdcall SoundAddRef(THIS);
45 friend ULONG __stdcall SoundRelease(THIS);
46 #if 0 //KSO Apr 13 1999: some parameter incompabilities between newer and older SDKs.
47 friend HRESULT __stdcall SoundCreateSoundBuffer(THIS_ LPDSBUFFERDESC, LPLPDIRECTSOUNDBUFFER, IUnknown FAR *);
48 #else
49 friend HRESULT __stdcall SoundCreateSoundBuffer(THIS_ LPCDSBUFFERDESC, LPDIRECTSOUNDBUFFER*,LPUNKNOWN);
50 #endif
51 friend HRESULT __stdcall SoundGetCaps(THIS_ LPDSCAPS );
52 friend HRESULT __stdcall SoundDuplicateSoundBuffer(THIS_ LPDIRECTSOUNDBUFFER, LPLPDIRECTSOUNDBUFFER );
53 friend HRESULT __stdcall SoundSetCooperativeLevel(THIS_ W32_HWND, DWORD );
54 friend HRESULT __stdcall SoundCompact(THIS );
55 friend HRESULT __stdcall SoundGetSpeakerConfig(THIS_ LPDWORD );
56 friend HRESULT __stdcall SoundSetSpeakerConfig(THIS_ DWORD );
57 #if 0 //KSO Apr 13 1999: parameter declaration has changed in later SDKs
58 friend HRESULT __stdcall SoundInitialize(THIS_ const GUID * );
59 #else
60 friend HRESULT __stdcall SoundInitialize(THIS_ LPGUID);
61 #endif
62};
63//******************************************************************************
64//******************************************************************************
65HRESULT __stdcall SoundQueryInterface(THIS, REFIID riid, LPVOID FAR * ppvObj);
66ULONG __stdcall SoundAddRef(THIS);
67ULONG __stdcall SoundRelease(THIS);
68#if 0 //KSO Apr 13 1999: some parameter incompabilities between newer and older SDKs.
69 HRESULT __stdcall SoundCreateSoundBuffer(THIS_ LPDSBUFFERDESC, LPLPDIRECTSOUNDBUFFER, IUnknown FAR *);
70#else
71 HRESULT __stdcall SoundCreateSoundBuffer(THIS_ LPCDSBUFFERDESC, LPDIRECTSOUNDBUFFER*,LPUNKNOWN);
72#endif
73HRESULT __stdcall SoundGetCaps(THIS_ LPDSCAPS );
74HRESULT __stdcall SoundDuplicateSoundBuffer(THIS_ LPDIRECTSOUNDBUFFER, LPLPDIRECTSOUNDBUFFER );
75HRESULT __stdcall SoundSetCooperativeLevel(THIS_ W32_HWND, DWORD );
76HRESULT __stdcall SoundCompact(THIS );
77HRESULT __stdcall SoundGetSpeakerConfig(THIS_ LPDWORD );
78HRESULT __stdcall SoundSetSpeakerConfig(THIS_ DWORD );
79#if 0 //KSO Apr 13 1999: parameter declaration has changed in later SDKs
80 HRESULT __stdcall SoundInitialize(THIS_ const GUID * );
81#else
82 HRESULT __stdcall SoundInitialize(THIS_ LPGUID);
83#endif
84
85#endif
Note: See TracBrowser for help on using the repository browser.