// // Copyright (C) Microsoft Corporation. All rights reserved. // cpp_quote("#include ") import "wtypes.idl"; #pragma region Application Family cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN10_FE) ") cpp_quote("// Identifier for virtual audio device that supports audio loopback based on") cpp_quote("// a process ID instead of the device interface path of a physical audio device.") cpp_quote("// Use this for the deviceInterfacePath parameter of ActivateAudioInterfaceAsync when") cpp_quote("// AUDIOCLIENT_ACTIVATION_PARAMS::ActivationType is set to AUDIOCLIENT_ACTIVATION_TYPE_PROCESS_LOOPBACK.") cpp_quote("#define VIRTUAL_AUDIO_DEVICE_PROCESS_LOOPBACK L\"VAD\\\\Process_Loopback\"") typedef [v1_enum] enum PROCESS_LOOPBACK_MODE { PROCESS_LOOPBACK_MODE_INCLUDE_TARGET_PROCESS_TREE = 0, PROCESS_LOOPBACK_MODE_EXCLUDE_TARGET_PROCESS_TREE = 1 } PROCESS_LOOPBACK_MODE; cpp_quote("// This structure is used when creating an IAudioClient using ActivateAudioInterfaceAsync") cpp_quote("// for process-based loopback capture. The captured audio either includes or excludes audio rendered") cpp_quote("// by the specified process and its child processes, based on how the ProcessLoopbackMode field is set.") typedef struct AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS { DWORD TargetProcessId; PROCESS_LOOPBACK_MODE ProcessLoopbackMode; } AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS; typedef [v1_enum] enum AUDIOCLIENT_ACTIVATION_TYPE { AUDIOCLIENT_ACTIVATION_TYPE_DEFAULT = 0, AUDIOCLIENT_ACTIVATION_TYPE_PROCESS_LOOPBACK = 1 } AUDIOCLIENT_ACTIVATION_TYPE; cpp_quote("// Activation parameter structure that can be used with ActivateAudioInterfaceAsync") cpp_quote("// to create an IAudioClient.") typedef struct AUDIOCLIENT_ACTIVATION_PARAMS { AUDIOCLIENT_ACTIVATION_TYPE ActivationType; union { // Used when ActivationType is AUDIOCLIENT_ACTIVATION_TYPE_PROCESS_LOOPBACK. AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS ProcessLoopbackParams; } DUMMYUNIONNAME; } AUDIOCLIENT_ACTIVATION_PARAMS; cpp_quote("#endif // (WINVER >= NTDDI_WIN10_FE) ") cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */") #pragma endregion