ReactOS  0.4.14-dev-614-gbfd8a84
CMiniportDMusUARTStream Class Reference
Inheritance diagram for CMiniportDMusUARTStream:
Collaboration diagram for CMiniportDMusUARTStream:

Public Member Functions

STDMETHODIMP QueryInterface (REFIID InterfaceId, PVOID *Interface)
 
 STDMETHODIMP_ (ULONG) AddRef()
 
 STDMETHODIMP_ (ULONG) Release()
 
virtual ~CMiniportDMusUARTStream ()
 
 STDMETHODIMP_ (NTSTATUS) Init(IN CMiniportDMusUART *pMiniport
 
NTSTATUS HandlePortParams (IN PPCPROPERTY_REQUEST Request)
 
 STDMETHODIMP_ (NTSTATUS) Write(IN PVOID BufferAddress
 
friend STDMETHODIMP_ (NTSTATUS) SnapTimeStamp(PINTERRUPTSYNC InterruptSync
 

Public Attributes

IN PUCHAR pPortBase
 
IN PUCHAR IN BOOLEAN fCapture
 
IN PUCHAR IN BOOLEAN IN PAllocatorMXF allocatorMXF
 
IN PUCHAR IN BOOLEAN IN PAllocatorMXF IN PMASTERCLOCK masterClock
 
 IMP_IMXF
 
IN ULONG BytesToWrite
 
IN ULONG OUT PULONG BytesWritten
 

Private Member Functions

 STDMETHODIMP_ (NTSTATUS) SourceEvtsToPort()
 
 STDMETHODIMP_ (NTSTATUS) ConsumeEvents()
 
 STDMETHODIMP_ (NTSTATUS) PutMessageLocked(PDMUS_KERNEL_EVENT pDMKEvt)
 

Private Attributes

LONG m_Ref
 
CMiniportDMusUARTm_pMiniport
 
REFERENCE_TIME m_SnapshotTimeStamp
 
PUCHAR m_pPortBase
 
BOOLEAN m_fCapture
 
long m_NumFailedMPUTries
 
PAllocatorMXF m_AllocatorMXF
 
PMXF m_sinkMXF
 
PDMUS_KERNEL_EVENT m_DMKEvtQueue
 
ULONG m_NumberOfRetries
 
ULONG m_DMKEvtOffset
 
KDPC m_Dpc
 
KTIMER m_TimerEvent
 
BOOL m_TimerQueued
 
KSPIN_LOCK m_DpcSpinLock
 

Friends

PVOID pStream
 
VOID NTAPI DMusUARTTimerDPC (IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
 
NTSTATUS NTAPI PropertyHandler_Synth (IN PPCPROPERTY_REQUEST)
 

Detailed Description

Definition at line 207 of file miniport_dmus.cpp.

Constructor & Destructor Documentation

◆ ~CMiniportDMusUARTStream()

CMiniportDMusUARTStream::~CMiniportDMusUARTStream ( void  )
virtual

Definition at line 1891 of file miniport_dmus.cpp.

1892 {
1893  PAGED_CODE();
1894 
1895  DPRINT("~CMiniportDMusUARTStream");
1896 
1898 
1899  if (m_DMKEvtQueue)
1900  {
1901  if (m_AllocatorMXF)
1902  {
1903  m_AllocatorMXF->PutMessage(m_DMKEvtQueue);
1904  }
1905  else
1906  {
1907  DPRINT("~CMiniportDMusUARTStream, no allocator, can't flush DMKEvts");
1908  }
1909  m_DMKEvtQueue = NULL;
1910  }
1911  if (m_AllocatorMXF)
1912  {
1913  m_AllocatorMXF->Release();
1914  m_AllocatorMXF = NULL;
1915  }
1916 
1917  if (m_pMiniport)
1918  {
1919  if (m_fCapture)
1920  {
1922  }
1923  else
1924  {
1926  }
1927 
1928  m_pMiniport->Release();
1929  }
1930 }
#define PAGED_CODE()
Definition: video.h:57
CMiniportDMusUART * m_pMiniport
PAllocatorMXF m_AllocatorMXF
smooth NULL
Definition: ftsmooth.c:416
void DPRINT(...)
Definition: polytest.cpp:61
PDMUS_KERNEL_EVENT m_DMKEvtQueue
BOOLEAN NTAPI KeCancelTimer(IN OUT PKTIMER Timer)
Definition: timerobj.c:206

Member Function Documentation

◆ HandlePortParams()

NTSTATUS CMiniportDMusUARTStream::HandlePortParams ( IN PPCPROPERTY_REQUEST  Request)

Definition at line 2379 of file miniport_dmus.cpp.

2382 {
2383  PAGED_CODE();
2384 
2385  NTSTATUS ntStatus;
2386 
2387  if (pRequest->Verb & KSPROPERTY_TYPE_SET)
2388  {
2390  }
2391 
2392  ntStatus = ValidatePropertyRequest(pRequest, sizeof(SYNTH_PORTPARAMS), TRUE);
2393  if (NT_SUCCESS(ntStatus))
2394  {
2395  RtlCopyMemory(pRequest->Value, pRequest->Instance, sizeof(SYNTH_PORTPARAMS));
2396 
2397  PSYNTH_PORTPARAMS Params = (PSYNTH_PORTPARAMS)pRequest->Value;
2398 
2400  {
2402  }
2403 
2405  {
2406  Params->ChannelGroups = 1;
2407  }
2408  else if (Params->ChannelGroups != 1)
2409  {
2410  Params->ChannelGroups = 1;
2411  }
2412 
2413  pRequest->ValueSize = sizeof(SYNTH_PORTPARAMS);
2414  }
2415 
2416  return ntStatus;
2417 }
#define TRUE
Definition: types.h:120
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
LONG NTSTATUS
Definition: precomp.h:26
#define STATUS_INVALID_DEVICE_REQUEST
Definition: udferr_usr.h:138
struct _SYNTH_PORTPARAMS SYNTH_PORTPARAMS
#define PAGED_CODE()
Definition: video.h:57
struct _SYNTH_PORTPARAMS * PSYNTH_PORTPARAMS
if(!(yy_init))
Definition: macro.lex.yy.c:714
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define SYNTH_PORTPARAMS_CHANNELGROUPS
Definition: dmusprop.h:105
DWORD ValidParams
Definition: dmusprop.h:95
DWORD ChannelGroups
Definition: dmusprop.h:97
NTSTATUS ValidatePropertyRequest(IN PPCPROPERTY_REQUEST pRequest, IN ULONG ulValueSize, IN BOOLEAN fValueRequired)
#define KSPROPERTY_TYPE_SET
Definition: dmksctrl.h:43

Referenced by PropertyHandler_Synth().

◆ QueryInterface()

CMiniportDMusUARTStream::QueryInterface ( REFIID  InterfaceId,
PVOID Interface 
)

Definition at line 1847 of file miniport_dmus.cpp.

1851 {
1852  PAGED_CODE();
1853 
1854  DPRINT("Stream::NonDelegatingQueryInterface");
1855  ASSERT(Object);
1856 
1858  {
1859  *Object = PVOID(PUNKNOWN(this));
1860  }
1861  else
1863  {
1864  *Object = PVOID(PMXF(this));
1865  }
1866  else
1867  {
1868  *Object = NULL;
1869  }
1870 
1871  if (*Object)
1872  {
1873  //
1874  // We reference the interface for the caller.
1875  //
1876  PUNKNOWN(*Object)->AddRef();
1877  return STATUS_SUCCESS;
1878  }
1879 
1880  return STATUS_INVALID_PARAMETER;
1881 }
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
IUnknown * PUNKNOWN
Definition: com_apitest.h:45
#define IID_IMXF
Definition: dmusicks.h:250
#define PAGED_CODE()
Definition: video.h:57
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:233
smooth NULL
Definition: ftsmooth.c:416
void DPRINT(...)
Definition: polytest.cpp:61
void * PVOID
Definition: retypes.h:9
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
Definition: pci.h:359
const GUID IID_IUnknown
static IUnknown Object
Definition: main.c:512
ULONG AddRef()
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
return STATUS_SUCCESS
Definition: btrfs.c:2938
struct IMXF * PMXF
Definition: dmusicks.h:68

◆ STDMETHODIMP_() [1/8]

CMiniportDMusUARTStream::STDMETHODIMP_ ( NTSTATUS  )
private

◆ STDMETHODIMP_() [2/8]

CMiniportDMusUARTStream::STDMETHODIMP_ ( NTSTATUS  )
private

◆ STDMETHODIMP_() [3/8]

CMiniportDMusUARTStream::STDMETHODIMP_ ( NTSTATUS  )
private

◆ STDMETHODIMP_() [4/8]

CMiniportDMusUARTStream::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 233 of file miniport_dmus.cpp.

234  {
236  return m_Ref;
237  }
#define InterlockedIncrement
Definition: armddk.h:53

◆ STDMETHODIMP_() [5/8]

CMiniportDMusUARTStream::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 238 of file miniport_dmus.cpp.

239  {
241 
242  if (!m_Ref)
243  {
244  delete this;
245  return 0;
246  }
247  return m_Ref;
248  }
#define InterlockedDecrement
Definition: armddk.h:52

◆ STDMETHODIMP_() [6/8]

CMiniportDMusUARTStream::STDMETHODIMP_ ( NTSTATUS  )

◆ STDMETHODIMP_() [7/8]

CMiniportDMusUARTStream::STDMETHODIMP_ ( NTSTATUS  )

◆ STDMETHODIMP_() [8/8]

CMiniportDMusUARTStream::STDMETHODIMP_ ( NTSTATUS  )

Friends And Related Function Documentation

◆ DMusUARTTimerDPC

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

Definition at line 2433 of file miniport_dmus.cpp.

2439 {
2441 
2442  CMiniportDMusUARTStream *aStream;
2444  if (aStream)
2445  {
2446  DPRINT("DMusUARTTimerDPC");
2447  if (false == aStream->m_fCapture)
2448  {
2449  (void) aStream->ConsumeEvents();
2450  }
2451  // ignores return value!
2452  }
2453 }
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
void DPRINT(...)
Definition: polytest.cpp:61
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
_In_opt_ PVOID DeferredContext
Definition: ketypes.h:675

◆ PropertyHandler_Synth

NTSTATUS NTAPI PropertyHandler_Synth ( IN PPCPROPERTY_REQUEST  PropertyRequest)
friend

Definition at line 2472 of file miniport_dmus.cpp.

2475 {
2476  NTSTATUS ntStatus;
2477 
2478  PAGED_CODE();
2479 
2480  if (pRequest->Verb & KSPROPERTY_TYPE_BASICSUPPORT)
2481  {
2482  ntStatus = ValidatePropertyRequest(pRequest, sizeof(ULONG), TRUE);
2483  if (NT_SUCCESS(ntStatus))
2484  {
2485  // if return buffer can hold a ULONG, return the access flags
2486  PULONG AccessFlags = PULONG(pRequest->Value);
2487 
2488  *AccessFlags = KSPROPERTY_TYPE_BASICSUPPORT;
2489  switch (pRequest->PropertyItem->Id)
2490  {
2491  case KSPROPERTY_SYNTH_CAPS:
2493  *AccessFlags |= KSPROPERTY_TYPE_GET;
2494  }
2495  switch (pRequest->PropertyItem->Id)
2496  {
2498  *AccessFlags |= KSPROPERTY_TYPE_SET;
2499  }
2500  ntStatus = STATUS_SUCCESS;
2501  pRequest->ValueSize = sizeof(ULONG);
2502 
2503  switch (pRequest->PropertyItem->Id)
2504  {
2506  if (pRequest->MinorTarget)
2507  {
2508  *AccessFlags |= KSPROPERTY_TYPE_GET;
2509  }
2510  else
2511  {
2512  pRequest->ValueSize = 0;
2513  ntStatus = STATUS_INVALID_DEVICE_REQUEST;
2514  }
2515  }
2516  }
2517  }
2518  else
2519  {
2520  ntStatus = STATUS_SUCCESS;
2521  switch(pRequest->PropertyItem->Id)
2522  {
2523  case KSPROPERTY_SYNTH_CAPS:
2524  DPRINT("PropertyHandler_Synth:KSPROPERTY_SYNTH_CAPS");
2525 
2526  if (pRequest->Verb & KSPROPERTY_TYPE_SET)
2527  {
2528  ntStatus = STATUS_INVALID_DEVICE_REQUEST;
2529  }
2530 
2531  if (NT_SUCCESS(ntStatus))
2532  {
2533  ntStatus = ValidatePropertyRequest(pRequest, sizeof(SYNTHCAPS), TRUE);
2534 
2535  if (NT_SUCCESS(ntStatus))
2536  {
2537  SYNTHCAPS *caps = (SYNTHCAPS*)pRequest->Value;
2538  int increment;
2539  RtlZeroMemory(caps, sizeof(SYNTHCAPS));
2540  // XXX Different guids for different instances!
2541  //
2542  if (pRequest->Node == eSynthNode)
2543  {
2544  increment = sizeof(wszDescOut) - 2;
2545  RtlCopyMemory( caps->Description,wszDescOut,increment);
2546  caps->Guid = CLSID_MiniportDriverDMusUART;
2547  }
2548  else
2549  {
2550  increment = sizeof(wszDescIn) - 2;
2551  RtlCopyMemory( caps->Description,wszDescIn,increment);
2552  caps->Guid = CLSID_MiniportDriverDMusUARTCapture;
2553  }
2554 
2555  caps->Flags = SYNTH_PC_EXTERNAL;
2556  caps->MemorySize = 0;
2557  caps->MaxChannelGroups = 1;
2558  caps->MaxVoices = 0xFFFFFFFF;
2559  caps->MaxAudioChannels = 0xFFFFFFFF;
2560 
2561  caps->EffectFlags = 0;
2562 
2563  CMiniportDMusUART *aMiniport;
2564  ASSERT(pRequest->MajorTarget);
2565  aMiniport = (CMiniportDMusUART *)(PMINIPORTDMUS)(pRequest->MajorTarget);
2566  WCHAR wszDesc2[16];
2567  int cLen;
2568  cLen = swprintf(wszDesc2,L"[%03x]\0",PtrToUlong(aMiniport->m_pPortBase));
2569 
2570  cLen *= sizeof(WCHAR);
2571  RtlCopyMemory((WCHAR *)((DWORD_PTR)(caps->Description) + increment),
2572  wszDesc2,
2573  cLen);
2574 
2575 
2576  pRequest->ValueSize = sizeof(SYNTHCAPS);
2577  }
2578  }
2579 
2580  break;
2581 
2583  DPRINT("PropertyHandler_Synth:KSPROPERTY_SYNTH_PORTPARAMETERS");
2584  {
2585  CMiniportDMusUARTStream *aStream;
2586 
2587  aStream = (CMiniportDMusUARTStream*)(pRequest->MinorTarget);
2588  if (aStream)
2589  {
2590  ntStatus = aStream->HandlePortParams(pRequest);
2591  }
2592  else
2593  {
2594  ntStatus = STATUS_INVALID_DEVICE_REQUEST;
2595  }
2596  }
2597  break;
2598 
2600  DPRINT("PropertyHandler_Synth:KSPROPERTY_SYNTH_CHANNELGROUPS");
2601 
2602  ntStatus = ValidatePropertyRequest(pRequest, sizeof(ULONG), TRUE);
2603  if (NT_SUCCESS(ntStatus))
2604  {
2605  *(PULONG)(pRequest->Value) = 1;
2606  pRequest->ValueSize = sizeof(ULONG);
2607  }
2608  break;
2609 
2611  DPRINT("PropertyHandler_Synth:KSPROPERTY_SYNTH_LATENCYCLOCK");
2612 
2613  if(pRequest->Verb & KSPROPERTY_TYPE_SET)
2614  {
2615  ntStatus = STATUS_INVALID_DEVICE_REQUEST;
2616  }
2617  else
2618  {
2619  ntStatus = ValidatePropertyRequest(pRequest, sizeof(ULONGLONG), TRUE);
2620  if(NT_SUCCESS(ntStatus))
2621  {
2622  REFERENCE_TIME rtLatency;
2623  CMiniportDMusUARTStream *aStream;
2624 
2625  aStream = (CMiniportDMusUARTStream*)(pRequest->MinorTarget);
2626  if(aStream == NULL)
2627  {
2628  ntStatus = STATUS_INVALID_DEVICE_REQUEST;
2629  }
2630  else
2631  {
2632  aStream->m_pMiniport->m_MasterClock->GetTime(&rtLatency);
2633  *((PULONGLONG)pRequest->Value) = rtLatency;
2634  pRequest->ValueSize = sizeof(ULONGLONG);
2635  }
2636  }
2637  }
2638  break;
2639 
2640  default:
2641  DPRINT("Unhandled property in PropertyHandler_Synth");
2642  break;
2643  }
2644  }
2645  return ntStatus;
2646 }
#define TRUE
Definition: types.h:120
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
DWORD MaxVoices
Definition: dmusprop.h:86
DWORD MemorySize
Definition: dmusprop.h:84
LONG NTSTATUS
Definition: precomp.h:26
#define STATUS_INVALID_DEVICE_REQUEST
Definition: udferr_usr.h:138
GUID Guid
Definition: dmusprop.h:82
#define KSPROPERTY_TYPE_GET
Definition: dmksctrl.h:42
#define PAGED_CODE()
Definition: video.h:57
WCHAR Description[128]
Definition: dmusprop.h:89
CMiniportDMusUART * m_pMiniport
const WCHAR wszDescIn[]
smooth NULL
Definition: ftsmooth.c:416
void DPRINT(...)
Definition: polytest.cpp:61
#define PtrToUlong(u)
Definition: config.h:107
#define KSPROPERTY_TYPE_BASICSUPPORT
Definition: dmksctrl.h:45
LONGLONG REFERENCE_TIME
Definition: dmusicks.h:9
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
uint64_t ULONGLONG
Definition: typedefs.h:65
#define swprintf(buf, format,...)
Definition: sprintf.c:56
DWORD Flags
Definition: dmusprop.h:83
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
static const WCHAR L[]
Definition: oid.c:1250
uint32_t DWORD_PTR
Definition: typedefs.h:63
DWORD EffectFlags
Definition: dmusprop.h:88
IMiniportDMus * PMINIPORTDMUS
Definition: dmusicks.h:209
unsigned int * PULONG
Definition: retypes.h:1
const WCHAR wszDescOut[]
DWORD MaxChannelGroups
Definition: dmusprop.h:85
#define SYNTH_PC_EXTERNAL
Definition: dmusprop.h:65
DWORD MaxAudioChannels
Definition: dmusprop.h:87
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
Definition: ntbasedef.h:390
PMASTERCLOCK m_MasterClock
unsigned int ULONG
Definition: retypes.h:1
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:261
NTSTATUS ValidatePropertyRequest(IN PPCPROPERTY_REQUEST pRequest, IN ULONG ulValueSize, IN BOOLEAN fValueRequired)
return STATUS_SUCCESS
Definition: btrfs.c:2938
#define KSPROPERTY_TYPE_SET
Definition: dmksctrl.h:43
struct _SYNTHCAPS SYNTHCAPS
NTSTATUS HandlePortParams(IN PPCPROPERTY_REQUEST Request)

◆ pStream

friend PVOID pStream
friend

Definition at line 287 of file miniport_dmus.cpp.

Member Data Documentation

◆ allocatorMXF

IN PUCHAR IN BOOLEAN IN PAllocatorMXF CMiniportDMusUARTStream::allocatorMXF

Definition at line 255 of file miniport_dmus.cpp.

◆ BytesToWrite

IN ULONG CMiniportDMusUARTStream::BytesToWrite

Definition at line 274 of file miniport_dmus.cpp.

◆ BytesWritten

IN ULONG OUT PULONG CMiniportDMusUARTStream::BytesWritten

Definition at line 274 of file miniport_dmus.cpp.

◆ fCapture

IN PUCHAR IN BOOLEAN CMiniportDMusUARTStream::fCapture

Definition at line 255 of file miniport_dmus.cpp.

◆ IMP_IMXF

CMiniportDMusUARTStream::IMP_IMXF

Definition at line 269 of file miniport_dmus.cpp.

◆ m_AllocatorMXF

PAllocatorMXF CMiniportDMusUARTStream::m_AllocatorMXF
private

Definition at line 216 of file miniport_dmus.cpp.

Referenced by ~CMiniportDMusUARTStream().

◆ m_DMKEvtOffset

ULONG CMiniportDMusUARTStream::m_DMKEvtOffset
private

Definition at line 220 of file miniport_dmus.cpp.

◆ m_DMKEvtQueue

PDMUS_KERNEL_EVENT CMiniportDMusUARTStream::m_DMKEvtQueue
private

Definition at line 218 of file miniport_dmus.cpp.

Referenced by ~CMiniportDMusUARTStream().

◆ m_Dpc

KDPC CMiniportDMusUARTStream::m_Dpc
private

Definition at line 221 of file miniport_dmus.cpp.

◆ m_DpcSpinLock

KSPIN_LOCK CMiniportDMusUARTStream::m_DpcSpinLock
private

Definition at line 224 of file miniport_dmus.cpp.

◆ m_fCapture

BOOLEAN CMiniportDMusUARTStream::m_fCapture
private

Definition at line 214 of file miniport_dmus.cpp.

Referenced by DMusUARTTimerDPC(), and ~CMiniportDMusUARTStream().

◆ m_NumberOfRetries

ULONG CMiniportDMusUARTStream::m_NumberOfRetries
private

Definition at line 219 of file miniport_dmus.cpp.

◆ m_NumFailedMPUTries

long CMiniportDMusUARTStream::m_NumFailedMPUTries
private

Definition at line 215 of file miniport_dmus.cpp.

◆ m_pMiniport

CMiniportDMusUART* CMiniportDMusUARTStream::m_pMiniport
private

◆ m_pPortBase

PUCHAR CMiniportDMusUARTStream::m_pPortBase
private

Definition at line 213 of file miniport_dmus.cpp.

◆ m_Ref

LONG CMiniportDMusUARTStream::m_Ref
private

Definition at line 210 of file miniport_dmus.cpp.

Referenced by STDMETHODIMP_().

◆ m_sinkMXF

PMXF CMiniportDMusUARTStream::m_sinkMXF
private

Definition at line 217 of file miniport_dmus.cpp.

◆ m_SnapshotTimeStamp

REFERENCE_TIME CMiniportDMusUARTStream::m_SnapshotTimeStamp
private

Definition at line 212 of file miniport_dmus.cpp.

Referenced by SnapTimeStamp().

◆ m_TimerEvent

KTIMER CMiniportDMusUARTStream::m_TimerEvent
private

Definition at line 222 of file miniport_dmus.cpp.

Referenced by ~CMiniportDMusUARTStream().

◆ m_TimerQueued

BOOL CMiniportDMusUARTStream::m_TimerQueued
private

Definition at line 223 of file miniport_dmus.cpp.

◆ masterClock

IN PUCHAR IN BOOLEAN IN PAllocatorMXF IN PMASTERCLOCK CMiniportDMusUARTStream::masterClock

Definition at line 255 of file miniport_dmus.cpp.

◆ pPortBase

IN PUCHAR CMiniportDMusUARTStream::pPortBase

Definition at line 255 of file miniport_dmus.cpp.


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