Создание SpatialSurfaceObserver с помощью WRL

Я пытаюсь использовать класс SpatialSurfaceObserver для смешанной реальности Windows. Я следил за этим: https://developer.microsoft.com/en-us/windows/mixed-reality/spatial_mapping_in_directx

Тем не менее, я попал в контрольно-пропускной пункт. В примере говорится, что я должен просто создать экземпляр следующим образом:
m_surfaceObserver = ref new SpatialSurfaceObserver ();

Тем не менее, я использую чистый C ++, без C #, без C ++ / CX и т. Д. До сих пор это не было проблемой, я ожидал использовать фабрику активации для создания экземпляра, но, насколько я могу судить, один для этого класса не содержит функции для создания экземпляра.

В основном я думал использовать это:

using namespace ABI::Windows::Perception::Spatial;
ComPtr<Surfaces::ISpatialSurfaceObserverStatics> observerFactory;
ABI::Windows::Foundation::GetActivationFactory(HStringReference(RuntimeClass_Windows_Perception_Spatial_Surfaces_SpatialSurfaceObserver).Get(), &observerFactory);

observerFactory->someCreatorFunction(...);

Но нет функции, которую я мог бы использовать.

Потом я нашел ActivateInstance и подумал, что должно работать:

ComPtr<Surfaces::ISpatialSurfaceObserver> observer;
ABI::Windows::Foundation::ActivateInstance(HStringReference(RuntimeClass_Windows_Perception_Spatial_Surfaces_SpatialSurfaceObserver).Get(), &observer);

Но это тоже не компилируется, всегда жалуется, что ISpatialSurfaceObserver не содержит члена «InterfaceType».

Я также столкнулся с «Make» и «MakeAndActivate», но не совсем понял, как их использовать и подходят ли они для моего случая.

Есть идеи, что мне не хватает?

0

Решение

Не какая-то экспертиза здесь, но одна идея, чтобы попробовать.

ABI::Windows::Foundation::ActivateInstance(HStringReference(RuntimeClass_Windows_Perception_Spatial_Surfaces_SpatialSurfaceObserver).Get(), &observer);

Не могли бы вы попробовать позвонить

::RoActivateInstance(HStringReference(RuntimeClass_Windows_Perception_Spatial_Surfaces_SpatialSurfaceObserver).Get(), &observer);

Некоторые ссылки, которые могут быть полезны:

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]