From b9027f2b8124f5853dac4355ff4d9e85379e0e56 Mon Sep 17 00:00:00 2001 From: Girish Pattabiraman Date: Wed, 3 May 2017 15:02:49 -0700 Subject: Audio Modules Example Delay APO Package Project Stream Position Bug Fix SAL --- audio/sysvad/EndpointsCommon/AudioModuleHelper.h | 95 ++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 audio/sysvad/EndpointsCommon/AudioModuleHelper.h (limited to 'audio/sysvad/EndpointsCommon/AudioModuleHelper.h') diff --git a/audio/sysvad/EndpointsCommon/AudioModuleHelper.h b/audio/sysvad/EndpointsCommon/AudioModuleHelper.h new file mode 100644 index 00000000..fa7a2c23 --- /dev/null +++ b/audio/sysvad/EndpointsCommon/AudioModuleHelper.h @@ -0,0 +1,95 @@ +/*++ + +Copyright (c) Microsoft Corporation All Rights Reserved + +Module Name: + + AudioModuleHelper.h + +Abstract: + + Simple helper for Audio Modules logic. + +--*/ + +#ifndef _SYSVAD_AUDIOMODULEHELPER_H_ +#define _SYSVAD_AUDIOMODULEHELPER_H_ + +// +// Module helper functions. +// +#pragma code_seg("PAGE") +NTSTATUS +AudioModule_GenericHandler_BasicSupport( + _In_ PAUDIOMODULE_PARAMETER_INFO ParameterInfo, + _Out_writes_bytes_opt_(*BufferCb) PVOID Buffer, + _Inout_ ULONG * BufferCb + ); + +#pragma code_seg("PAGE") +BOOLEAN +IsAudioModuleParameterValid( + _In_ PAUDIOMODULE_PARAMETER_INFO ParameterInfo, + _In_reads_bytes_opt_(BufferCb) PVOID Buffer, + _In_ ULONG BufferCb + ); + +#pragma code_seg("PAGE") +AUDIOMODULE * +AudioModule_FindModuleInList( + _In_ AUDIOMODULE * AudioModules, + _In_ ULONG AudioModuleCount, + _In_ GUID * ClassId, + _In_ ULONG InstanceId + ); + +#pragma code_seg("PAGE") +NTSTATUS +AudioModule_GenericHandler( + _In_ ULONG Verb, + _In_ ULONG ParameterId, + _In_ PAUDIOMODULE_PARAMETER_INFO ParameterInfo, + _Inout_updates_bytes_(ParameterInfo->Size) PVOID CurrentValue, + _In_reads_bytes_opt_(InBufferCb) PVOID InBuffer, + _In_ ULONG InBufferCb, + _Out_writes_bytes_opt_(*OutBufferCb) PVOID OutBuffer, + _Inout_ ULONG * OutBufferCb, + _In_ BOOL * ParameterChanged + ); + +// +// Miniport/Stream helper functions. +// +#pragma code_seg("PAGE") +NTSTATUS +AudioModule_GenericHandler_ModulesListRequest( + _In_ PPCPROPERTY_REQUEST PropertyRequest, + _In_ AUDIOMODULE * AudioModules, + _In_ ULONG AudioModuleCount + ); + +#pragma code_seg("PAGE") +NTSTATUS +AudioModule_GenericHandler_ModuleCommand( + _In_ PPCPROPERTY_REQUEST PropertyRequest, + _In_ AUDIOMODULE * AudioModules, + _In_ ULONG AudioModuleCount + ); + +#pragma code_seg("PAGE") +NTSTATUS +AudioModule_GenericHandler_ModuleNotificationDeviceId( + _In_ PPCPROPERTY_REQUEST PropertyRequest, + _In_ const GUID * NotificationDeviceId + ); + +#pragma code_seg("PAGE") +VOID +AudioModule_SendNotification( + _In_ PPORTCLSNOTIFICATIONS PortNotifications, + _In_ PVOID NotificationBuffer, + _In_ USHORT NotificationBufferCb + ); +#endif // _SYSVAD_AUDIOMODULEHELPER_H_ + + -- cgit v1.3.1