ReactOS 0.4.15-dev-7942-gd23573b
CAC97MiniportWaveRT Class Reference

#include <rtminiport.h>

Inheritance diagram for CAC97MiniportWaveRT:
Collaboration diagram for CAC97MiniportWaveRT:

Public Member Functions

 DECLARE_STD_UNKNOWN ()
 
 DEFINE_STD_CONSTRUCTOR (CAC97MiniportWaveRT)
 
 ~CAC97MiniportWaveRT ()
 

Static Public Member Functions

static NTSTATUS InterruptServiceRoutine (IN PINTERRUPTSYNC InterruptSync, IN PVOID StaticContext)
 
static NTSTATUS PropertyChannelConfig (IN PPCPROPERTY_REQUEST PropertyRequest)
 

Public Attributes

 IMP_IMiniportWaveRT
 
 IMP_IPowerNotify
 
- Public Attributes inherited from CUnknown
union {
   IUnknown   IUnknown
 
   INonDelegatingUnknown   INonDelegatingUnknown
 
}; 
 
LONG m_ref_count
 
PUNKNOWN m_outer_unknown
 

Private Member Functions

NTSTATUS ProcessResources (IN PRESOURCELIST ResourceList)
 
NTSTATUS TestDataFormat (IN PKSDATAFORMAT Format, IN WavePins Pin)
 
NTSTATUS BuildDataRangeInformation (void)
 

Private Attributes

CAC97MiniportWaveRTStreamStreams [PIN_MICIN_OFFSET+1]
 
PPORT Port
 
PADAPTERCOMMON AdapterCommon
 
PINTERRUPTSYNC InterruptSync
 
DEVICE_POWER_STATE m_PowerState
 
DWORD m_dwChannelMask
 
WORD m_wChannels
 

Friends

class CAC97MiniportWaveRTStream
 

Detailed Description

Definition at line 58 of file rtminiport.h.

Constructor & Destructor Documentation

◆ ~CAC97MiniportWaveRT()

CAC97MiniportWaveRT::~CAC97MiniportWaveRT ( )

Member Function Documentation

◆ BuildDataRangeInformation()

NTSTATUS CAC97MiniportWaveRT::BuildDataRangeInformation ( void  )
private

◆ DECLARE_STD_UNKNOWN()

CAC97MiniportWaveRT::DECLARE_STD_UNKNOWN ( )

◆ DEFINE_STD_CONSTRUCTOR()

CAC97MiniportWaveRT::DEFINE_STD_CONSTRUCTOR ( CAC97MiniportWaveRT  )

◆ InterruptServiceRoutine()

static NTSTATUS CAC97MiniportWaveRT::InterruptServiceRoutine ( IN PINTERRUPTSYNC  InterruptSync,
IN PVOID  StaticContext 
)
static

Referenced by ProcessResources().

◆ ProcessResources()

NTSTATUS CAC97MiniportWaveRT::ProcessResources ( IN PRESOURCELIST  ResourceList)
private

Definition at line 81 of file rtminiport.cpp.

