dmus::miniport: one DirectMusic port per MIDI pin, its streams over the backend's ring
More...
#include <dxd_portcls_audio.h>
|
| | miniport(const wchar_t* portname, const ::DEVICE_OBJECT* wdm_bus, const ::DEVICE_OBJECT* wdm_pdo, typename stream_t::backend& backend, unsigned int stream_idx, const typename stream_t::stream_desc& stream_desc, unsigned int idx) |
|
| ::IMXF* | create_stream(::IUnknown* unknown, ::IAllocatorMXF* allocator, ::IMasterClock* master_clock) |
| ::NTSTATUS __stdcall | DataRangeIntersection(unsigned long, ::KSDATARANGE *, ::KSDATARANGE *, unsigned long, void *, unsigned long *) |
| ::NTSTATUS __stdcall | GetDescription(::PCFILTER_DESCRIPTOR** out_filter) override |
| ::NTSTATUS __stdcall | Init(::IUnknown* adapter, ::IResourceList *, ::IPortDMus* port, ::IServiceGroup** service_group) override final |
| ::NTSTATUS __stdcall | NewStream(::IMXF** stream, ::IUnknown* unknown, ::POOL_TYPE, unsigned long, ::DMUS_STREAM_TYPE stream_type, ::KSDATAFORMAT* format, ::IServiceGroup** service_group, ::IAllocatorMXF* allocator, ::IMasterClock* master_clock, unsigned long long* schedule_prefetch) override final |
| void __stdcall | Service() override final |
template<typename stream_t>
class dxd::dmus::miniport< stream_t >
dmus::miniport: one DirectMusic port per MIDI pin, its streams over the backend's ring
◆ miniport()
template<typename stream_t>
| dxd::dmus::miniport<stream_t>::miniport(const wchar_t* portname, const ::DEVICE_OBJECT* wdm_bus, const ::DEVICE_OBJECT* wdm_pdo, typename stream_t::backend& backend, unsigned int stream_idx, const typename stream_t::stream_desc& stream_desc, unsigned int idx) |
|
inline |
◆ create_stream()
template<typename stream_t>
| ::IMXF* dxd::dmus::miniport<stream_t>::create_stream(::IUnknown* unknown, ::IAllocatorMXF* allocator, ::IMasterClock* master_clock) |
|
inlineprotected |
◆ DataRangeIntersection()
template<typename stream_t>
| ::NTSTATUS __stdcall dxd::dmus::miniport<stream_t>::DataRangeIntersection(unsigned long, ::KSDATARANGE*, ::KSDATARANGE*, unsigned long, void*, unsigned long*) |
|
inlineprotected |
◆ GetDescription()
template<typename stream_t>
| ::NTSTATUS __stdcall dxd::dmus::miniport<stream_t>::GetDescription(::PCFILTER_DESCRIPTOR** out_filter) |
|
inlineoverrideprotected |
◆ Init()
template<typename stream_t>
| ::NTSTATUS __stdcall dxd::dmus::miniport<stream_t>::Init(::IUnknown* adapter, ::IResourceList*, ::IPortDMus* port, ::IServiceGroup** service_group) |
|
inlinefinaloverrideprotected |
◆ NewStream()
template<typename stream_t>
| ::NTSTATUS __stdcall dxd::dmus::miniport<stream_t>::NewStream(::IMXF** stream, ::IUnknown* unknown, ::POOL_TYPE, unsigned long, ::DMUS_STREAM_TYPE stream_type, ::KSDATAFORMAT* format, ::IServiceGroup** service_group, ::IAllocatorMXF* allocator, ::IMasterClock* master_clock, unsigned long long* schedule_prefetch) |
|
inlinefinaloverrideprotected |
Thats the only place the midiport needs the dummy IServiceGroup member for. The DMUS_STREAM_MIDI_CAPTURE stream will removed again when not providing an IServiceGroup.
◆ Service()
template<typename stream_t>
|
|
inlinefinaloverrideprotected |
◆ status
template<typename stream_t>
The documentation for this class was generated from the following file: