Я хочу использовать WinRT API для WiFi Direct из Windows 10 SDK в консольном приложении Win32. Я знаю о C++/CX (и даже добился некоторого прогресса в этом направлении), но все же хочу заставить его работать без этого расширения.
Моя проблема в том, что я не могу активировать интерфейс IWifiDirectDevice (из ABI::Windows::Devices::WiFiDirect) для доступа к IWifiDirectDeviceStatics, который предоставляет метод GetDeviceSelector.
HStringReference strDevice(RuntimeClass_Windows_Devices_WiFiDirect_WiFiDirectDevice);
ComPtr<IInspectable> insp;
hr = RoActivateInstance(strDevice.Get(), insp.GetAddressOf());
В результате этот код заканчивается E_NOTIMPL. В примере от Microsoft для активации использовались фабрики, но ABI::Windows: Пространство имен :Devices::WiFiDirect не имеет фабрик.
Стоит отметить, что IWifiDirectAdvertisementPublisher отлично работает, когда активируется так, как я писал ранее.
Итак, как активировать IWifiDirectDevice из WRL?