ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

interface.h
Go to the documentation of this file.
00001 #pragma once
00002 
00007 
00008 // These are now in sndtypes.h
00009 /*
00010 typedef enum
00011 {
00012     DEVICE_TYPE_NONE = 0,
00013     DEVICE_TYPE_WAVE_OUT,
00014     DEVICE_TYPE_WAVE_IN,
00015     DEVICE_TYPE_MIDI_IN,
00016     DEVICE_TYPE_MIDI_OUT,
00017     DEVICE_TYPE_AUX_IN,
00018     DEVICE_TYPE_AUX_OUT
00019 
00020 }AUDIO_DEVICE_TYPE;
00021 */
00022 
00023 #include <sndtypes.h>
00024 
00025 typedef struct
00026 {
00027     KSSTREAM_HEADER Header;
00028     SOUND_DEVICE_TYPE DeviceType;
00029     ULONG_PTR DeviceIndex;
00030 
00031     HANDLE hDevice;
00032     ULONG DeviceCount;
00033     ULONG Flags;
00034 
00035     union
00036     {
00037         MIXERCAPSW    MixCaps;
00038         MIXERCONTROLDETAILS MixDetails;
00039         MIXERLINECONTROLSW MixControls;
00040         MIXERLINEW MixLine;
00041         WAVEFORMATEX WaveFormatEx;
00042         WAVEOUTCAPSW WaveOutCaps;
00043         AUXCAPSW     AuxCaps;
00044         WAVEINCAPSW  WaveInCaps;
00045         MIDIINCAPSW  MidiInCaps;
00046         MIDIOUTCAPSW MidiOutCaps;
00047         ULONGLONG    Position;
00048         struct
00049         {
00050             LPWSTR DeviceInterfaceString;
00051             ULONG DeviceInterfaceStringSize;
00052         }Interface;
00053 
00054         struct
00055         {
00056             HANDLE hMixer;
00057             ULONG NotificationType;
00058             ULONG Value;
00059         }MixerEvent;
00060         KSSTATE State;
00061         KSRESET ResetStream;
00062         ULONG Volume;
00063         ULONG FrameSize;
00064         HANDLE hNotifyEvent;
00065     }u;
00066 
00067 }WDMAUD_DEVICE_INFO, *PWDMAUD_DEVICE_INFO;
00068 
00069 
00070 
00081 
00082 #define IOCTL_OPEN_WDMAUD \
00083     CTL_CODE(FILE_DEVICE_SOUND, \
00084              0, \
00085              METHOD_BUFFERED, \
00086              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00087 
00088 
00098 
00099 #define IOCTL_CLOSE_WDMAUD \
00100     CTL_CODE(FILE_DEVICE_SOUND, \
00101              1, \
00102              METHOD_BUFFERED, \
00103              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS) \
00104 
00105 
00116 
00117 #define IOCTL_GETNUMDEVS_TYPE \
00118     CTL_CODE(FILE_DEVICE_SOUND, \
00119              2, \
00120              METHOD_BUFFERED, \
00121              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00122 
00123 
00133 
00134 #define IOCTL_SETDEVICE_STATE \
00135     CTL_CODE(FILE_DEVICE_SOUND, \
00136              3, \
00137              METHOD_BUFFERED, \
00138              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00139 
00140 
00151 
00152 #define IOCTL_GETDEVID \
00153     CTL_CODE(FILE_DEVICE_SOUND, \
00154              4, \
00155              METHOD_BUFFERED, \
00156              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00157 
00158 
00169 
00170 #define IOCTL_GETVOLUME \
00171     CTL_CODE(FILE_DEVICE_SOUND, \
00172              5, \
00173              METHOD_BUFFERED, \
00174              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00175 
00176 
00186 
00187 #define IOCTL_SETVOLUME \
00188     CTL_CODE(FILE_DEVICE_SOUND, \
00189              6, \
00190              METHOD_BUFFERED, \
00191              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00192 
00193 
00203 
00204 #define IOCTL_GETCAPABILITIES \
00205     CTL_CODE(FILE_DEVICE_SOUND, \
00206              7, \
00207              METHOD_BUFFERED, \
00208              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00209 
00210 
00220 
00221 #define IOCTL_WRITEDATA \
00222     CTL_CODE(FILE_DEVICE_SOUND, \
00223              8, \
00224              METHOD_BUFFERED, \
00225              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00226 
00237 
00238 #define IOCTL_GETPOS \
00239     CTL_CODE(FILE_DEVICE_SOUND, \
00240              9, \
00241              METHOD_BUFFERED, \
00242              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00243 
00254 
00255 #define IOCTL_GETFRAMESIZE \
00256     CTL_CODE(FILE_DEVICE_SOUND, \
00257              10, \
00258              METHOD_BUFFERED, \
00259              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00260 
00271 
00272 #define IOCTL_GETLINEINFO \
00273     CTL_CODE(FILE_DEVICE_SOUND, \
00274              11, \
00275              METHOD_BUFFERED, \
00276              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00277 
00278 
00289 
00290 #define IOCTL_GETLINECONTROLS \
00291     CTL_CODE(FILE_DEVICE_SOUND, \
00292              12, \
00293              METHOD_BUFFERED, \
00294              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00295 
00296 
00306 
00307 #define IOCTL_SETCONTROLDETAILS \
00308     CTL_CODE(FILE_DEVICE_SOUND, \
00309              13, \
00310              METHOD_BUFFERED, \
00311              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00312 
00313 
00324 
00325 #define IOCTL_GETCONTROLDETAILS \
00326     CTL_CODE(FILE_DEVICE_SOUND, \
00327              14, \
00328              METHOD_BUFFERED, \
00329              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00330 
00331 
00342 
00343 #define IOCTL_QUERYDEVICEINTERFACESTRING \
00344     CTL_CODE(FILE_DEVICE_SOUND, \
00345              15, \
00346              METHOD_BUFFERED, \
00347              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00348 
00358 
00359 #define IOCTL_GET_MIXER_EVENT \
00360     CTL_CODE(FILE_DEVICE_SOUND, \
00361              16, \
00362              METHOD_BUFFERED, \
00363              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)
00364 
00373 
00374 #define IOCTL_RESET_STREAM \
00375     CTL_CODE(FILE_DEVICE_SOUND, \
00376              17, \
00377              METHOD_BUFFERED, \
00378              FILE_CREATE_TREE_CONNECTION | FILE_ANY_ACCESS)

Generated on Mon May 28 2012 04:27:43 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.