ReactOS  0.4.15-dev-4872-g8a3db97
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

◆ ProcessResources()

NTSTATUS CAC97MiniportWaveRT::ProcessResources ( IN PRESOURCELIST  ResourceList)
private

Definition at line 82 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;
105  ntStatus = PcNewInterruptSync (&InterruptSync,
106  NULL,
107  ResourceList,
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 STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
LONG NTSTATUS
Definition: precomp.h:26
#define DOUT(lvl, strings)
Definition: debug.h:82
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
Definition: wdfresource.h:304
#define FALSE
Definition: types.h:117
static NTSTATUS InterruptServiceRoutine(IN PINTERRUPTSYNC InterruptSync, IN PVOID StaticContext)
#define ASSERT(a)
Definition: mode.c:44
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
NTSTATUS NTAPI PcNewInterruptSync(OUT PINTERRUPTSYNC *OutInterruptSync, IN PUNKNOWN OuterUnknown OPTIONAL, IN PRESOURCELIST ResourceList, IN ULONG ResourceIndex, IN INTERRUPTSYNCMODE Mode)
Definition: interrupt.cpp:305
const int DBG_ERROR
Definition: debug.h:19
#define NULL
Definition: types.h:112
unsigned int ULONG
Definition: retypes.h:1
PINTERRUPTSYNC InterruptSync
Definition: rtminiport.h:75
#define STATUS_SUCCESS
Definition: shellext.h:65
#define STATUS_DEVICE_CONFIGURATION_ERROR
Definition: ntstatus.h:619
const int DBG_PRINT
Definition: debug.h:17
#define PAGED_CODE()

◆ 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.

◆ 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: