1 /** 2 * This file is part of the mingw-w64 runtime package. 3 * No warranty is given; refer to the file DISCLAIMER within this package. 4 */ 5 6 #include <winapifamily.h> 7 8 #ifndef __AUDIOSESSIONTYPES__ 9 #define __AUDIOSESSIONTYPES__ 10 11 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) 12 #if defined (__WIDL__) 13 #define MIDL_SIZE_IS(x) [size_is (x)] 14 #define MIDL_STRING [string] 15 #define MIDL_ANYSIZE_ARRAY 16 #else 17 #define MIDL_SIZE_IS(x) 18 #define MIDL_STRING 19 #define MIDL_ANYSIZE_ARRAY ANYSIZE_ARRAY 20 #endif 21 22 typedef enum _AudioSessionState { 23 AudioSessionStateInactive = 0, 24 AudioSessionStateActive = 1, 25 AudioSessionStateExpired = 2 26 } AudioSessionState; 27 28 typedef enum _AUDCLNT_SHAREMODE { 29 AUDCLNT_SHAREMODE_SHARED, 30 AUDCLNT_SHAREMODE_EXCLUSIVE 31 } AUDCLNT_SHAREMODE; 32 33 typedef enum _AUDIO_STREAM_CATEGORY { 34 AudioCategory_Other = 0, 35 AudioCategory_ForegroundOnlyMedia, 36 AudioCategory_BackgroundCapableMedia, 37 AudioCategory_Communications, 38 AudioCategory_Alerts, 39 AudioCategory_SoundEffects, 40 AudioCategory_GameEffects, 41 AudioCategory_GameMedia 42 } AUDIO_STREAM_CATEGORY; 43 44 #define AUDCLNT_STREAMFLAGS_CROSSPROCESS 0x00010000 45 #define AUDCLNT_STREAMFLAGS_LOOPBACK 0x00020000 46 #define AUDCLNT_STREAMFLAGS_EVENTCALLBACK 0x00040000 47 #define AUDCLNT_STREAMFLAGS_NOPERSIST 0x00080000 48 #define AUDCLNT_STREAMFLAGS_RATEADJUST 0x00100000 49 #define AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED 0x10000000 50 #define AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE 0x20000000 51 #define AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED 0x40000000 52 53 #endif 54 #endif 55