ComPtr.Get()
возвращает удерживаемый указатель по значению , поэтому &(ComPtr.Get())
принимает адрес копии удерживаемого указателя.
ComPtr.GetAddressOf()
возвращает адрес самого удержанного указателя, а не его копию.
Если бы ComPtr.Get()
возвратил удержанный указатель по ссылке , тогда &(ComPtr.Get())
получит адрес исходного указателя , а не копия. Но это не возвращает ссылку.