85{
86 PAGED_CODE ();
87
89
90
91 DOUT (DBG_PRINT, ("[CAC97MiniportWaveRT::ProcessResources]"));
92
93
94 ULONG countIRQ = ResourceList->NumberOfInterrupts ();
95 if (countIRQ < 1)
96 {
97 DOUT (DBG_ERROR, ("Unknown configuration for wave miniport!"));
99 }
100
101 //
102 // Create an interrupt sync object
103 //
104 NTSTATUS ntStatus = STATUS_SUCCESS;
106 NULL,
108 0,
110
111 if (!NT_SUCCESS (ntStatus) || !InterruptSync)
112 {
113 DOUT (DBG_ERROR, ("Failed to create an interrupt sync!"));
115 }
116
117 //
118 // Register our ISR.
119 //
120 ntStatus = InterruptSync->RegisterServiceRoutine (InterruptServiceRoutine,
121 (PVOID)this, FALSE);
122 if (!NT_SUCCESS (ntStatus))
123 {
124 DOUT (DBG_ERROR, ("Failed to register ISR!"));
125 return ntStatus;
126 }
127
128 //
129 // Connect the interrupt.
130 //
131 ntStatus = InterruptSync->Connect ();
132 if (!NT_SUCCESS (ntStatus))
133 {
134 DOUT (DBG_ERROR, ("Failed to connect the ISR with InterruptSync!"));
135 return ntStatus;
136 }
137
138 //
139 // On failure object is destroyed which cleans up.
140 //
141 return STATUS_SUCCESS;
142}
#define PAGED_CODE()
LONG NTSTATUS
Definition: precomp.h:26
PINTERRUPTSYNC InterruptSync
Definition: rtminiport.h:75
static NTSTATUS InterruptServiceRoutine(IN PINTERRUPTSYNC InterruptSync, IN PVOID StaticContext)
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define DOUT(lvl, strings)
Definition: debug.h:82
NTSTATUS NTAPI PcNewInterruptSync(OUT PINTERRUPTSYNC *OutInterruptSync, IN PUNKNOWN OuterUnknown OPTIONAL, IN PRESOURCELIST ResourceList, IN ULONG ResourceIndex, IN INTERRUPTSYNCMODE Mode)
Definition: interrupt.cpp:295
#define ASSERT(a)
Definition: mode.c:44
#define DBG_ERROR
Definition: nfs41_debug.h:78
#define STATUS_DEVICE_CONFIGURATION_ERROR
Definition: ntstatus.h:619
@ InterruptSyncModeNormal
Definition: portcls.h:840
#define STATUS_SUCCESS
Definition: shellext.h:65
uint32_t ULONG
Definition: typedefs.h:59
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
Definition: wdfresource.h:309
#define DBG_PRINT(ppi, ch, level)
Definition: win32kdebug.h:168

◆ PropertyChannelConfig()

static NTSTATUS CAC97MiniportWaveRT::PropertyChannelConfig ( IN PPCPROPERTY_REQUEST  PropertyRequest)
static

◆ TestDataFormat()

NTSTATUS CAC97MiniportWaveRT::TestDataFormat ( IN PKSDATAFORMAT  Format,
IN WavePins  Pin 
)
private

Friends And Related Function Documentation

◆ CAC97MiniportWaveRTStream

Definition at line 67 of file rtminiport.h.

Member Data Documentation

◆ AdapterCommon

PADAPTERCOMMON CAC97MiniportWaveRT::AdapterCommon
private

Definition at line 74 of file rtminiport.h.

◆ IMP_IMiniportWaveRT

CAC97MiniportWaveRT::IMP_IMiniportWaveRT

Definition at line 125 of file rtminiport.h.

◆ IMP_IPowerNotify

CAC97MiniportWaveRT::IMP_IPowerNotify

Definition at line 130 of file rtminiport.h.

◆ InterruptSync

PINTERRUPTSYNC CAC97MiniportWaveRT::InterruptSync
private

Definition at line 75 of file rtminiport.h.

Referenced by ProcessResources().

◆ m_dwChannelMask

DWORD CAC97MiniportWaveRT::m_dwChannelMask
private

Definition at line 77 of file rtminiport.h.

◆ m_PowerState

DEVICE_POWER_STATE CAC97MiniportWaveRT::m_PowerState
private

Definition at line 76 of file rtminiport.h.

◆ m_wChannels

WORD CAC97MiniportWaveRT::m_wChannels
private

Definition at line 78 of file rtminiport.h.

◆ Port

PPORT CAC97MiniportWaveRT::Port
private

Definition at line 73 of file rtminiport.h.

◆ Streams

CAC97MiniportWaveRTStream* CAC97MiniportWaveRT::Streams[PIN_MICIN_OFFSET+1]
private

Definition at line 72 of file rtminiport.h.


The documentation for this class was generated from the following files: