ReactOS  0.4.13-dev-563-g0561610
msacmdrv.h
Go to the documentation of this file.
1 /*
2  * Declarations for MSACM driver
3  *
4  * Copyright 1998 Patrik Stridvall
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20 
21 #ifndef __WINE_MSACMDRV_H
22 #define __WINE_MSACMDRV_H
23 
24 #include <stdarg.h>
25 
26 #include <windef.h>
27 #include <winbase.h>
28 #include <mmsystem.h>
29 #include <mmreg.h>
30 #include <msacm.h>
31 
32 /***********************************************************************
33  * Types
34  */
35 
36 /***********************************************************************
37  * Defines/Enums
38  */
39 
40 #define MAKE_ACM_VERSION(mjr, mnr, bld) \
41  (((LONG)(mjr)<<24) | ((LONG)(mnr)<<16) | ((LONG)bld))
42 
43 #define ACMDRVOPENDESC_SECTIONNAME_CHARS
44 
45 #define ACMDM_DRIVER_NOTIFY (ACMDM_BASE + 1)
46 #define ACMDM_DRIVER_DETAILS (ACMDM_BASE + 10)
47 
48 #define ACMDM_HARDWARE_WAVE_CAPS_INPUT (ACMDM_BASE + 20)
49 #define ACMDM_HARDWARE_WAVE_CAPS_OUTPUT (ACMDM_BASE + 21)
50 
51 #define ACMDM_FORMATTAG_DETAILS (ACMDM_BASE + 25)
52 #define ACMDM_FORMAT_DETAILS (ACMDM_BASE + 26)
53 #define ACMDM_FORMAT_SUGGEST (ACMDM_BASE + 27)
54 
55 #define ACMDM_FILTERTAG_DETAILS (ACMDM_BASE + 50)
56 #define ACMDM_FILTER_DETAILS (ACMDM_BASE + 51)
57 
58 #define ACMDM_STREAM_OPEN (ACMDM_BASE + 76)
59 #define ACMDM_STREAM_CLOSE (ACMDM_BASE + 77)
60 #define ACMDM_STREAM_SIZE (ACMDM_BASE + 78)
61 #define ACMDM_STREAM_CONVERT (ACMDM_BASE + 79)
62 #define ACMDM_STREAM_RESET (ACMDM_BASE + 80)
63 #define ACMDM_STREAM_PREPARE (ACMDM_BASE + 81)
64 #define ACMDM_STREAM_UNPREPARE (ACMDM_BASE + 82)
65 #define ACMDM_STREAM_UPDATE (ACMDM_BASE + 83)
66 
67 /***********************************************************************
68  * Structures
69  */
70 
71 typedef struct _ACMDRVOPENDESCA
72 {
83 
84 typedef struct _ACMDRVOPENDESCW
85 {
96 
97 typedef struct _ACMDRVSTREAMINSTANCE
98 {
108  HACMSTREAM has;
110 
112 typedef struct _ACMDRVSTREAMHEADER {
124 
129 
130  /* Internal fields for ACM */
138 
139 typedef struct _ACMDRVSTREAMSIZE
140 {
146 
147 typedef struct _ACMDRVFORMATSUGGEST
148 {
156 
157 #endif /* __WINE_MSACMDRV_H */
PWAVEFILTER pwfltr
Definition: msacmdrv.h:102
LPCSTR pszAliasName
Definition: msacmdrv.h:80
DWORD_PTR dwInstance
Definition: msacmdrv.h:104
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
struct _ACMDRVSTREAMSIZE ACMDRVSTREAMSIZE
PWAVEFORMATEX pwfxDst
Definition: msacmdrv.h:153
struct _ACMDRVOPENDESCA ACMDRVOPENDESCA
struct _ACMDRVSTREAMSIZE * PACMDRVSTREAMSIZE
DWORD dnDevNode
Definition: msacmdrv.h:81
FOURCC fccComp
Definition: msacmdrv.h:75
DWORD dwVersion
Definition: msacmdrv.h:76
DWORD_PTR dwSrcUser
Definition: msacmdrv.h:119
unsigned char * LPBYTE
Definition: typedefs.h:52
DWORD_PTR dwPrepared
Definition: msacmdrv.h:132
PACMDRVSTREAMHEADER * padshNext
Definition: msacmdrv.h:126
FOURCC fccType
Definition: msacmdrv.h:87
struct _ACMDRVSTREAMINSTANCE ACMDRVSTREAMINSTANCE
struct _ACMDRVOPENDESCA * PACMDRVOPENDESCA
const char * LPCSTR
Definition: xmlstorage.h:183
PWAVEFORMATEX pwfxDst
Definition: msacmdrv.h:101
DWORD dnDevNode
Definition: msacmdrv.h:94
DWORD_PTR dwUser
Definition: msacmdrv.h:115
DWORD cbStruct
Definition: msacmdrv.h:73
unsigned long DWORD
Definition: ntddk_ex.h:95
struct _ACMDRVFORMATSUGGEST ACMDRVFORMATSUGGEST
struct _ACMDRVOPENDESCW * PACMDRVOPENDESCW
DWORD dwVersion
Definition: msacmdrv.h:89
uint32_t DWORD_PTR
Definition: typedefs.h:63
DWORD FOURCC
Definition: dmdls.h:25
FOURCC fccType
Definition: msacmdrv.h:74
LPCSTR pszSectionName
Definition: msacmdrv.h:79
LPCWSTR pszAliasName
Definition: msacmdrv.h:93
LPBYTE pbPreparedSrc
Definition: msacmdrv.h:133
struct _ACMDRVSTREAMHEADER ACMDRVSTREAMHEADER
DWORD cbStruct
Definition: msacmdrv.h:86
struct _ACMDRVFORMATSUGGEST * PACMDRVFORMATSUGGEST
LPCWSTR pszSectionName
Definition: msacmdrv.h:92
PWAVEFORMATEX pwfxSrc
Definition: msacmdrv.h:151
DWORD cbPreparedSrcLength
Definition: msacmdrv.h:134
DWORD_PTR dwDriver
Definition: msacmdrv.h:107
DWORD_PTR dwCallback
Definition: msacmdrv.h:103
DWORD cbPreparedDstLength
Definition: msacmdrv.h:136
struct _ACMDRVSTREAMINSTANCE * PACMDRVSTREAMINSTANCE
FOURCC fccComp
Definition: msacmdrv.h:88
struct _ACMDRVOPENDESCW ACMDRVOPENDESCW
LPBYTE pbPreparedDst
Definition: msacmdrv.h:135
PWAVEFORMATEX pwfxSrc
Definition: msacmdrv.h:100
struct _ACMDRVSTREAMHEADER * PACMDRVSTREAMHEADER
Definition: msacmdrv.h:111
DWORD_PTR dwDstUser
Definition: msacmdrv.h:123
DWORD_PTR dwDriver
Definition: msacmdrv.h:128