summaryrefslogtreecommitdiff
path: root/audio/sysvad/EndpointsCommon/AudioModuleHelper.h
diff options
context:
space:
mode:
authorGirish Pattabiraman <[email protected]>2017-05-03 15:02:49 -0700
committerGirish Pattabiraman <[email protected]>2017-05-03 17:20:15 -0700
commitb9027f2b8124f5853dac4355ff4d9e85379e0e56 (patch)
tree33487ba551e9e53ba5a000afc2ad8860892ef2fa /audio/sysvad/EndpointsCommon/AudioModuleHelper.h
parent32dc5459e78107ce48412eef3653370f32274561 (diff)
Audio Modules Example
Delay APO Package Project Stream Position Bug Fix SAL
Diffstat (limited to 'audio/sysvad/EndpointsCommon/AudioModuleHelper.h')
-rw-r--r--audio/sysvad/EndpointsCommon/AudioModuleHelper.h95
1 files changed, 95 insertions, 0 deletions
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_
+
+