It seems to me like a better solution would be to include those headers in mmdevapi.h itself. In general, if any C file uses a definition, it should include the necessary headers for it.
Yeah, I just hope no issues arise by including those two headers.
[Side note, can we consider renaming mmdevapi.h to mmdevapi_private.h or something, so it's clearer that it's not an external header?]
Good idea, especially because WinAPI has a header called `mmdeviceapi.h`...
Should I do it in a separate merge request?