I've been developing USB devices and interacting with them on Windows for a while, and I had to notice an unfortunate double standard: while e.g. USB HID or CDC ACM interfaces are automatically assigned an HID or a Serial Port driver respectively, the same thing doesn't happen with USB CDC NCM interface. This is despite the fact that the Windows driver for it is readily available in the OS files (C:\Windows\system32\drivers\UsbNcm.sys by default).
Some background on NCM (Network Control Model): it's the latest USB standardized communication interface to transfer Ethernet packets over USB. It is designed to overcome the limitations of previously established protocols such as RNDIS, ECM and EEM. The NCM protocol number and descriptor layout are defined by USB-IF documents, so the host OS could identify this interface type during device enumeration, and assign the UsbNcm driver based on this information alone, as it is done for the above mentioned protocols as well.
I have a device side demonstration firmware here for reference: https://github.com/IntergatedCircuits/IPoverUSB
So my question is, what is the reason for not assigning the UsbNcm driver automatically to such USB devices? Is it simply a missing functionality that hasn't been implemented yet? Or are there security related reasons for doing so? In that case why are other Ethernet packet transferring protocols treated differently?