|
dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
|
Windows MIDI Services: the MIDI service of Windows 11 (midisrv), its endpoints spoken to in Universal MIDI Packets through the App SDK (Windows.Devices.Midi2). More...
Classes | |
| class | _device |
| Windows MIDI Services client device: one UMP endpoint. More... | |
| class | device |
| Windows MIDI Services client device. More... | |
| class | driver |
| Windows MIDI Services client driver interface class. More... | |
| class | stream |
| a stream of a Windows MIDI Services endpoint: Universal MIDI Packets through the device's connection, an ump::circular ring on this side More... | |
| struct | target |
| a stream of an endpoint: the direction, the index in the device More... | |
Typedefs | |
| typedef dx::stream::desc< target, 2, 1 > | desc |
| typedef std::map< std::string, std::string > | dictionary |
| matching dictionary: verb -> case-insensitive substring; id -> the endpoint device id, name -> the endpoint's name, vendor -> the manufacturer, transport -> the transport code (KS, KSA, LOOP, VIRT, NET, BLE, DIAG), vid/pid -> the USB ids in hex. A driver's match is a vector of them: any dictionary whose entries all match takes the endpoint, an empty vector takes every endpoint | |
Functions | |
| int32_t __stdcall | activation (void *id, const ::winrt::guid &iid, void **factory) noexcept |
| the activation: what Windows registers is taken from it, a class of the SDK it does not from the DLL in System32 - the developer's copy until the API is in-box, when this branch goes | |
| bool | available () noexcept |
| whether the SDK stands on this machine: its MidiApi resolves | |
| dx::stream::bus::bus | bus (const std::string &transport) noexcept |
| the dx::stream::bus an endpoint's transport stands for | |
| catch (...) | |
| void | install () noexcept |
| installs the activation once, ahead of the first WinRT call | |
Windows MIDI Services: the MIDI service of Windows 11 (midisrv), its endpoints spoken to in Universal MIDI Packets through the App SDK (Windows.Devices.Midi2).
The SDK is Windows' own: its classes are registered by Windows once the API is in-box (Windows 11 25H2), and activation() answers what Windows registers. Until then a developer's machine carries the package's DLL in System32 by hand, where activation() loads it for the classes Windows does not register - the one bridge, never a copy beside a binary - so a binary carrying the driver loads on a machine without the SDK and the driver says it is not installed there (available()).
| typedef dx::stream::desc<target, 2, 1> dx::midi::services::desc |
| typedef std::map<std::string, std::string> dx::midi::services::dictionary |
matching dictionary: verb -> case-insensitive substring; id -> the endpoint device id, name -> the endpoint's name, vendor -> the manufacturer, transport -> the transport code (KS, KSA, LOOP, VIRT, NET, BLE, DIAG), vid/pid -> the USB ids in hex. A driver's match is a vector of them: any dictionary whose entries all match takes the endpoint, an empty vector takes every endpoint
|
inlinenoexcept |
the activation: what Windows registers is taken from it, a class of the SDK it does not from the DLL in System32 - the developer's copy until the API is in-box, when this branch goes
|
inlinenoexcept |
whether the SDK stands on this machine: its MidiApi resolves
|
inlinenoexcept |
| dx::midi::services::catch | ( | ... | ) |
|
inlinenoexcept |
installs the activation once, ahead of the first WinRT call
| (c) copyright 2009 dynamic acoustics e.U. | generated on |