PortAudio  2.0
AudioSessionTypes.h
Go to the documentation of this file.
1 //
2 // AudioSessionTypes.h -- Copyright Microsoft Corporation, All Rights Reserved.
3 //
4 // Description: Type definitions used by the audio session manager RPC/COM interfaces
5 //
6 #pragma once
7 
8 #ifndef __AUDIOSESSIONTYPES__
9 #define __AUDIOSESSIONTYPES__
10 
11 #if defined(__midl)
12 #define MIDL_SIZE_IS(x) [size_is(x)]
13 #define MIDL_STRING [string]
14 #define MIDL_ANYSIZE_ARRAY
15 #else // !defined(__midl)
16 #define MIDL_SIZE_IS(x)
17 #define MIDL_STRING
18 #define MIDL_ANYSIZE_ARRAY ANYSIZE_ARRAY
19 #endif // defined(__midl)
20 
21 //-------------------------------------------------------------------------
22 // Description: AudioClient share mode
23 //
24 // AUDCLNT_SHAREMODE_SHARED - The device will be opened in shared mode and use the
25 // WAS format.
26 // AUDCLNT_SHAREMODE_EXCLUSIVE - The device will be opened in exclusive mode and use the
27 // application specified format.
28 //
29 typedef enum _AUDCLNT_SHAREMODE
30 {
34 
35 //-------------------------------------------------------------------------
36 // Description: AudioClient stream flags
37 //
38 // Can be a combination of AUDCLNT_STREAMFLAGS and AUDCLNT_SYSFXFLAGS:
39 //
40 // AUDCLNT_STREAMFLAGS (this group of flags uses the high word, w/exception of high-bit which is reserved, 0x7FFF0000):
41 //
42 // AUDCLNT_STREAMFLAGS_CROSSPROCESS - Audio policy control for this stream will be shared with
43 // with other process sessions that use the same audio session
44 // GUID.
45 // AUDCLNT_STREAMFLAGS_LOOPBACK - Initializes a renderer endpoint for a loopback audio application.
46 // In this mode, a capture stream will be opened on the specified
47 // renderer endpoint. Shared mode and a renderer endpoint is required.
48 // Otherwise the IAudioClient::Initialize call will fail. If the
49 // initialize is successful, a capture stream will be available
50 // from the IAudioClient object.
51 //
52 // AUDCLNT_STREAMFLAGS_EVENTCALLBACK - An exclusive mode client will supply an event handle that will be
53 // signaled when an IRP completes (or a waveRT buffer completes) telling
54 // it to fill the next buffer
55 //
56 // AUDCLNT_STREAMFLAGS_NOPERSIST - Session state will not be persisted
57 //
58 // AUDCLNT_SYSFXFLAGS (these flags use low word 0x0000FFFF):
59 //
60 // none defined currently
61 //
62 #define AUDCLNT_STREAMFLAGS_CROSSPROCESS 0x00010000
63 #define AUDCLNT_STREAMFLAGS_LOOPBACK 0x00020000
64 #define AUDCLNT_STREAMFLAGS_EVENTCALLBACK 0x00040000
65 #define AUDCLNT_STREAMFLAGS_NOPERSIST 0x00080000
66 
67 //-------------------------------------------------------------------------
68 // Description: Device share mode - sharing mode for the audio device.
69 //
70 // DeviceShared - The device can be shared with other processes.
71 // DeviceExclusive - The device will only be used by this process.
72 //
73 typedef enum _DeviceShareMode
74 {
78 
79 
80 //-------------------------------------------------------------------------
81 // Description: AudioSession State.
82 //
83 // AudioSessionStateInactive - The session has no active audio streams.
84 // AudioSessionStateActive - The session has active audio streams.
85 // AudioSessionStateExpired - The session is dormant.
86 typedef enum _AudioSessionState
87 {
92 
93 #endif
94 

Generated for PortAudio by  doxygen1.8.1.1