#include <portcls.h>
#include <stdunk.h>
#include "ichreg.h"
#include "ac97reg.h"
#include "debug.h"
Go to the source code of this file.
|
enum | TopoPinConfig {
PINC_PCBEEP_PRESENT = 0
, PINC_PHONE_PRESENT
, PINC_MIC2_PRESENT
, PINC_VIDEO_PRESENT
,
PINC_AUX_PRESENT
, PINC_HPOUT_PRESENT
, PINC_MONOOUT_PRESENT
, PINC_MICIN_PRESENT
,
PINC_MIC_PRESENT
, PINC_LINEIN_PRESENT
, PINC_CD_PRESENT
, PINC_SURROUND_PRESENT
,
PINC_CENTER_LFE_PRESENT
, PINC_TOP_ELEMENT
} |
|
enum | TopoNodeConfig {
NODEC_3D_PRESENT = 0
, NODEC_TONE_PRESENT
, NODEC_LOUDNESS_PRESENT
, NODEC_SIMUL_STEREO_PRESENT
,
NODEC_6BIT_MASTER_VOLUME
, NODEC_6BIT_HPOUT_VOLUME
, NODEC_6BIT_MONOOUT_VOLUME
, NODEC_6BIT_SURROUND_VOLUME
,
NODEC_6BIT_CENTER_LFE_VOLUME
, NODEC_3D_CENTER_ADJUSTABLE
, NODEC_3D_DEPTH_ADJUSTABLE
, NODEC_PCM_VARIABLERATE_SUPPORTED
,
NODEC_PCM_VSR_INDEPENDENT_RATES
, NODEC_PCM_DOUBLERATE_SUPPORTED
, NODEC_MIC_VARIABLERATE_SUPPORTED
, NODEC_CENTER_DAC_PRESENT
,
NODEC_SURROUND_DAC_PRESENT
, NODEC_LFE_DAC_PRESENT
, NODEC_TOP_ELEMENT
} |
|
enum | TopoPins {
PIN_WAVEOUT_SOURCE = 0
, PIN_PCBEEP_SOURCE
, PIN_PHONE_SOURCE
, PIN_MIC_SOURCE
,
PIN_LINEIN_SOURCE
, PIN_CD_SOURCE
, PIN_VIDEO_SOURCE
, PIN_AUX_SOURCE
,
PIN_VIRT_3D_CENTER_SOURCE
, PIN_VIRT_3D_DEPTH_SOURCE
, PIN_VIRT_3D_MIX_MONO_SOURCE
, PIN_VIRT_TONE_MIX_SOURCE
,
PIN_VIRT_TONE_MIX_MONO_SOURCE
, PIN_VIRT_SURROUND_SOURCE
, PIN_VIRT_CENTER_SOURCE
, PIN_VIRT_LFE_SOURCE
,
PIN_VIRT_FRONT_SOURCE
, PIN_MASTEROUT_DEST
, PIN_HPOUT_SOURCE
, PIN_MONOOUT_DEST
,
PIN_WAVEIN_DEST
, PIN_MICIN_DEST
, PIN_TOP_ELEMENT
, PIN_INVALID
} |
|
enum | TopoNodes {
NODE_WAVEOUT_VOLUME = 0
, NODE_WAVEOUT_MUTE
, NODE_VIRT_WAVEOUT_3D_BYPASS
, NODE_PCBEEP_VOLUME
,
NODE_PCBEEP_MUTE
, NODE_PHONE_VOLUME
, NODE_PHONE_MUTE
, NODE_MIC_SELECT
,
NODE_MIC_BOOST
, NODE_MIC_VOLUME
, NODE_MIC_MUTE
, NODE_LINEIN_VOLUME
,
NODE_LINEIN_MUTE
, NODE_CD_VOLUME
, NODE_CD_MUTE
, NODE_VIDEO_VOLUME
,
NODE_VIDEO_MUTE
, NODE_AUX_VOLUME
, NODE_AUX_MUTE
, NODE_MAIN_MIX
,
NODE_VIRT_3D_CENTER
, NODE_VIRT_3D_DEPTH
, NODE_VIRT_3D_ENABLE
, NODE_BEEP_MIX
,
NODE_BASS
, NODE_TREBLE
, NODE_LOUDNESS
, NODE_SIMUL_STEREO
,
NODE_MASTEROUT_VOLUME
, NODE_MASTEROUT_MUTE
, NODE_HPOUT_VOLUME
, NODE_HPOUT_MUTE
,
NODE_MONOOUT_SELECT
, NODE_VIRT_MONOOUT_VOLUME1
, NODE_VIRT_MONOOUT_VOLUME2
, NODE_WAVEIN_SELECT
,
NODE_VIRT_MASTER_INPUT_VOLUME1
, NODE_VIRT_MASTER_INPUT_VOLUME2
, NODE_VIRT_MASTER_INPUT_VOLUME3
, NODE_VIRT_MASTER_INPUT_VOLUME4
,
NODE_VIRT_MASTER_INPUT_VOLUME5
, NODE_VIRT_MASTER_INPUT_VOLUME6
, NODE_VIRT_MASTER_INPUT_VOLUME7
, NODE_VIRT_MASTER_INPUT_VOLUME8
,
NODE_MICIN_VOLUME
, NODE_MICIN_MUTE
, NODE_SURROUND_VOLUME
, NODE_SURROUND_MUTE
,
NODE_CENTER_VOLUME
, NODE_CENTER_MUTE
, NODE_LFE_VOLUME
, NODE_LFE_MUTE
,
NODE_FRONT_VOLUME
, NODE_FRONT_MUTE
, NODE_VIRT_MASTERMONO_VOLUME
, NODE_VIRT_MASTERMONO_MUTE
,
NODE_TOP_ELEMENT
, NODE_INVALID
} |
|
enum | WavePins {
PIN_WAVEOUT = 0
, PIN_WAVEOUT_BRIDGE
, PIN_WAVEIN
, PIN_WAVEIN_BRIDGE
,
PIN_MICIN
, PIN_MICIN_BRIDGE
} |
|
enum | WaveNodes { NODE_WAVEOUT_DAC
, NODE_WAVEIN_ADC
, NODE_MICIN_ADC
} |
|
|
NTSTATUS | NewAdapterCommon (OUT PUNKNOWN *Unknown, IN REFCLSID, IN PUNKNOWN UnknownOuter OPTIONAL, _When_((PoolType &NonPagedPoolMustSucceed) !=0, __drv_reportError("Must succeed pool allocations are forbidden. " "Allocation failures cause a system crash")) IN POOL_TYPE PoolType) |
|
| DECLARE_INTERFACE_ (IAC97MiniportTopology, IMiniportTopology) |
|
| DECLARE_INTERFACE_ (IAC97AdapterCommon, IUnknown) |
|
| DEFINE_GUID (IID_IAC97AdapterCommon, 0x77481fa0, 0x1ef2, 0x11d2, 0x88, 0x3a, 0x0, 0x80, 0xc7, 0x65, 0x64, 0x7d) |
|
| DEFINE_GUID (IID_IAC97MiniportTopology, 0x245ae964, 0x49c8, 0x11d2, 0x95, 0xd7, 0x0, 0xc0, 0x4f, 0xb9, 0x25, 0xd3) |
|
◆ GZCALL
◆ PC_IMPLEMENTATION
◆ WIN9X_COMPAT_SPINLOCK
◆ PAC97MINIPORTTOPOLOGY
◆ PADAPTERCOMMON
◆ TopoNodeConfig
Enumerator |
---|
NODEC_3D_PRESENT | |
NODEC_TONE_PRESENT | |
NODEC_LOUDNESS_PRESENT | |
NODEC_SIMUL_STEREO_PRESENT | |
NODEC_6BIT_MASTER_VOLUME | |
NODEC_6BIT_HPOUT_VOLUME | |
NODEC_6BIT_MONOOUT_VOLUME | |
NODEC_6BIT_SURROUND_VOLUME | |
NODEC_6BIT_CENTER_LFE_VOLUME | |
NODEC_3D_CENTER_ADJUSTABLE | |
NODEC_3D_DEPTH_ADJUSTABLE | |
NODEC_PCM_VARIABLERATE_SUPPORTED | |
NODEC_PCM_VSR_INDEPENDENT_RATES | |
NODEC_PCM_DOUBLERATE_SUPPORTED | |
NODEC_MIC_VARIABLERATE_SUPPORTED | |
NODEC_CENTER_DAC_PRESENT | |
NODEC_SURROUND_DAC_PRESENT | |
NODEC_LFE_DAC_PRESENT | |
NODEC_TOP_ELEMENT | |
Definition at line 83 of file shared.h.
84{
104};
@ NODEC_6BIT_CENTER_LFE_VOLUME
@ NODEC_3D_DEPTH_ADJUSTABLE
@ NODEC_PCM_DOUBLERATE_SUPPORTED
@ NODEC_MIC_VARIABLERATE_SUPPORTED
@ NODEC_6BIT_HPOUT_VOLUME
@ NODEC_SURROUND_DAC_PRESENT
@ NODEC_CENTER_DAC_PRESENT
@ NODEC_PCM_VARIABLERATE_SUPPORTED
@ NODEC_3D_CENTER_ADJUSTABLE
@ NODEC_6BIT_SURROUND_VOLUME
@ NODEC_SIMUL_STEREO_PRESENT
@ NODEC_6BIT_MONOOUT_VOLUME
@ NODEC_6BIT_MASTER_VOLUME
@ NODEC_PCM_VSR_INDEPENDENT_RATES
◆ TopoNodes
Enumerator |
---|
NODE_WAVEOUT_VOLUME | |
NODE_WAVEOUT_MUTE | |
NODE_VIRT_WAVEOUT_3D_BYPASS | |
NODE_PCBEEP_VOLUME | |
NODE_PCBEEP_MUTE | |
NODE_PHONE_VOLUME | |
NODE_PHONE_MUTE | |
NODE_MIC_SELECT | |
NODE_MIC_BOOST | |
NODE_MIC_VOLUME | |
NODE_MIC_MUTE | |
NODE_LINEIN_VOLUME | |
NODE_LINEIN_MUTE | |
NODE_CD_VOLUME | |
NODE_CD_MUTE | |
NODE_VIDEO_VOLUME | |
NODE_VIDEO_MUTE | |
NODE_AUX_VOLUME | |
NODE_AUX_MUTE | |
NODE_MAIN_MIX | |
NODE_VIRT_3D_CENTER | |
NODE_VIRT_3D_DEPTH | |
NODE_VIRT_3D_ENABLE | |
NODE_BEEP_MIX | |
NODE_BASS | |
NODE_TREBLE | |
NODE_LOUDNESS | |
NODE_SIMUL_STEREO | |
NODE_MASTEROUT_VOLUME | |
NODE_MASTEROUT_MUTE | |
NODE_HPOUT_VOLUME | |
NODE_HPOUT_MUTE | |
NODE_MONOOUT_SELECT | |
NODE_VIRT_MONOOUT_VOLUME1 | |
NODE_VIRT_MONOOUT_VOLUME2 | |
NODE_WAVEIN_SELECT | |
NODE_VIRT_MASTER_INPUT_VOLUME1 | |
NODE_VIRT_MASTER_INPUT_VOLUME2 | |
NODE_VIRT_MASTER_INPUT_VOLUME3 | |
NODE_VIRT_MASTER_INPUT_VOLUME4 | |
NODE_VIRT_MASTER_INPUT_VOLUME5 | |
NODE_VIRT_MASTER_INPUT_VOLUME6 | |
NODE_VIRT_MASTER_INPUT_VOLUME7 | |
NODE_VIRT_MASTER_INPUT_VOLUME8 | |
NODE_MICIN_VOLUME | |
NODE_MICIN_MUTE | |
NODE_SURROUND_VOLUME | |
NODE_SURROUND_MUTE | |
NODE_CENTER_VOLUME | |
NODE_CENTER_MUTE | |
NODE_LFE_VOLUME | |
NODE_LFE_MUTE | |
NODE_FRONT_VOLUME | |
NODE_FRONT_MUTE | |
NODE_VIRT_MASTERMONO_VOLUME | |
NODE_VIRT_MASTERMONO_MUTE | |
NODE_TOP_ELEMENT | |
NODE_INVALID | |
Definition at line 185 of file shared.h.
186{
245};
@ NODE_VIRT_MASTER_INPUT_VOLUME1
@ NODE_VIRT_MONOOUT_VOLUME1
@ NODE_VIRT_MONOOUT_VOLUME2
@ NODE_VIRT_MASTER_INPUT_VOLUME3
@ NODE_VIRT_MASTER_INPUT_VOLUME8
@ NODE_VIRT_MASTERMONO_MUTE
@ NODE_VIRT_WAVEOUT_3D_BYPASS
@ NODE_VIRT_MASTER_INPUT_VOLUME2
@ NODE_VIRT_MASTER_INPUT_VOLUME6
@ NODE_VIRT_MASTER_INPUT_VOLUME5
@ NODE_VIRT_MASTER_INPUT_VOLUME7
@ NODE_VIRT_MASTERMONO_VOLUME
@ NODE_VIRT_MASTER_INPUT_VOLUME4
◆ TopoPinConfig
Enumerator |
---|
PINC_PCBEEP_PRESENT | |
PINC_PHONE_PRESENT | |
PINC_MIC2_PRESENT | |
PINC_VIDEO_PRESENT | |
PINC_AUX_PRESENT | |
PINC_HPOUT_PRESENT | |
PINC_MONOOUT_PRESENT | |
PINC_MICIN_PRESENT | |
PINC_MIC_PRESENT | |
PINC_LINEIN_PRESENT | |
PINC_CD_PRESENT | |
PINC_SURROUND_PRESENT | |
PINC_CENTER_LFE_PRESENT | |
PINC_TOP_ELEMENT | |
Definition at line 61 of file shared.h.
62{
77};
@ PINC_CENTER_LFE_PRESENT
◆ TopoPins
Enumerator |
---|
PIN_WAVEOUT_SOURCE | |
PIN_PCBEEP_SOURCE | |
PIN_PHONE_SOURCE | |
PIN_MIC_SOURCE | |
PIN_LINEIN_SOURCE | |
PIN_CD_SOURCE | |
PIN_VIDEO_SOURCE | |
PIN_AUX_SOURCE | |
PIN_VIRT_3D_CENTER_SOURCE | |
PIN_VIRT_3D_DEPTH_SOURCE | |
PIN_VIRT_3D_MIX_MONO_SOURCE | |
PIN_VIRT_TONE_MIX_SOURCE | |
PIN_VIRT_TONE_MIX_MONO_SOURCE | |
PIN_VIRT_SURROUND_SOURCE | |
PIN_VIRT_CENTER_SOURCE | |
PIN_VIRT_LFE_SOURCE | |
PIN_VIRT_FRONT_SOURCE | |
PIN_MASTEROUT_DEST | |
PIN_HPOUT_SOURCE | |
PIN_MONOOUT_DEST | |
PIN_WAVEIN_DEST | |
PIN_MICIN_DEST | |
PIN_TOP_ELEMENT | |
PIN_INVALID | |
Definition at line 111 of file shared.h.
112{
113
138};
@ PIN_VIRT_3D_CENTER_SOURCE
@ PIN_VIRT_TONE_MIX_SOURCE
@ PIN_VIRT_TONE_MIX_MONO_SOURCE
@ PIN_VIRT_SURROUND_SOURCE
@ PIN_VIRT_3D_MIX_MONO_SOURCE
@ PIN_VIRT_3D_DEPTH_SOURCE
◆ WaveNodes
Enumerator |
---|
NODE_WAVEOUT_DAC | |
NODE_WAVEIN_ADC | |
NODE_MICIN_ADC | |
Definition at line 329 of file shared.h.
◆ WavePins
Enumerator |
---|
PIN_WAVEOUT | |
PIN_WAVEOUT_BRIDGE | |
PIN_WAVEIN | |
PIN_WAVEIN_BRIDGE | |
PIN_MICIN | |
PIN_MICIN_BRIDGE | |
Definition at line 316 of file shared.h.
◆ DECLARE_INTERFACE_() [1/2]
DECLARE_INTERFACE_ |
( |
IAC97AdapterCommon |
, |
|
|
IUnknown |
|
|
) |
| |
Definition at line 387 of file shared.h.
388{
467
476
484 DWORD dwChannelConfig
486};
IAC97MiniportTopology * PAC97MINIPORTTOPOLOGY
#define _In_range_(lb, ub)
_In_ ULONG _In_ ULONG Offset
IResourceList * PRESOURCELIST
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
◆ DECLARE_INTERFACE_() [2/2]
DECLARE_INTERFACE_ |
( |
IAC97MiniportTopology |
, |
|
|
IMiniportTopology |
|
|
) |
| |
◆ DEFINE_GUID() [1/2]
DEFINE_GUID |
( |
IID_IAC97AdapterCommon |
, |
|
|
0x77481fa0 |
, |
|
|
0x1ef2 |
, |
|
|
0x11d2 |
, |
|
|
0x88 |
, |
|
|
0x3a |
, |
|
|
0x0 |
, |
|
|
0x80 |
, |
|
|
0xc7 |
, |
|
|
0x65 |
, |
|
|
0x64 |
, |
|
|
0x7d |
|
|
) |
| |
◆ DEFINE_GUID() [2/2]
DEFINE_GUID |
( |
IID_IAC97MiniportTopology |
, |
|
|
0x245ae964 |
, |
|
|
0x49c8 |
, |
|
|
0x11d2 |
, |
|
|
0x95 |
, |
|
|
0xd7 |
, |
|
|
0x0 |
, |
|
|
0xc0 |
, |
|
|
0x4f |
, |
|
|
0xb9 |
, |
|
|
0x25 |
, |
|
|
0xd3 |
|
|
) |
| |
◆ NewAdapterCommon()
Definition at line 116 of file common.cpp.
126{
128
130
132
135}
#define DOUT(lvl, strings)
IAC97AdapterCommon * PADAPTERCOMMON
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG PoolTag
#define DBG_PRINT(ppi, ch, level)
Referenced by StartDevice().
◆ PoolTag