Microsoft’s CryptoAPI implements Diffie Hellman Key Exchange

So, my task for the day is to implement Diffie Hellman Key Exchange. Despite not being inadequate, I am having a lot of trouble finding examples of how to use the PROV_DSS_DH provider to implemented CALG_DH_EPHEM… I figure that only mugs implement their own implementation of such things if they can humanly avoid it (that seems to be asking for a security bug later), so I really want to use the OS services which implement this.