ReactOS 0.4.15-dev-5853-gcb454ef
CMiniportDMusUART Class Reference
Inheritance diagram for CMiniportDMusUART:
Collaboration diagram for CMiniportDMusUART:

Public Member Functions

STDMETHODIMP QueryInterface (REFIID InterfaceId, PVOID *Interface)
 
 CMiniportDMusUART (IUnknown *Unknown)
 
virtual ~CMiniportDMusUART ()
 
 GetDescription (OUT PPCFILTER_DESCRIPTOR *OutFilterDescriptor)
 
 DataRangeIntersection (IN ULONG PinId, IN PKSDATARANGE DataRange, IN PKSDATARANGE MatchingDataRange, IN ULONG OutputBufferLength, OUT PVOID ResultantFormat, OUT PULONG ResultantFormatLength)
 
 STDMETHODIMP_ (NTSTATUS) Init(IN PUNKNOWN UnknownAdapter
 
 STDMETHODIMP_ (NTSTATUS) NewStream(OUT PMXF *Stream
 
 STDMETHODIMP_ (void) Service(void)
 
friend STDMETHODIMP_ (NTSTATUS) SnapTimeStamp(PINTERRUPTSYNC InterruptSync
 
- Public Member Functions inherited from CUnknownImpl< IMiniportDMus, IMusicTechnology, IPowerNotify >
 STDMETHODIMP_ (ULONG) AddRef()
 
 STDMETHODIMP_ (ULONG) Release()
 

Public Attributes

IN PRESOURCELIST ResourceList
 
IN PRESOURCELIST IN PPORTDMUS Port
 
IN PRESOURCELIST IN PPORTDMUS OUT PSERVICEGROUPServiceGroup
 
IN PUNKNOWN OuterUnknown OPTIONAL
 
IN PUNKNOWN OuterUnknown IN POOL_TYPE PoolType
 
IN PUNKNOWN OuterUnknown IN POOL_TYPE IN ULONG PinID
 
IN PUNKNOWN OuterUnknown IN POOL_TYPE IN ULONG IN DMUS_STREAM_TYPE StreamType
 
IN PUNKNOWN OuterUnknown IN POOL_TYPE IN ULONG IN DMUS_STREAM_TYPE IN PKSDATAFORMAT DataFormat
 
IN PUNKNOWN OuterUnknown IN POOL_TYPE IN ULONG IN DMUS_STREAM_TYPE IN PKSDATAFORMAT OUT PSERVICEGROUPServiceGroup
 
IN PUNKNOWN OuterUnknown IN POOL_TYPE IN ULONG IN DMUS_STREAM_TYPE IN PKSDATAFORMAT OUT PSERVICEGROUP IN PAllocatorMXF AllocatorMXF
 
IN PUNKNOWN OuterUnknown IN POOL_TYPE IN ULONG IN DMUS_STREAM_TYPE IN PKSDATAFORMAT OUT PSERVICEGROUP IN PAllocatorMXF IN PMASTERCLOCK MasterClock
 
IN PUNKNOWN OuterUnknown IN POOL_TYPE IN ULONG IN DMUS_STREAM_TYPE IN PKSDATAFORMAT OUT PSERVICEGROUP IN PAllocatorMXF IN PMASTERCLOCK OUT PULONGLONG SchedulePreFetch
 
 IMP_IMusicTechnology
 
 IMP_IPowerNotify
 

Private Member Functions

NTSTATUS ProcessResources (IN PRESOURCELIST ResourceList)
 
NTSTATUS InitializeHardware (PINTERRUPTSYNC interruptSync, PUCHAR portBase)
 

Private Attributes

KSSTATE m_KSStateInput
 
PPORTDMUS m_pPort
 
PUCHAR m_pPortBase
 
PINTERRUPTSYNC m_pInterruptSync
 
PSERVICEGROUP m_pServiceGroup
 
PMASTERCLOCK m_MasterClock
 
REFERENCE_TIME m_InputTimeStamp
 
USHORT m_NumRenderStreams
 
USHORT m_NumCaptureStreams
 
ULONG m_MPUInputBufferHead
 
ULONG m_MPUInputBufferTail
 
GUID m_MusicFormatTechnology
 
POWER_STATE m_PowerState
 
BOOLEAN m_fMPUInitialized
 
BOOLEAN m_UseIRQ
 
UCHAR m_MPUInputBuffer [kMPUInputBufferSize]
 

Friends

class CMiniportDMusUARTStream
 
PVOID pStream
 
NTSTATUS NTAPI DMusMPUInterruptServiceRoutine (PINTERRUPTSYNC InterruptSync, PVOID DynamicContext)
 
NTSTATUS NTAPI SynchronizedDMusMPUWrite (PINTERRUPTSYNC InterruptSync, PVOID syncWriteContext)
 
VOID NTAPI DMusUARTTimerDPC (PKDPC Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
 
NTSTATUS NTAPI PropertyHandler_Synth (IN PPCPROPERTY_REQUEST PropertyRequest)
 

Additional Inherited Members

- Protected Member Functions inherited from CUnknownImpl< IMiniportDMus, IMusicTechnology, IPowerNotify >
 CUnknownImpl ()
 
virtual ~CUnknownImpl ()
 

Detailed Description

Definition at line 69 of file miniport_dmus.cpp.

Constructor & Destructor Documentation

◆ CMiniportDMusUART()

CMiniportDMusUART::CMiniportDMusUART ( IUnknown Unknown)
inline

Definition at line 104 of file miniport_dmus.cpp.

104{}

◆ ~CMiniportDMusUART()

CMiniportDMusUART::~CMiniportDMusUART ( void  )
virtual

Definition at line 1384 of file miniport_dmus.cpp.

1385{
1386 PAGED_CODE();
1387
1388 DPRINT("~CMiniportDMusUART");
1389
1392
1393 // reset the HW so we don't get anymore interrupts
1395 {
1397 }
1398 else
1399 {
1401 }
1402
1403 if (m_pInterruptSync)
1404 {
1405 m_pInterruptSync->Release();
1407 }
1408 if (m_pServiceGroup)
1409 {
1410 m_pServiceGroup->Release();
1412 }
1413 if (m_pPort)
1414 {
1415 m_pPort->Release();
1416 m_pPort = NULL;
1417 }
1418}
#define PAGED_CODE()
PINTERRUPTSYNC m_pInterruptSync
PSERVICEGROUP m_pServiceGroup
#define NULL
Definition: types.h:112
NTSTATUS NTAPI InitMPU(IN PINTERRUPTSYNC InterruptSync, IN PVOID DynamicContext)
#define ASSERT(a)
Definition: mode.c:44
NTSTATUS(NTAPI * PINTERRUPTSYNCROUTINE)(IN struct IInterruptSync *InterruptSync, IN PVOID DynamicContext)
Definition: portcls.h:847
#define DPRINT
Definition: sndvol32.h:71
void * PVOID
Definition: typedefs.h:50

Member Function Documentation

◆ DataRangeIntersection()

CMiniportDMusUART::DataRangeIntersection ( IN ULONG  PinId,
IN PKSDATARANGE  DataRange,
IN PKSDATARANGE  MatchingDataRange,
IN ULONG  OutputBufferLength,
OUT PVOID  ResultantFormat,
OUT PULONG  ResultantFormatLength 
)
inline

Definition at line 115 of file miniport_dmus.cpp.

123 {
125 }
#define STATUS_NOT_IMPLEMENTED
Definition: ntstatus.h:239

◆ GetDescription()

CMiniportDMusUART::GetDescription ( OUT PPCFILTER_DESCRIPTOR OutFilterDescriptor)

Definition at line 1203 of file miniport_dmus.cpp.

1208{
1209 PAGED_CODE();
1210
1211 ASSERT(OutFilterDescriptor);
1212
1213 DPRINT("GetDescription");
1214
1215 *OutFilterDescriptor = &MiniportFilterDescriptor;
1216
1217 return STATUS_SUCCESS;
1218}
static PCFILTER_DESCRIPTOR MiniportFilterDescriptor
#define STATUS_SUCCESS
Definition: shellext.h:65

◆ InitializeHardware()

NTSTATUS CMiniportDMusUART::InitializeHardware ( PINTERRUPTSYNC  interruptSync,
PUCHAR  portBase 
)
private

Definition at line 620 of file miniport_dmus.cpp.

621{
622 PAGED_CODE();
623
624 NTSTATUS ntStatus;
625 if (m_UseIRQ)
626 {
627 ntStatus = interruptSync->CallSynchronizedRoutine(InitMPU,PVOID(portBase));
628 }
629 else
630 {
631 ntStatus = InitMPU(NULL,PVOID(portBase));
632 }
633
634 if (NT_SUCCESS(ntStatus))
635 {
636 //
637 // Start the UART (this should trigger an interrupt).
638 //
639 ntStatus = ResetHardware(portBase);
640 }
641 else
642 {
643 DPRINT("*** InitMPU returned with ntStatus 0x%08x ***", ntStatus);
644 }
645
646 m_fMPUInitialized = NT_SUCCESS(ntStatus);
647
648 return ntStatus;
649}
LONG NTSTATUS
Definition: precomp.h:26
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
NTSTATUS ResetHardware(PUCHAR portBase)

Referenced by ProcessResources().

◆ ProcessResources()

NTSTATUS CMiniportDMusUART::ProcessResources ( IN PRESOURCELIST  ResourceList)
private

Definition at line 1258 of file miniport_dmus.cpp.

1263{
1264 PAGED_CODE();
1265
1266 DPRINT("ProcessResources");
1267
1269 if (!ResourceList)
1270 {
1272 }
1273 //
1274 // Get counts for the types of resources.
1275 //
1276 ULONG countIO = ResourceList->NumberOfPorts();
1277 ULONG countIRQ = ResourceList->NumberOfInterrupts();
1278 ULONG countDMA = ResourceList->NumberOfDmas();
1279 ULONG lengthIO = ResourceList->FindTranslatedPort(0)->u.Port.Length;
1280
1281#if DBG
1282 DPRINT("Starting MPU401 Port 0x%lx", ResourceList->FindTranslatedPort(0)->u.Port.Start.LowPart);
1283#endif
1284
1285 NTSTATUS ntStatus = STATUS_SUCCESS;
1286
1287 //
1288 // Make sure we have the expected number of resources.
1289 //
1290 if ( (countIO != 1)
1291 || (countIRQ > 1)
1292 || (countDMA != 0)
1293 || (lengthIO == 0)
1294 )
1295 {
1296 DPRINT("Unknown ResourceList configuration");
1298 }
1299
1300 if (NT_SUCCESS(ntStatus))
1301 {
1302 //
1303 // Get the port address.
1304 //
1305 m_pPortBase =
1306 PUCHAR(ResourceList->FindTranslatedPort(0)->u.Port.Start.QuadPart);
1307
1309 }
1310
1311 return ntStatus;
1312}
NTSTATUS InitializeHardware(PINTERRUPTSYNC interruptSync, PUCHAR portBase)
#define STATUS_DEVICE_CONFIGURATION_ERROR
Definition: ntstatus.h:619
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
Definition: wdfresource.h:309

◆ QueryInterface()

CMiniportDMusUART::QueryInterface ( REFIID  InterfaceId,
PVOID Interface 
)

Definition at line 1324 of file miniport_dmus.cpp.

1329{
1330 PAGED_CODE();
1331
1332 DPRINT("Miniport::NonDelegatingQueryInterface");
1333 ASSERT(Object);
1334
1336 {
1338 }
1339 else
1340 if (IsEqualGUIDAligned(Interface,IID_IMiniport))
1341 {
1342 *Object = PVOID(PMINIPORT(this));
1343 }
1344 else
1345 if (IsEqualGUIDAligned(Interface,IID_IMiniportDMus))
1346 {
1347 *Object = PVOID(PMINIPORTDMUS(this));
1348 }
1349 else
1350 if (IsEqualGUIDAligned(Interface,IID_IMusicTechnology))
1351 {
1352 *Object = PVOID(PMUSICTECHNOLOGY(this));
1353 }
1354 else
1355 if (IsEqualGUIDAligned(Interface,IID_IPowerNotify))
1356 {
1357 *Object = PVOID(PPOWERNOTIFY(this));
1358 }
1359 else
1360 {
1361 *Object = NULL;
1362 }
1363
1364 if (*Object)
1365 {
1366 //
1367 // We reference the interface for the caller.
1368 //
1369 PUNKNOWN(*Object)->AddRef();
1370 return STATUS_SUCCESS;
1371 }
1372
1374}
const GUID IID_IUnknown
IUnknown * PUNKNOWN
Definition: com_apitest.h:45
IMiniportDMus * PMINIPORTDMUS
Definition: dmusicks.h:211
struct _MINIPORT * PMINIPORT
ULONG AddRef()
IMusicTechnology * PMUSICTECHNOLOGY
Definition: portcls.h:1028
IPowerNotify * PPOWERNOTIFY
Definition: portcls.h:2059
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:235

◆ STDMETHODIMP_() [1/4]

CMiniportDMusUART::STDMETHODIMP_ ( NTSTATUS  )

◆ STDMETHODIMP_() [2/4]

CMiniportDMusUART::STDMETHODIMP_ ( NTSTATUS  )

◆ STDMETHODIMP_() [3/4]

CMiniportDMusUART::STDMETHODIMP_ ( NTSTATUS  )

◆ STDMETHODIMP_() [4/4]

CMiniportDMusUART::STDMETHODIMP_ ( void  )

Friends And Related Function Documentation

◆ CMiniportDMusUARTStream

Definition at line 167 of file miniport_dmus.cpp.

◆ DMusMPUInterruptServiceRoutine

NTSTATUS NTAPI DMusMPUInterruptServiceRoutine ( PINTERRUPTSYNC  InterruptSync,
PVOID  DynamicContext 
)
friend

◆ DMusUARTTimerDPC

VOID NTAPI DMusUARTTimerDPC ( PKDPC  Dpc,
PVOID  DeferredContext,
PVOID  SystemArgument1,
PVOID  SystemArgument2 
)
friend

◆ PropertyHandler_Synth

NTSTATUS NTAPI PropertyHandler_Synth ( IN PPCPROPERTY_REQUEST  PropertyRequest)
friend

Definition at line 2432 of file miniport_dmus.cpp.

2436{
2437 NTSTATUS ntStatus;
2438
2439 PAGED_CODE();
2440
2442 {
2443 ntStatus = ValidatePropertyRequest(pRequest, sizeof(ULONG), TRUE);
2444 if (NT_SUCCESS(ntStatus))
2445 {
2446 // if return buffer can hold a ULONG, return the access flags
2447 PULONG AccessFlags = PULONG(pRequest->Value);
2448
2449 *AccessFlags = KSPROPERTY_TYPE_BASICSUPPORT;
2450 switch (pRequest->PropertyItem->Id)
2451 {
2454 *AccessFlags |= KSPROPERTY_TYPE_GET;
2455 }
2456 switch (pRequest->PropertyItem->Id)
2457 {
2459 *AccessFlags |= KSPROPERTY_TYPE_SET;
2460 }
2461 ntStatus = STATUS_SUCCESS;
2462 pRequest->ValueSize = sizeof(ULONG);
2463
2464 switch (pRequest->PropertyItem->Id)
2465 {
2467 if (pRequest->MinorTarget)
2468 {
2469 *AccessFlags |= KSPROPERTY_TYPE_GET;
2470 }
2471 else
2472 {
2473 pRequest->ValueSize = 0;
2475 }
2476 }
2477 }
2478 }
2479 else
2480 {
2481 ntStatus = STATUS_SUCCESS;
2482 switch(pRequest->PropertyItem->Id)
2483 {
2485 DPRINT("PropertyHandler_Synth:KSPROPERTY_SYNTH_CAPS");
2486
2487 if (pRequest->Verb & KSPROPERTY_TYPE_SET)
2488 {
2490 }
2491
2492 if (NT_SUCCESS(ntStatus))
2493 {
2494 ntStatus = ValidatePropertyRequest(pRequest, sizeof(SYNTHCAPS), TRUE);
2495
2496 if (NT_SUCCESS(ntStatus))
2497 {
2498 SYNTHCAPS *caps = (SYNTHCAPS*)pRequest->Value;
2499 int increment;
2500 RtlZeroMemory(caps, sizeof(SYNTHCAPS));
2501 // XXX Different guids for different instances!
2502 //
2503 if (pRequest->Node == eSynthNode)
2504 {
2505 increment = sizeof(wszDescOut) - 2;
2506 RtlCopyMemory( caps->Description,wszDescOut,increment);
2507 caps->Guid = CLSID_MiniportDriverDMusUART;
2508 }
2509 else
2510 {
2511 increment = sizeof(wszDescIn) - 2;
2512 RtlCopyMemory( caps->Description,wszDescIn,increment);
2513 caps->Guid = CLSID_MiniportDriverDMusUARTCapture;
2514 }
2515
2516 caps->Flags = SYNTH_PC_EXTERNAL;
2517 caps->MemorySize = 0;
2518 caps->MaxChannelGroups = 1;
2519 caps->MaxVoices = 0xFFFFFFFF;
2520 caps->MaxAudioChannels = 0xFFFFFFFF;
2521
2522 caps->EffectFlags = 0;
2523
2524 CMiniportDMusUART *aMiniport;
2525 ASSERT(pRequest->MajorTarget);
2526 aMiniport = (CMiniportDMusUART *)(PMINIPORTDMUS)(pRequest->MajorTarget);
2527 WCHAR wszDesc2[16];
2528 int cLen;
2529 cLen = swprintf(wszDesc2,L"[%03x]\0",PtrToUlong(aMiniport->m_pPortBase));
2530
2531 cLen *= sizeof(WCHAR);
2532 RtlCopyMemory((WCHAR *)((DWORD_PTR)(caps->Description) + increment),
2533 wszDesc2,
2534 cLen);
2535
2536
2537 pRequest->ValueSize = sizeof(SYNTHCAPS);
2538 }
2539 }
2540
2541 break;
2542
2544 DPRINT("PropertyHandler_Synth:KSPROPERTY_SYNTH_PORTPARAMETERS");
2545 {
2546 CMiniportDMusUARTStream *aStream;
2547
2548 aStream = (CMiniportDMusUARTStream*)(pRequest->MinorTarget);
2549 if (aStream)
2550 {
2551 ntStatus = aStream->HandlePortParams(pRequest);
2552 }
2553 else
2554 {
2556 }
2557 }
2558 break;
2559
2561 DPRINT("PropertyHandler_Synth:KSPROPERTY_SYNTH_CHANNELGROUPS");
2562
2563 ntStatus = ValidatePropertyRequest(pRequest, sizeof(ULONG), TRUE);
2564 if (NT_SUCCESS(ntStatus))
2565 {
2566 *(PULONG)(pRequest->Value) = 1;
2567 pRequest->ValueSize = sizeof(ULONG);
2568 }
2569 break;
2570
2572 DPRINT("PropertyHandler_Synth:KSPROPERTY_SYNTH_LATENCYCLOCK");
2573
2574 if(pRequest->Verb & KSPROPERTY_TYPE_SET)
2575 {
2577 }
2578 else
2579 {
2580 ntStatus = ValidatePropertyRequest(pRequest, sizeof(ULONGLONG), TRUE);
2581 if(NT_SUCCESS(ntStatus))
2582 {
2583 REFERENCE_TIME rtLatency;
2584 CMiniportDMusUARTStream *aStream;
2585
2586 aStream = (CMiniportDMusUARTStream*)(pRequest->MinorTarget);
2587 if(aStream == NULL)
2588 {
2590 }
2591 else
2592 {
2593 aStream->m_pMiniport->m_MasterClock->GetTime(&rtLatency);
2594 *((PULONGLONG)pRequest->Value) = rtLatency;
2595 pRequest->ValueSize = sizeof(ULONGLONG);
2596 }
2597 }
2598 }
2599 break;
2600
2601 default:
2602 DPRINT("Unhandled property in PropertyHandler_Synth");
2603 break;
2604 }
2605 }
2606 return ntStatus;
2607}
CMiniportDMusUART * m_pMiniport
NTSTATUS HandlePortParams(IN PPCPROPERTY_REQUEST Request)
PMASTERCLOCK m_MasterClock
#define TRUE
Definition: types.h:120
#define swprintf
Definition: precomp.h:40
LONGLONG REFERENCE_TIME
Definition: dmusicks.h:9
@ KSPROPERTY_SYNTH_PORTPARAMETERS
Definition: dmusprop.h:57
@ KSPROPERTY_SYNTH_CHANNELGROUPS
Definition: dmusprop.h:58
@ KSPROPERTY_SYNTH_CAPS
Definition: dmusprop.h:56
@ KSPROPERTY_SYNTH_LATENCYCLOCK
Definition: dmusprop.h:60
#define SYNTH_PC_EXTERNAL
Definition: dmusprop.h:65
struct _SYNTHCAPS SYNTHCAPS
#define PtrToUlong(u)
Definition: config.h:107
#define KSPROPERTY_TYPE_SET
Definition: dmksctrl.h:43
#define KSPROPERTY_TYPE_BASICSUPPORT
Definition: dmksctrl.h:45
#define KSPROPERTY_TYPE_GET
Definition: dmksctrl.h:42
FxRequest * pRequest
@ eSynthNode
const WCHAR wszDescIn[]
NTSTATUS ValidatePropertyRequest(IN PPCPROPERTY_REQUEST pRequest, IN ULONG ulValueSize, IN BOOLEAN fValueRequired)
const WCHAR wszDescOut[]
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
Definition: ntbasedef.h:383
#define L(x)
Definition: ntvdm.h:50
WCHAR Description[128]
Definition: dmusprop.h:89
DWORD Flags
Definition: dmusprop.h:83
DWORD MemorySize
Definition: dmusprop.h:84
DWORD MaxChannelGroups
Definition: dmusprop.h:85
DWORD MaxAudioChannels
Definition: dmusprop.h:87
GUID Guid
Definition: dmusprop.h:82
DWORD EffectFlags
Definition: dmusprop.h:88
DWORD MaxVoices
Definition: dmusprop.h:86
uint32_t * PULONG
Definition: typedefs.h:59
uint32_t DWORD_PTR
Definition: typedefs.h:65
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
uint64_t ULONGLONG
Definition: typedefs.h:67
#define STATUS_INVALID_DEVICE_REQUEST
Definition: udferr_usr.h:138
__wchar_t WCHAR
Definition: xmlstorage.h:180

◆ pStream

friend PVOID pStream
friend

Definition at line 175 of file miniport_dmus.cpp.

◆ SynchronizedDMusMPUWrite

NTSTATUS NTAPI SynchronizedDMusMPUWrite ( PINTERRUPTSYNC  InterruptSync,
PVOID  syncWriteContext 
)
friend

Member Data Documentation

◆ AllocatorMXF

Definition at line 146 of file miniport_dmus.cpp.

◆ DataFormat

IN PUNKNOWN OuterUnknown IN POOL_TYPE IN ULONG IN DMUS_STREAM_TYPE IN PKSDATAFORMAT CMiniportDMusUART::DataFormat

Definition at line 144 of file miniport_dmus.cpp.

◆ IMP_IMusicTechnology

CMiniportDMusUART::IMP_IMusicTechnology

Definition at line 157 of file miniport_dmus.cpp.

◆ IMP_IPowerNotify

CMiniportDMusUART::IMP_IPowerNotify

Definition at line 162 of file miniport_dmus.cpp.

◆ m_fMPUInitialized

BOOLEAN CMiniportDMusUART::m_fMPUInitialized
private

Definition at line 85 of file miniport_dmus.cpp.

Referenced by InitializeHardware().

◆ m_InputTimeStamp

REFERENCE_TIME CMiniportDMusUART::m_InputTimeStamp
private

Definition at line 78 of file miniport_dmus.cpp.

Referenced by DMusMPUInterruptServiceRoutine(), and SnapTimeStamp().

◆ m_KSStateInput

KSSTATE CMiniportDMusUART::m_KSStateInput
private

Definition at line 72 of file miniport_dmus.cpp.

Referenced by DMusMPUInterruptServiceRoutine().

◆ m_MasterClock

PMASTERCLOCK CMiniportDMusUART::m_MasterClock
private

Definition at line 77 of file miniport_dmus.cpp.

Referenced by DMusMPUInterruptServiceRoutine().

◆ m_MPUInputBuffer

UCHAR CMiniportDMusUART::m_MPUInputBuffer[kMPUInputBufferSize]
private

Definition at line 87 of file miniport_dmus.cpp.

Referenced by DMusMPUInterruptServiceRoutine().

◆ m_MPUInputBufferHead

ULONG CMiniportDMusUART::m_MPUInputBufferHead
private

Definition at line 81 of file miniport_dmus.cpp.

Referenced by DMusMPUInterruptServiceRoutine(), and SnapTimeStamp().

◆ m_MPUInputBufferTail

ULONG CMiniportDMusUART::m_MPUInputBufferTail
private

Definition at line 82 of file miniport_dmus.cpp.

Referenced by DMusMPUInterruptServiceRoutine(), and SnapTimeStamp().

◆ m_MusicFormatTechnology

GUID CMiniportDMusUART::m_MusicFormatTechnology
private

Definition at line 83 of file miniport_dmus.cpp.

◆ m_NumCaptureStreams

USHORT CMiniportDMusUART::m_NumCaptureStreams
private

◆ m_NumRenderStreams

USHORT CMiniportDMusUART::m_NumRenderStreams
private

◆ m_pInterruptSync

PINTERRUPTSYNC CMiniportDMusUART::m_pInterruptSync
private

Definition at line 75 of file miniport_dmus.cpp.

Referenced by ProcessResources(), and ~CMiniportDMusUART().

◆ m_PowerState

POWER_STATE CMiniportDMusUART::m_PowerState
private

Definition at line 84 of file miniport_dmus.cpp.

◆ m_pPort

PPORTDMUS CMiniportDMusUART::m_pPort
private

Definition at line 73 of file miniport_dmus.cpp.

Referenced by DMusMPUInterruptServiceRoutine(), and ~CMiniportDMusUART().

◆ m_pPortBase

PUCHAR CMiniportDMusUART::m_pPortBase
private

◆ m_pServiceGroup

PSERVICEGROUP CMiniportDMusUART::m_pServiceGroup
private

Definition at line 76 of file miniport_dmus.cpp.

Referenced by DMusMPUInterruptServiceRoutine(), and ~CMiniportDMusUART().

◆ m_UseIRQ

BOOLEAN CMiniportDMusUART::m_UseIRQ
private

Definition at line 86 of file miniport_dmus.cpp.

Referenced by InitializeHardware(), and ~CMiniportDMusUART().

◆ MasterClock

Definition at line 147 of file miniport_dmus.cpp.

◆ OPTIONAL

IN PUNKNOWN OuterUnknown CMiniportDMusUART::OPTIONAL

Definition at line 140 of file miniport_dmus.cpp.

◆ PinID

IN PUNKNOWN OuterUnknown IN POOL_TYPE IN ULONG CMiniportDMusUART::PinID

Definition at line 142 of file miniport_dmus.cpp.

◆ PoolType

IN PUNKNOWN OuterUnknown IN POOL_TYPE CMiniportDMusUART::PoolType

Definition at line 141 of file miniport_dmus.cpp.

◆ Port

IN PRESOURCELIST IN PPORTDMUS CMiniportDMusUART::Port

Definition at line 134 of file miniport_dmus.cpp.

◆ ResourceList

IN PRESOURCELIST CMiniportDMusUART::ResourceList

Definition at line 133 of file miniport_dmus.cpp.

◆ SchedulePreFetch

Definition at line 148 of file miniport_dmus.cpp.

◆ ServiceGroup [1/2]

IN PRESOURCELIST IN PPORTDMUS OUT PSERVICEGROUP* CMiniportDMusUART::ServiceGroup

Definition at line 135 of file miniport_dmus.cpp.

◆ ServiceGroup [2/2]

IN PUNKNOWN OuterUnknown IN POOL_TYPE IN ULONG IN DMUS_STREAM_TYPE IN PKSDATAFORMAT OUT PSERVICEGROUP* CMiniportDMusUART::ServiceGroup

Definition at line 145 of file miniport_dmus.cpp.

◆ StreamType

IN PUNKNOWN OuterUnknown IN POOL_TYPE IN ULONG IN DMUS_STREAM_TYPE CMiniportDMusUART::StreamType

Definition at line 143 of file miniport_dmus.cpp.


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