Hi Guy,
If I am understanding right, what you asked is exactly what Npcap has implemented for "Admin-only Mode". If you install Npcap in "Admin-only Mode", the driver npf.sys will be protected with Admin rights. Softwares (like Wireshark) loading Npcap's packet.dll will start a daemon named "NPcapHelper.exe" in Admin privilege (here a UAC prompt shows for user to decide). NPcapHelper.exe communicate with Wireshark using Named Pipes and will open adapter devices (\Device\NPF_{XXX}) for Wireshark. Opened handles will be copied using DuplicateHandle and sent back to Wireshark using Named Pipes.
Currently this mechanism is all transparent to user softwares, and I have tested on Nmap and Wireshark. One issue about this "Admin-only Mode" to Wireshark is, when opening Wireshark UI, UAC window will be prompted multiple times. As "NPcapHelper.exe" daemon only terminates itself when packet.dll is unloaded, I guess this is because Wireshark has loaded and unloaded packet.dll multiple times. I haven't looked into this issue, as there's not many people using this feature in Wireshark yet.
Also I think service start code (like net start npf) should be done in the DLL level, because this code needs Admin right, so it can be taken care by "NPcapHelper.exe" daemon too. If Wireshark is started with no Admin right and needs to start the service, this invocation will simply fail. However, there is not such an startDriverService() API in original WinPcap. So it is kind of hard for Npcap to provide it without patching all user softwares.
Some codes can be found here:
Daemon (providing handles)
Packet.dll (requesting handles)
Cheers,
Yang