source: sbliveos2/trunk/drv16/dwavestrm.hpp@ 175

Last change on this file since 175 was 167, checked in by sandervl, 24 years ago

update

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1/* $Id: dwavestrm.hpp 167 2001-03-22 23:33:12Z sandervl $ */
2
3/* SCCSID = %W% %E% */
4/****************************************************************************
5 * *
6 * Copyright (c) IBM Corporation 1994 - 1997. *
7 * *
8 * The following IBM OS/2 source code is provided to you solely for the *
9 * the purpose of assisting you in your development of OS/2 device drivers. *
10 * You may use this code in accordance with the IBM License Agreement *
11 * provided in the IBM Device Driver Source Kit for OS/2. *
12 * *
13 ****************************************************************************/
14/**@internal %W%
15 * Defines, class definations and prototypes for
16 * @version %I%
17 * @context Unless otherwise noted, all interfaces are Ring-0, 16-bit,
18 * <stack context>.
19 * @history
20 *
21 */
22#ifndef DWAVESTREAM_INCLUDED
23#define DWAVESTREAM_INCLUDED
24
25#ifndef OS2_INCLUDED
26#define INCL_NOPMAPI
27#include <os2.h>
28#include <os2medef.h>
29#include <audio.h>
30#endif
31
32#include "stream.hpp"
33#include "wavestrm.hpp"
34#include "waudio.hpp"
35#include "strmbuff.hpp"
36
37extern "C" {
38void HookHandlerAsm();
39void cdecl HookHandler(ULONG ulSysFileNum);
40}
41
42class DWAVESTREAM : public WAVESTREAM {
43
44public:
45 virtual ULONG Write(PSTREAMBUF, ULONG);
46 virtual ULONG Register(PDDCMDREGISTER);
47 virtual void DeRegister(void);
48
49 DWAVESTREAM(ULONG streamtype, LPMCI_AUDIO_INIT pinit, USHORT filesysnum);
50 virtual ~DWAVESTREAM();
51
52 BOOL IsEverythingOk() { return (fError == FALSE); };
53
54private:
55 virtual void ReturnBuffer(void); // returns one buffer
56
57 QUEUEHEAD qhReturn; //queue with buffers to be returned
58 ULONG hCtxHook;
59 ULONG hSem;
60
61 BOOL fError;
62
63 friend void cdecl HookHandler(ULONG ulSysFileNum);
64};
65typedef DWAVESTREAM *PDWAVESTREAM;
66
67#endif
Note: See TracBrowser for help on using the repository browser.