1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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_
|