well, I tried to demangle/undecorate some of the class names used in glcnd to get some info about the Microsoft::WRL or (possibly) Windows Runtime Library, here are what I got Code: Microsoft::WRL::Details::DontUseNewUseMake Microsoft::WRL::Details::ImplementsBase Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<1>,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Automation::Peers::IAutomationPeerFactory>,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<1>,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Controls::ICanvasFactory>,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<1>,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Controls::IListBoxFactory>,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<1>,struct Microsoft::WRL::Details::InterfaceList<struct IInspectable,struct Microsoft::WRL::Details::InterfaceList<struct IWeakReferenceSource,struct Microsoft::WRL::Details::Nil> >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<1>,struct Microsoft::WRL::Details::InterfaceList<struct IWeakReferenceSource,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Automation::Peers::IAutomationPeerFactory>,struct Microsoft::WRL::Details::Nil> >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<1>,struct Microsoft::WRL::Details::InterfaceList<struct IWeakReferenceSource,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Controls::ICanvasFactory>,struct Microsoft::WRL::Details::Nil> >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<1>,struct Microsoft::WRL::Details::InterfaceList<struct IWeakReferenceSource,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Controls::IListBoxFactory>,struct Microsoft::WRL::Details::Nil> >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<1>,struct Microsoft::WRL::Details::InterfaceList<struct IWeakReferenceSource,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<1>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Automation::Peers::IAutomationPeerOverrides,struct Microsoft::WRL::Details::InterfaceList<struct IWeakReferenceSource,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Automation::Peers::IAutomationPeerFactory>,struct Microsoft::WRL::Details::Nil> > >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<1>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Automation::Provider::IValueProvider,struct Microsoft::WRL::Details::InterfaceList<struct IWeakReferenceSource,struct Microsoft::WRL::Details::Nil> >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<1>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Controls::IItemsControlOverrides,struct Microsoft::WRL::Details::InterfaceList<struct IWeakReferenceSource,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Controls::IListBoxFactory>,struct Microsoft::WRL::Details::Nil> > >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<1>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::IUIElementOverrides,struct Microsoft::WRL::Details::InterfaceList<struct IWeakReferenceSource,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Controls::ICanvasFactory>,struct Microsoft::WRL::Details::Nil> > >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct App::IReaderShare,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::Foundation::IStreamFlushCompletedEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::Foundation::IStreamReadCompletedEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::Foundation::IStreamWriteCompletedEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::Storage::IFileItemGetStreamHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::Storage::IFileItemRetrievalHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::Storage::IFileItemStatusHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Controls::IDrawEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Controls::ISelectionChangedEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Controls::ITextChangedEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::IActivatedEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::IEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::IRoutedEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::ISizeChangedEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IKeyEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IManipulationCompletedEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IManipulationDeltaEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IManipulationStartedEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IMouseButtonEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IMouseEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IMouseWheelEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IPointerEventHandler,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::ISharingDataRequestHandler,struct Microsoft::WRL::Details::InterfaceList<struct App::IReaderShare,struct Microsoft::WRL::Details::Nil> >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<3>,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::FtmBase,struct Microsoft::WRL::Details::Nil>,1> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<3>,struct Microsoft::WRL::Details::InterfaceList<struct IWeakReferenceSource,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IBufferInternal>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct IMarshal>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct ISequentialStream>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IInitializeWithRemoteBuffer>,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::FtmBase,struct Microsoft::WRL::Details::Nil> > > > > >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<3>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct IMarshal>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct ISequentialStream>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IInitializeWithRemoteBuffer>,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::FtmBase,struct Microsoft::WRL::Details::Nil> > > >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<3>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct IMarshal>,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<3>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct ISequentialStream>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IInitializeWithRemoteBuffer>,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::FtmBase,struct Microsoft::WRL::Details::Nil> > >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<3>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IBufferInternal>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct IMarshal>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct ISequentialStream>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IInitializeWithRemoteBuffer>,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::FtmBase,struct Microsoft::WRL::Details::Nil> > > > >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<3>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IInitializeWithRemoteBuffer>,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::FtmBase,struct Microsoft::WRL::Details::Nil> >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<3>,struct Microsoft::WRL::Details::InterfaceList<struct Windows::Foundation::IBuffer,struct Microsoft::WRL::Details::InterfaceList<struct IWeakReferenceSource,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IBufferInternal>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct IMarshal>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct ISequentialStream>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IInitializeWithRemoteBuffer>,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::FtmBase,struct Microsoft::WRL::Details::Nil> > > > > > >,0> Microsoft::WRL::Details::ImplementsHelper<struct Microsoft::WRL::RuntimeClassFlags<5>,struct Microsoft::WRL::Details::InterfaceList<struct IWeakReference,struct Microsoft::WRL::Details::Nil>,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct IInspectable,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<1>,1,1> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct IWeakReference,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<5>,0,1> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::Foundation::IBuffer,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IBufferInternal>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct IMarshal>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct ISequentialStream>,struct Microsoft::WRL::Details::InterfaceList<struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IInitializeWithRemoteBuffer>,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::FtmBase,struct Microsoft::WRL::Details::Nil> > > > > >,struct Microsoft::WRL::RuntimeClassFlags<3>,1,1> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::Foundation::IStreamFlushCompletedEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::Foundation::IStreamReadCompletedEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::Foundation::IStreamWriteCompletedEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::Storage::IFileItemGetStreamHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::Storage::IFileItemRetrievalHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::Storage::IFileItemStatusHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Automation::Peers::IAutomationPeerOverrides,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Automation::Peers::IAutomationPeerFactory>,struct Microsoft::WRL::Details::Nil> >,struct Microsoft::WRL::RuntimeClassFlags<1>,1,1> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Automation::Provider::IValueProvider,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<1>,1,1> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Controls::IDrawEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Controls::IItemsControlOverrides,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Controls::IListBoxFactory>,struct Microsoft::WRL::Details::Nil> >,struct Microsoft::WRL::RuntimeClassFlags<1>,1,1> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Controls::ISelectionChangedEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Controls::ITextChangedEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::IActivatedEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::IEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::IRoutedEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::ISizeChangedEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::IUIElementOverrides,struct Microsoft::WRL::Details::InterfaceList<class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Controls::ICanvasFactory>,struct Microsoft::WRL::Details::Nil> >,struct Microsoft::WRL::RuntimeClassFlags<1>,1,1> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IKeyEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IManipulationCompletedEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IManipulationDeltaEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IManipulationStartedEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IMouseButtonEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IMouseEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IMouseWheelEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::DirectUI::Input::IPointerEventHandler,struct Microsoft::WRL::Details::Nil>,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClass<struct Microsoft::WRL::Details::InterfaceList<struct Windows::UI::ISharingDataRequestHandler,struct Microsoft::WRL::Details::InterfaceList<struct App::IReaderShare,struct Microsoft::WRL::Details::Nil> >,struct Microsoft::WRL::RuntimeClassFlags<2>,1,0> Microsoft::WRL::Details::RuntimeClassBase Microsoft::WRL::Details::RuntimeClassBaseT<1> Microsoft::WRL::Details::RuntimeClassBaseT<2> Microsoft::WRL::Details::RuntimeClassBaseT<3> Microsoft::WRL::Details::RuntimeClassBaseT<5> Microsoft::WRL::Details::WeakReference Microsoft::WRL::FtmBase Microsoft::WRL::Implements<struct Microsoft::WRL::RuntimeClassFlags<3>,struct Microsoft::WRL::CloakedIid<struct IMarshal>,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct IInspectable,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::Foundation::IStreamFlushCompletedEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::Foundation::IStreamReadCompletedEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::Foundation::IStreamWriteCompletedEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::Storage::IFileItemGetStreamHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::Storage::IFileItemRetrievalHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::Storage::IFileItemStatusHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::Controls::IDrawEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::Controls::ISelectionChangedEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::Controls::ITextChangedEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::IActivatedEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::IEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::IRoutedEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::ISizeChangedEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::Input::IKeyEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::Input::IManipulationCompletedEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::Input::IManipulationDeltaEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::Input::IManipulationStartedEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::Input::IMouseButtonEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::Input::IMouseEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::Input::IMouseWheelEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::DirectUI::Input::IPointerEventHandler,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::UI::ISharingDataRequestHandler,struct App::IReaderShare,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<3>,struct Windows::Foundation::IBuffer,struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IBufferInternal>,struct Microsoft::WRL::CloakedIid<struct IMarshal>,struct Microsoft::WRL::CloakedIid<struct ISequentialStream>,struct Microsoft::WRL::CloakedIid<struct Windows::Foundation::IInitializeWithRemoteBuffer>,class Microsoft::WRL::FtmBase,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Microsoft::WRL::RuntimeClassFlags<5>,struct IWeakReference,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Windows::UI::DirectUI::Automation::Peers::IAutomationPeerOverrides,class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Automation::Peers::IAutomationPeerFactory>,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Windows::UI::DirectUI::Automation::Provider::IValueProvider,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Windows::UI::DirectUI::Controls::IItemsControlOverrides,class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Controls::IListBoxFactory>,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClass<struct Windows::UI::DirectUI::IUIElementOverrides,class Microsoft::WRL::ComposableBase<struct Windows::UI::DirectUI::Controls::ICanvasFactory>,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil,struct Microsoft::WRL::Details::Nil> Microsoft::WRL::RuntimeClassFlags<4> Code: `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Controls::IDrawEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Controls::IDrawEventHandler,class UI::CDocumentViewElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Controls::IDrawEventArgs * __ptr64>(class UI::CDocumentViewElement * __ptr64,long (__cdecl UI::CDocumentViewElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Controls::IDrawEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Controls::ISelectionChangedEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Controls::ISelectionChangedEventHandler,class UI::CFindControlElements,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Controls::ISelectionChangedEventArgs * __ptr64>(class UI::CFindControlElements * __ptr64,long (__cdecl UI::CFindControlElements::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Controls::ISelectionChangedEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Controls::ISelectionChangedEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Controls::ISelectionChangedEventHandler,class UI::CListBoxView,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Controls::ISelectionChangedEventArgs * __ptr64>(class UI::CListBoxView * __ptr64,long (__cdecl UI::CListBoxView::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Controls::ISelectionChangedEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Controls::ISelectionChangedEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Controls::ISelectionChangedEventHandler,class UI::CSummaryPaneElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Controls::ISelectionChangedEventArgs * __ptr64>(class UI::CSummaryPaneElement * __ptr64,long (__cdecl UI::CSummaryPaneElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Controls::ISelectionChangedEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Controls::ITextChangedEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Controls::ITextChangedEventHandler,class UI::CEditBoxControlView,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Controls::ITextChangedEventArgs * __ptr64>(class UI::CEditBoxControlView * __ptr64,long (__cdecl UI::CEditBoxControlView::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Controls::ITextChangedEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Controls::ITextChangedEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Controls::ITextChangedEventHandler,class UI::CFindControlElements,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Controls::ITextChangedEventArgs * __ptr64>(class UI::CFindControlElements * __ptr64,long (__cdecl UI::CFindControlElements::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Controls::ITextChangedEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::IActivatedEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::IActivatedEventHandler,class App::CApplication::CApplicationActivationHandler,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::IActivatedEventArgs * __ptr64>(class App::CApplication::CApplicationActivationHandler * __ptr64,long (__cdecl App::CApplication::CApplicationActivationHandler::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::IActivatedEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::IEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::IEventHandler,class App::CApplication,struct IInspectable * __ptr64,struct IInspectable * __ptr64>(class App::CApplication * __ptr64,long (__cdecl App::CApplication::*)(struct IInspectable * __ptr64,struct IInspectable * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::IRoutedEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::IRoutedEventHandler,class UI::CCommandElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::IRoutedEventArgs * __ptr64>(class UI::CCommandElement * __ptr64,long (__cdecl UI::CCommandElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::IRoutedEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::IRoutedEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::IRoutedEventHandler,class UI::CFindControlElements,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::IRoutedEventArgs * __ptr64>(class UI::CFindControlElements * __ptr64,long (__cdecl UI::CFindControlElements::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::IRoutedEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::IRoutedEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::IRoutedEventHandler,class UI::CGroupCommandElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::IRoutedEventArgs * __ptr64>(class UI::CGroupCommandElement * __ptr64,long (__cdecl UI::CGroupCommandElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::IRoutedEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::ISizeChangedEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::ISizeChangedEventHandler,class UI::CDocumentViewElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::ISizeChangedEventArgs * __ptr64>(class UI::CDocumentViewElement * __ptr64,long (__cdecl UI::CDocumentViewElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::ISizeChangedEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IKeyEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IKeyEventHandler,class UI::CControlView,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IKeyEventArgs * __ptr64>(class UI::CControlView * __ptr64,long (__cdecl UI::CControlView::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IKeyEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IKeyEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IKeyEventHandler,class UI::CDocumentViewElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IKeyEventArgs * __ptr64>(class UI::CDocumentViewElement * __ptr64,long (__cdecl UI::CDocumentViewElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IKeyEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IKeyEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IKeyEventHandler,class UI::CMainWnd,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IKeyEventArgs * __ptr64>(class UI::CMainWnd * __ptr64,long (__cdecl UI::CMainWnd::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IKeyEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IManipulationCompletedEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IManipulationCompletedEventHandler,class UI::CDocumentViewElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IManipulationCompletedEventArgs * __ptr64>(class UI::CDocumentViewElement * __ptr64,long (__cdecl UI::CDocumentViewElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IManipulationCompletedEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IManipulationDeltaEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IManipulationDeltaEventHandler,class UI::CDocumentViewElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IManipulationDeltaEventArgs * __ptr64>(class UI::CDocumentViewElement * __ptr64,long (__cdecl UI::CDocumentViewElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IManipulationDeltaEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IManipulationStartedEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IManipulationStartedEventHandler,class UI::CDocumentViewElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IManipulationStartedEventArgs * __ptr64>(class UI::CDocumentViewElement * __ptr64,long (__cdecl UI::CDocumentViewElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IManipulationStartedEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IMouseButtonEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IMouseButtonEventHandler,class UI::CControlView,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IMouseButtonEventArgs * __ptr64>(class UI::CControlView * __ptr64,long (__cdecl UI::CControlView::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IMouseButtonEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IMouseButtonEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IMouseButtonEventHandler,class UI::CDocumentViewElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IMouseButtonEventArgs * __ptr64>(class UI::CDocumentViewElement * __ptr64,long (__cdecl UI::CDocumentViewElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IMouseButtonEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IMouseButtonEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IMouseButtonEventHandler,class UI::CFlyoutElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IMouseButtonEventArgs * __ptr64>(class UI::CFlyoutElement * __ptr64,long (__cdecl UI::CFlyoutElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IMouseButtonEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IMouseEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IMouseEventHandler,class UI::CControlView,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IMouseEventArgs * __ptr64>(class UI::CControlView * __ptr64,long (__cdecl UI::CControlView::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IMouseEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IMouseEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IMouseEventHandler,class UI::CDocumentViewElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IMouseEventArgs * __ptr64>(class UI::CDocumentViewElement * __ptr64,long (__cdecl UI::CDocumentViewElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IMouseEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IMouseWheelEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IMouseWheelEventHandler,class UI::CDocumentViewElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IMouseWheelEventArgs * __ptr64>(class UI::CDocumentViewElement * __ptr64,long (__cdecl UI::CDocumentViewElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IMouseWheelEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IPointerEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IPointerEventHandler,class UI::CControlView,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IPointerEventArgs * __ptr64>(class UI::CControlView * __ptr64,long (__cdecl UI::CControlView::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IPointerEventArgs * __ptr64) __ptr64)'::`2'::ComObject `class Microsoft::WRL::ComPtr<struct Windows::UI::DirectUI::Input::IPointerEventHandler> __cdecl Microsoft::WRL::Callback<struct Windows::UI::DirectUI::Input::IPointerEventHandler,class UI::CDocumentViewElement,struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IPointerEventArgs * __ptr64>(class UI::CDocumentViewElement * __ptr64,long (__cdecl UI::CDocumentViewElement::*)(struct IInspectable * __ptr64,struct Windows::UI::DirectUI::Input::IPointerEventArgs * __ptr64) __ptr64)'::`2'::ComObject Code: Windows::Foundation::IBuffer Windows::Foundation::IBufferInternal Windows::Foundation::IInitializeWithRemoteBuffer Windows::Foundation::IStreamFlushCompletedEventHandler Windows::Foundation::IStreamReadCompletedEventHandler Windows::Foundation::IStreamWriteCompletedEventHandler Windows::Storage::IFileItemGetStreamHandler Windows::Storage::IFileItemRetrievalHandler Windows::Storage::IFileItemStatusHandler Windows::UI::DirectUI::Automation::Peers::IAutomationPeerOverrides Windows::UI::DirectUI::Automation::Provider::IValueProvider Windows::UI::DirectUI::Controls::IDrawEventHandler Windows::UI::DirectUI::Controls::IItemsControlOverrides Windows::UI::DirectUI::Controls::ISelectionChangedEventHandler Windows::UI::DirectUI::Controls::ITextChangedEventHandler Windows::UI::DirectUI::IActivatedEventHandler Windows::UI::DirectUI::IEventHandler Windows::UI::DirectUI::IRoutedEventHandler Windows::UI::DirectUI::ISizeChangedEventHandler Windows::UI::DirectUI::IUIElementOverrides Windows::UI::DirectUI::Input::IKeyEventHandler Windows::UI::DirectUI::Input::IManipulationCompletedEventHandler Windows::UI::DirectUI::Input::IManipulationDeltaEventHandler Windows::UI::DirectUI::Input::IManipulationStartedEventHandler Windows::UI::DirectUI::Input::IMouseButtonEventHandler Windows::UI::DirectUI::Input::IMouseEventHandler Windows::UI::DirectUI::Input::IMouseWheelEventHandler Windows::UI::DirectUI::Input::IPointerEventHandler Windows::UI::ISharingDataRequestHandler
Mmmm .... MinWin and ... MinCore ????? Code: USAGE: StubGen <args> /c <header> - Complete path to the apiset header /s <Stub> - Complete path to the stub file /pv <product version> - minwin|mincore|windows product verion /d <Src> - Complete path to the .src/.def file /ad <apiset dir> - The path to the apiset directory /pd <project dir> - ex. $(MINWIN_SDK_LIB_PATH) /hd <header dir> - ex. $(MINWIN_SDK_INC_PATH) /dd <.src dir> - ex. $(MINWIN_SDK_INC_PATH)\apiset /od <obj path> - The path to the contract lib /pu <pub file> - file used for publishing contract libs /dp - Don't publish /dpl - Don't publish libs /dph - Don't publish header /dpd - Don't publish .src file
No, the MinWin is all about those dlls looks like "api-ms-win-core-io-l1-1-0.dll", nothing to do with WinRT.
some symbols from kernel32.pdb Code: struct _APPX_PROCESS_CONTEXT // 0x38 { struct _SECURITY_CAPABILITIES SecurityCapabilities; // +0x0(0x18) WORD* DllDirectories; // +0x18(0x8) void* DependencyDataSection; // +0x20(0x8) void* DependencyDataMappedView; // +0x28(0x8) void* DependencyDataBaseInChildProcess; // +0x30(0x8) }; struct _APPX_PROCESS_CONTEXT // 0x38 { struct _SECURITY_CAPABILITIES SecurityCapabilities; // +0x0(0x18) WORD* DllDirectories; // +0x18(0x8) void* DependencyDataSection; // +0x20(0x8) void* DependencyDataMappedView; // +0x28(0x8) void* DependencyDataBaseInChildProcess; // +0x30(0x8) }; class AppXMiniRepository // 0x18 { public: ~AppXMiniRepository(void); WCHAR* AppXMiniRepository::GetRepositoryRootRegistryPath(void) = 0; HRESULT AppXMiniRepository::Open(void*, bool, class AppXMiniRepository**) = 0; HRESULT AppXMiniRepository::AddPackage(struct Common::COMMON_STRING*, struct Common::COMMON_STRING*, struct Common::COMMON_STRING*, void*, struct _SID_AND_ATTRIBUTES*, ULONG, class AppXApplicationData*, ULONG); HRESULT AppXMiniRepository::RemovePackage(struct Common::COMMON_STRING*); HRESULT AddApplicationActivatableClassId(struct Common::COMMON_STRING*, struct Common::COMMON_STRING*, struct Common::COMMON_STRING*); HRESULT RemoveApplicationActivatableClassId(struct Common::COMMON_STRING*, struct Common::COMMON_STRING*, struct Common::COMMON_STRING*); HRESULT AppXMiniRepository::GetPackageInformationForCreateProcess(struct Common::COMMON_STRING*, struct Common::COMMON_STRING*, void**, struct _SID_AND_ATTRIBUTES**, ULONG*); void Close(void); void* __vecDelDtor(DWORD); private: void AppXMiniRepository(class Common::RegistryKey*, void*, int); void AppXMiniRepository(void); HRESULT AppXMiniRepository::UpdateRegistryKeyAcls(void*, void*, class Common::RegistryKey*) = 0; HRESULT AppXMiniRepository::CreatePackageKeySecurityDescriptor(void*, void*, ULONG*, void**) = 0; HRESULT ValidatePerApplicationData(class AppXApplicationData*, ULONG) = 0; HRESULT AppXMiniRepository::CreatePerApplicationData(class Common::RegistryKey*, class AppXApplicationData*, ULONG) = 0; HRESULT AppXMiniRepository::IsRepositoryRegistryKeyOwnedBySystem(struct HKEY__*) = 0; HRESULT AppXMiniRepository::OpenPackageKey(struct Common::COMMON_STRING*, class Common::RegistryKey**); HRESULT AppXMiniRepository::SerializeCapabilitiesAndAttributes(class Common::RegistryKey*, struct _SID_AND_ATTRIBUTES*, ULONG); HRESULT AppXMiniRepository::DeserializeCapabilitiesAndAttributes(class Common::RegistryKey*, struct _SID_AND_ATTRIBUTES**, ULONG*); public: WCHAR* AppXMiniRepositoryRegistryPath; // +0x0(0x8) WCHAR* PackageRootFolderValueName; // +0x0(0x8) WCHAR* PackageSidValueName; // +0x0(0x8) WCHAR* ApplicationsRootValueName; // +0x0(0x8) WCHAR* ActivatableClassesRootValueName; // +0x0(0x8) WCHAR* NavigationDomainValueName; // +0x0(0x8) WCHAR* ErrorPageValueName; // +0x0(0x8) WCHAR* DisplayNameValueName; // +0x0(0x8) WCHAR* DefaultStartPageValueName; // +0x0(0x8) WCHAR* PackageIDValueName; // +0x0(0x8) WCHAR* CapabilitySidsValueName; // +0x0(0x8) WCHAR* CapabilityCountValueName; // +0x0(0x8) ULONG MaximumCapabilityCount; // +0x0(0x4) private: class Common::RegistryKey* repositoryKey; // +0x0(0x8) void* userSid; // +0x8(0x8) int openedForWrite; // +0x10(0x4) }; struct IDCompositionDevice : public IUnknown // 0x8 { virtual HRESULT Commit(void) = 0; virtual HRESULT CreateHwndTarget(struct HWND__*, int, struct IDCompositionTarget**) = 0; virtual HRESULT CreateVisual(struct IDCompositionVisual**) = 0; virtual HRESULT CreateTranslateTransform(struct IDCompositionTranslateTransform**) = 0; virtual HRESULT CreateScaleTransform(struct IDCompositionScaleTransform**) = 0; virtual HRESULT CreateRotateTransform(struct IDCompositionRotateTransform**) = 0; virtual HRESULT CreateSkewTransform(struct IDCompositionSkewTransform**) = 0; virtual HRESULT CreateMatrixTransform(struct IDCompositionMatrixTransform**) = 0; virtual HRESULT CreateTransformGroup(struct IDCompositionTransform**, DWORD, struct IDCompositionTransform**) = 0; virtual HRESULT CreateTranslateTransform3D(struct IDCompositionTranslateTransform3D**) = 0; virtual HRESULT CreateScaleTransform3D(struct IDCompositionScaleTransform3D**) = 0; virtual HRESULT CreateRotateTransform3D(struct IDCompositionRotateTransform3D**) = 0; virtual HRESULT CreateMatrixTransform3D(struct IDCompositionMatrixTransform3D**) = 0; virtual HRESULT CreateTransform3DGroup(struct IDCompositionTransform3D**, DWORD, struct IDCompositionTransform3D**) = 0; virtual HRESULT CreateEffectGroup(struct IDCompositionEffectGroup**) = 0; virtual HRESULT CreateRectangleClip(struct IDCompositionRectangleClip**) = 0; virtual HRESULT CreateAnimation(struct IDCompositionAnimation**) = 0; void IDCompositionDevice(struct IDCompositionDevice&); void IDCompositionDevice(void); struct IDCompositionDevice& operator=(struct IDCompositionDevice&); }; struct IDCompositionVisual : public IUnknown // 0x8 { virtual HRESULT SetOffsetX(struct IDCompositionAnimation*) = 0; virtual HRESULT SetOffsetX(float) = 0; virtual HRESULT SetOffsetY(struct IDCompositionAnimation*) = 0; virtual HRESULT SetOffsetY(float) = 0; virtual HRESULT SetTransform(struct IDCompositionTransform*) = 0; virtual HRESULT SetTransform(struct D2D_MATRIX_3X2_F&) = 0; virtual HRESULT SetEffect(struct IDCompositionEffect*) = 0; virtual HRESULT SetClip(struct IDCompositionClip*) = 0; virtual HRESULT SetClip(struct D2D_RECT_F&) = 0; virtual HRESULT SetContent(struct HWND__*, struct tagRECT*) = 0; virtual HRESULT SetContent(struct HBITMAP__*, struct tagRECT*) = 0; virtual HRESULT SetContent(struct IDXGISwapChain1*, struct tagRECT*) = 0; virtual HRESULT AddVisual(struct IDCompositionVisual*, int, struct IDCompositionVisual*) = 0; virtual HRESULT RemoveVisual(struct IDCompositionVisual*) = 0; virtual HRESULT RemoveAllVisuals(void) = 0; void IDCompositionVisual(struct IDCompositionVisual&); void IDCompositionVisual(void); struct IDCompositionVisual& operator=(struct IDCompositionVisual&); }; struct IInspectable : public IUnknown // 0x8 { virtual HRESULT GetIids(ULONG*, struct _GUID**) = 0; virtual HRESULT GetRuntimeClassName(struct HSTRING__**) = 0; virtual HRESULT GetTrustLevel(enum TrustLevel*) = 0; void IInspectable(struct IInspectable&); void IInspectable(void); struct IInspectable& operator=(struct IInspectable&); }; class PackageMoniker // 0x30 { public: void PackageMoniker(void); ~PackageMoniker(void); HRESULT Init(struct Common::COMMON_STRING*, struct Common::COMMON_STRING*, struct Common::COMMON_STRING*, struct Common::COMMON_STRING*, struct Common::COMMON_STRING*); HRESULT Init(struct Common::COMMON_STRING*, struct Common::COMMON_STRING*, union Common::PackageVersion*, WORD, struct Common::COMMON_STRING*); HRESULT Init(struct Common::COMMON_STRING*); bool operator==(class PackageMoniker&); bool operator!=(class PackageMoniker&); struct Common::COMMON_STRING* GetMonikerString(void); struct Common::COMMON_STRING* GetFamilyMonikerString(void); HRESULT MonikerStringToFamilyMonikerString(struct Common::COMMON_STRING*, class Common::StringBuffer*) = 0; void* __vecDelDtor(DWORD); public: ULONG MaxLengthPublisher; // +0x0(0x4) ULONG MaxLengthPublisherHash; // +0x0(0x4) ULONG MaxLengthName; // +0x0(0x4) ULONG MaxLengthVersion; // +0x0(0x4) ULONG MaxLengthArchitecture; // +0x0(0x4) ULONG MaxLengthLanguage; // +0x0(0x4) ULONG TruncatedDigestByteLength; // +0x0(0x4) private: class Common::StringBuffer monikerBuffer; // +0x0(0x18) class Common::StringBuffer familyMonikerBuffer; // +0x18(0x18) }; class StateSpace // 0x50 { public: void* operator new(ULONGLONG) = 0; void operator delete(void*) = 0; long StateSpace::Create(void*, WCHAR*, class StateSpace**) = 0; long StateSpace::Create(class StateSpace**) = 0; void StateSpace::~StateSpace(void); long StateSpace::GetStateVersion(DWORD*); long SetStateVersion(DWORD); long StateSpace::GetStateFolder(enum tag_STATE_PERSIST_ATTRIB, WCHAR*, DWORD*); long StateSpace::ResetState(void); long StateSpace::GetSystemAppDataFolder(WCHAR*, DWORD*); long StateSpace::GetSystemAppDataKey(struct HKEY__**, WCHAR*, DWORD*); long StateSpace::GetHivePath(enum tag_STATE_PERSIST_ATTRIB, WCHAR*, DWORD*); long StateSpace::GetHive(enum tag_STATE_PERSIST_ATTRIB, struct HKEY__**); long StateSpace::OpenRoamingMutexes(int, void**, void**); long StateSpace::OpenRoamingNotificationEvent(int, void**); void* __vecDelDtor(DWORD); private: void StateSpace(class StateSpace&); void StateSpace(void); class StateSpace& operator=(class StateSpace&); long StateSpace::GetNamedObjectPath(WCHAR*, DWORD, WCHAR**); long StateSpace::GetSecurityDescriptor(void**); struct StateSpace::UnstructuredStateBucketNamespace* GetUnstructuredStateBucketNamespace(enum tag_STATE_PERSIST_ATTRIB) = 0; struct StateSpace::StructuredBucketHiveName* GetStructuredBucketHiveName(enum tag_STATE_PERSIST_ATTRIB) = 0; long StateSpace::GetStructuredSystemAppDataPath(struct HKEY__**, struct StateSpace::BucketRootPath**); long StateSpace::GetUnstructuredSystemAppDataPath(struct StateSpace::BucketRootPath**); long StateSpace::LoadHive(enum tag_STATE_PERSIST_ATTRIB, struct HKEY__**); long ResetStructuredStateLocality(enum tag_STATE_PERSIST_ATTRIB); private: WCHAR* userSid; // +0x0(0x8) WCHAR* packageFamilyMoniker; // +0x8(0x8) DWORD packageFamilyMonikerCch; // +0x10(0x4) struct StateSpace::BucketRootPath structuredSystemAppDataRootPath; // +0x18(0x10) struct StateSpace::BucketRootPath unstructuredSystemAppDataRootPath; // +0x28(0x10) struct HKEY__* localKey; // +0x38(0x8) struct HKEY__* roamingKey; // +0x40(0x8) struct _RTL_SRWLOCK hiveLock; // +0x48(0x8) struct StateSpace::UnstructuredStateBucketNamespace unstructuredStateBucketNamespaces[0x0]; // +0x0(0x0) struct StateSpace::StructuredBucketHiveName structuredBucketHiveNames[0x0]; // +0x0(0x0) WCHAR* versionValueName; // +0x0(0x8) }; struct StateSpace::StructuredBucketDescriptor // 0x18 { enum tag_STATE_PERSIST_ATTRIB persistAttrib; // +0x0(0x4) struct HKEY__* rootKey; // +0x8(0x8) WCHAR* subkeyPath; // +0x10(0x8) }; enum WINRT_INIT_TYPE { WINRT_INIT_APARTMENTTHREADED = 0x0; WINRT_INIT_MULTITHREADED = 0x1; };
some silly funny notes about the NT Build Engine: inlaw ? no its /386 not /i386 Chicago rulez! Daytona RULEZ! WinRT ? MoApp ? AppX ? gnu ? .class ? I saw that in some new appx manifest err ? in soviet russia, the dlls is using you ! and the attribute provides you and the full usage of build: Code: build /? for more information Usage: BUILD [/?] display this message [/#] force _objects.mac to be regenerated [/0] pass 0 generation only, no compile, no link [/2] same as old /Z (only do a 2 pass build - no pass 0) [/3] same as /Z [/a] allows synchronized blocks and drains during link pass [/b] displays full error message text (doesn't truncate - Use with /S or /s) [/B [baseline]] Checks the build failures against a baseline If there is no baseline,terminates the build on the first error [/c] deletes all object files [/C] deletes all .lib files only [/D] check dependencies before building (on by default if BUILD_PRODUCT != NT) [/e] generates build.log, build.wrn & build.err files [/E] always keep the log/wrn/err files (use with /z) [/f] force rescan of all source and include files [/F] when displaying errors/warnings to stdout, print the full path [/g] Display warnings/errors/summary in color [/h] Reduces console output [/G] enables target specific dirs files iff one target [/i] ignore extraneous dependency warning messages [/I] do not display thread index if multiprocessor build [/j filename] use "filename" as the name for log files [/k] keep (don't delete) out-of-date targets [/l] link only, no compiles [/L] compile only, no link phase [/m] run build in the idle priority class [/M [n]] Multiprocessor build (for MP machines. Max. 64) [/n] No SYNCHRONIZE_BLOCK and SYNCHRONIZE_DRAIN directives [/o] display out-of-date files [/O] generate $(O)\_objects.mac file for current directory [/p] pause before compile and link phases [/P] Print elapsed time after every directory [/q] query only, don't run NMAKE [/r dirPath] restarts clean build at specified directory path (deprecated) [/s] display status line at top of display [/S] display status line with include file line counts [/t] display the first level of the dependency tree [/T] display the complete dependency tree [/$] display the complete dependency tree hierarchically [/u] display unused BUILD_OPTIONS [/v] enable include file version checking [/w] show warnings on screen [/x filename] exclude include file from dependency checks [/X] generates XML log file [/y] show files scanned (use with /D). [/Z] no dependency checking or scanning of source files - three passes [/z] same as /Z [/why] list reasons for building targets (use with /D). [/sharedpch] ignore pch time stamp during dependency check- has no effect with /clean [/386] build targets for 32-bit Intel [/x86] Same as /i386 [/ia64] build targets for IA64 [/amd64] build targets for AMD64 [/arm] build targets for ARM [/jpath pathname] set alternate path for log files instead of "." [/nmake arg] argument to pass to NMAKE [/getperf] Monitor and report build performance [/getdetailedperf <Initfile (optional)>] Enables addtional performance monitoring functionality: -Includes additional counters and parameters specified in build performance initialization file (optional). -Writes counter data to CSV log file. The log file can be viewed using the system performance monitor. -Overrides /getperf parameter. [/getslowestdirs] [N] Gives the N slowest dirs in the tree.If N is not provided it defaults to 10 [/skiptestcode] Skips sources marked as TEST_CODE=1 Can also be set by defining BUILD_SKIP_TEST_CODE=1 [/DirInclude:[!]<type>,<type>]. Build includes (or excludes) directories of the types listed in <type>. Types are specified in dirs files. Valid types are Product, Test, Tool /DirInclude:!Test,Tool = Build all but Test & Tool /DirInclude:Test = Build only test Can also be set using BUILD_DIRINCLUDE= [/ManifestCompilation] Just compiles and validates manifests [/PassIndOnly] Compile pass independent targets only. [/nosqm] Do not report build usage data to Microsoft. [/VerifySync] Validates synchronization. Detects duplicate or non-existent produce macros, wrong ordering, etc. Non-switch parameters specify additional source directories * builds all optional source directories ~<DirName> Excludes all the directories with name equal to DirName !<Relative path\DirName> Excludes just the exact directory specified. The path given is relative to Dir from where build.exe is launched [/fake] Logs directories to build and commands. Does not execute. [/cleanonly] Delete all files from the object directory without building. [/dir] Defines set of directories to build within scope. Default: Current directory /dir d:\rootA\dir1;d:\rootB\dir2;d:\rootC\dir3 [/root] Defines partial build scope. Default: BASEDIR /root d:\rootA;d:\rootB;d:\rootC [/partial] Runs full partial build. [/parent] Builds parent directories. [/child] Builds child directories. [/inlaw] Builds inlaw directories. [/bootstrap] Builds parent and inlaw directories. [/validatepublics] Detects public file updates from parent directories and builds affected child directories. /partial must be specified. [/logipc] Logs interprocess communication between the build scheduler and execution engine. [/dbmode] Do not automatically launch the execution engine.
oh, MIDLRT is not working yet, but lets look at some code fragments instead: Code: // Introduce an empty interface to ensure any global definitions before this are emitted interface {EMPTY} {}; cpp_quote("#ifndef DEF_{DT}") cpp_quote("#define DEF_{DT}") cpp_quote("#if !defined(__cplusplus) || defined(WINRT_no_template_name)") // REM: guid auto-generated // REM: signature:{SIG} {IDL} cpp_quote("#else /*pinterface*/") cpp_quote("} /*extern \"C\"*/ ") cpp_quote("namespace Windows { namespace Foundation { namespace Collections {") cpp_quote("template <>") cpp_quote("struct __declspec(uuid(\"{IID}\"))") cpp_quote("{I}<{T...}> : {I}_impl<{$T...}> {") cpp_quote("static const wchar_t* z_get_rc_name_impl() {") cpp_quote("return L\"{.DT}\"; }") cpp_quote("};") // REM: this makes decorated name available as a typedef, and macro-overwrite the existing type. cpp_quote("typedef {I}<{T...}> {DT}_t;") cpp_quote("#define {DT} ::Windows::Foundation::Collections::{DT}_t") cpp_quote("}}} /* namespace Windows::Foundation::Collections */") cpp_quote("extern \"C\" {") cpp_quote("#endif /*pinterface*/") cpp_quote("#endif /* DEF_{DT} */") Code: [ object, uuid("{IID}"), pointer_default(unique) ] interface {DT} : IInspectable /* requires IIterable<{T...}> */ { HRESULT GetAt([in] unsigned int index, [out,retval] {_1}* item); [propget] HRESULT Size([out, retval] unsigned int *size); HRESULT IndexOf([in] {_1} item, [out] unsigned int *index, [out, retval] boolean *found); }; Code: [ object, uuid("{IID}"), pointer_default(unique) ] interface {DT} : IInspectable /* requires IIterable<{T...}> */ { // read methods HRESULT GetAt([in] unsigned int index, [out, retval] {_1} *item); [propget] HRESULT Size([out, retval] unsigned int *size); HRESULT GetView([out, retval] {DT_dep#1} **view); HRESULT IndexOf([in] {_1} item, [out] unsigned int *index, [out, retval] boolean *found); // write methods HRESULT SetAt([in] unsigned int index, [in] {_1} item); HRESULT InsertAt([in] unsigned int index, [in] {_1} item); HRESULT RemoveAt([in] unsigned int index); HRESULT Append([in] {_1} item); HRESULT RemoveAtEnd(); HRESULT Clear(); }; Code: [ object, uuid("{IID}"), pointer_default(unique) ] interface {DT} : IInspectable { HRESULT First([out, retval] {DT_dep#0} **first); }; Code: [ object, uuid("{IID}"), pointer_default(unique) ] interface {DT} : IInspectable { [propget] HRESULT Current([out, retval] {_1} *current); [propget] HRESULT HasCurrent([out, retval] boolean *hasCurrent); HRESULT MoveNext([out, retval] boolean *hasCurrent); }; Code: [ object, uuid("{IID}"), pointer_default(unique) ] interface {DT} : IInspectable { [propget] HRESULT Key([out, retval] {_1} *key); [propget] HRESULT Value([out, retval] {_2} *value); }; Code: [ object, uuid("{IID}"), pointer_default(unique) ] interface {DT} : IInspectable /* requires IIterable<IKeyValuePair<{T...}>*> */ { HRESULT Lookup([in] {_1} key, [out, retval] {_2} *value); [propget] HRESULT Size([out, retval] unsigned int *size); HRESULT HasKey([in] {_1} key, [out, retval] boolean *found); HRESULT Split([out] {DT} **firstPartition, [out] {DT} **secondPartition); }; Code: [ object, uuid("{IID}"), pointer_default(unique) ] interface {DT} : IInspectable /* requires IIterable<IKeyValuePair<{T...}>*> */ { // read methods HRESULT Lookup([in] {_1} key, [out, retval] {_2} *value); [propget] HRESULT Size([out, retval] unsigned int *size); HRESULT HasKey([in] {_1} key, [out, retval] boolean *found); HRESULT GetView([out, retval] {DT_dep#1} **view); // write methods HRESULT Insert([in] {_1} key, [in] {_2} value, [out, retval] boolean *replaced); HRESULT Remove([in] {_1} key); HRESULT Clear(); }; Code: cpp_quote("#ifdef __cplusplus") cpp_quote("} /*extern \"C\"*/ ") cpp_quote("#endif") cpp_quote("#include <windows.foundation.collections.h>") cpp_quote("#ifdef __cplusplus") cpp_quote("extern \"C\" {") cpp_quote("#endif") Code: [ object, uuid("{IID}"), pointer_default(unique) ] interface {DT} : IInspectable /* requires IVector<{T}> */ { HRESULT add_VectorChanged([in] {DT_dep#1} * handler, [out, retval] EventRegistrationToken* token); HRESULT remove_VectorChanged([in] EventRegistrationToken token); }; Code: [ object, uuid("{IID}"), pointer_default(unique) ] interface {DT} : IInspectable /* requires IMap */ { HRESULT add_MapChanged ([in] {DT_dep#4} * handler, [out, retval] EventRegistrationToken* token); HRESULT remove_MapChanged([in] EventRegistrationToken token); } Code: interface __FIObservableVector_1_{!_1} ; [ object, uuid("{IID}"), pointer_default(unique) ] interface {DT} : IUnknown { HRESULT Invoke([in] __FIObservableVector_1_{!_1} * sender, [in] __x_Windows_CFoundation_CCollections_CIVectorChangedEventArgs* e); }; Code: //Forward declare IObservableMap interface __FIObservableMap_2_{!_1}_{!_2} ; [ object, uuid("{IID}"), pointer_default(unique) ] interface {DT} : IInspectable { HRESULT Invoke([in] __FIObservableMap_2_{!_1}_{!_2} * sender, [in] __FIMapChangedEventArgs_1_{!_1} * e); }; Code: cpp_quote("#ifndef WINDOWS_FOUNDATION_COLLECTIONS_H") [ object, uuid(575933df-34fe-4480-af15-07691f3d5d9b), pointer_default(unique) ] interface __x_Windows_CFoundation_CCollections_CIVectorChangedEventArgs : IInspectable { [propget] HRESULT CollectionChange ([out, retval] CollectionChange * value); [propget] HRESULT Index ([out, retval] unsigned* value); }; cpp_quote("#endif /*WINDOWS_FOUNDATION_COLLECTIONS_H*/") Code: [ object, uuid("{IID}"), pointer_default(unique) ] interface {DT} : IInspectable /*requires */ { [propget] HRESULT CollectionChange ([out] CollectionChange* value); [propget] HRESULT Key ([out] {_1} * value); }; Code: cpp_quote("#ifndef WINDOWS_FOUNDATION_COLLECTIONS_H") typedef enum CollectionChange { Reset, // Much of the Vector has changed. ItemInserted, // An item added to the Vector. // NewIndex contains the index of the item that was added. ItemRemoved, // An item deleted from the Vector. // NewIndex contains the index of the item that was deleted ItemChanged, // An item changed in the Vector. // NewIndex contains the index of the item that was changed. } CollectionChange; cpp_quote("#endif")
IDCompositionDevice, IDCompositionVisual... this is probably the API for dcomp.dll, I wonder how come its symbols ended up in kernel32.pdb. Anyway, it looks like we'll get an API for dwm/milcore.
apparently kernel32 referenced something inside: g:\fbl_srv.obj.amd64fre\mergedcomponents\dload\objfre\amd64\extract\g__fbl_srv.obj.amd64fre_windows_dload_objfre_amd64\dcomp.obj here is more Direct Composition stuff Code: struct IDCompositionAnimation : public IUnknown // 0x8 { virtual HRESULT Reset(void) = 0; virtual HRESULT AddCubic(double, float, float, float, float) = 0; virtual HRESULT AddRepeat(double, double) = 0; virtual HRESULT End(double, float) = 0; void IDCompositionAnimation(struct IDCompositionAnimation&); void IDCompositionAnimation(void); struct IDCompositionAnimation& operator=(struct IDCompositionAnimation&); }; struct IDCompositionClip : public IUnknown // 0x8 { void IDCompositionClip(struct IDCompositionClip&); void IDCompositionClip(void); struct IDCompositionClip& operator=(struct IDCompositionClip&); }; struct IDCompositionDevice : public IUnknown // 0x8 { virtual HRESULT Commit(void) = 0; virtual HRESULT CreateHwndTarget(struct HWND__*, int, struct IDCompositionTarget**) = 0; virtual HRESULT CreateVisual(struct IDCompositionVisual**) = 0; virtual HRESULT CreateTranslateTransform(struct IDCompositionTranslateTransform**) = 0; virtual HRESULT CreateScaleTransform(struct IDCompositionScaleTransform**) = 0; virtual HRESULT CreateRotateTransform(struct IDCompositionRotateTransform**) = 0; virtual HRESULT CreateSkewTransform(struct IDCompositionSkewTransform**) = 0; virtual HRESULT CreateMatrixTransform(struct IDCompositionMatrixTransform**) = 0; virtual HRESULT CreateTransformGroup(struct IDCompositionTransform**, DWORD, struct IDCompositionTransform**) = 0; virtual HRESULT CreateTranslateTransform3D(struct IDCompositionTranslateTransform3D**) = 0; virtual HRESULT CreateScaleTransform3D(struct IDCompositionScaleTransform3D**) = 0; virtual HRESULT CreateRotateTransform3D(struct IDCompositionRotateTransform3D**) = 0; virtual HRESULT CreateMatrixTransform3D(struct IDCompositionMatrixTransform3D**) = 0; virtual HRESULT CreateTransform3DGroup(struct IDCompositionTransform3D**, DWORD, struct IDCompositionTransform3D**) = 0; virtual HRESULT CreateEffectGroup(struct IDCompositionEffectGroup**) = 0; virtual HRESULT CreateRectangleClip(struct IDCompositionRectangleClip**) = 0; virtual HRESULT CreateAnimation(struct IDCompositionAnimation**) = 0; void IDCompositionDevice(struct IDCompositionDevice&); void IDCompositionDevice(void); struct IDCompositionDevice& operator=(struct IDCompositionDevice&); }; struct IDCompositionEffect : public IUnknown // 0x8 { void IDCompositionEffect(struct IDCompositionEffect&); void IDCompositionEffect(void); struct IDCompositionEffect& operator=(struct IDCompositionEffect&); }; struct IDCompositionEffectGroup : public IDCompositionEffect // 0x8 { virtual HRESULT SetOpacity(struct IDCompositionAnimation*) = 0; virtual HRESULT SetOpacity(float) = 0; virtual HRESULT SetTransform3D(struct IDCompositionTransform3D*) = 0; void IDCompositionEffectGroup(struct IDCompositionEffectGroup&); void IDCompositionEffectGroup(void); struct IDCompositionEffectGroup& operator=(struct IDCompositionEffectGroup&); }; struct IDCompositionMatrixTransform : public IDCompositionTransform // 0x8 { virtual HRESULT SetMatrix(struct D2D_MATRIX_3X2_F&) = 0; void IDCompositionMatrixTransform(struct IDCompositionMatrixTransform&); void IDCompositionMatrixTransform(void); struct IDCompositionMatrixTransform& operator=(struct IDCompositionMatrixTransform&); }; struct IDCompositionMatrixTransform3D : public IDCompositionTransform3D // 0x8 { virtual HRESULT SetMatrix(struct _D3DMATRIX&) = 0; void IDCompositionMatrixTransform3D(struct IDCompositionMatrixTransform3D&); void IDCompositionMatrixTransform3D(void); struct IDCompositionMatrixTransform3D& operator=(struct IDCompositionMatrixTransform3D&); }; struct IDCompositionMatrixTransform3D : public IDCompositionTransform3D // 0x8 { virtual HRESULT SetMatrix(struct _D3DMATRIX&) = 0; void IDCompositionMatrixTransform3D(struct IDCompositionMatrixTransform3D&); void IDCompositionMatrixTransform3D(void); struct IDCompositionMatrixTransform3D& operator=(struct IDCompositionMatrixTransform3D&); }; struct IDCompositionRectangleClip : public IDCompositionClip // 0x8 { virtual HRESULT SetLeft(struct IDCompositionAnimation*) = 0; virtual HRESULT SetLeft(float) = 0; virtual HRESULT SetTop(struct IDCompositionAnimation*) = 0; virtual HRESULT SetTop(float) = 0; virtual HRESULT SetRight(struct IDCompositionAnimation*) = 0; virtual HRESULT SetRight(float) = 0; virtual HRESULT SetBottom(struct IDCompositionAnimation*) = 0; virtual HRESULT SetBottom(float) = 0; void IDCompositionRectangleClip(struct IDCompositionRectangleClip&); void IDCompositionRectangleClip(void); struct IDCompositionRectangleClip& operator=(struct IDCompositionRectangleClip&); }; struct IDCompositionRotateTransform3D : public IDCompositionTransform3D // 0x8 { virtual HRESULT SetAngle(struct IDCompositionAnimation*) = 0; virtual HRESULT SetAngle(float) = 0; virtual HRESULT SetAxisX(struct IDCompositionAnimation*) = 0; virtual HRESULT SetAxisX(float) = 0; virtual HRESULT SetAxisY(struct IDCompositionAnimation*) = 0; virtual HRESULT SetAxisY(float) = 0; virtual HRESULT SetAxisZ(struct IDCompositionAnimation*) = 0; virtual HRESULT SetAxisZ(float) = 0; virtual HRESULT SetCenterX(struct IDCompositionAnimation*) = 0; virtual HRESULT SetCenterX(float) = 0; virtual HRESULT SetCenterY(struct IDCompositionAnimation*) = 0; virtual HRESULT SetCenterY(float) = 0; virtual HRESULT SetCenterZ(struct IDCompositionAnimation*) = 0; virtual HRESULT SetCenterZ(float) = 0; void IDCompositionRotateTransform3D(struct IDCompositionRotateTransform3D&); void IDCompositionRotateTransform3D(void); struct IDCompositionRotateTransform3D& operator=(struct IDCompositionRotateTransform3D&); }; struct IDCompositionScaleTransform : public IDCompositionTransform // 0x8 { virtual HRESULT SetScaleX(struct IDCompositionAnimation*) = 0; virtual HRESULT SetScaleX(float) = 0; virtual HRESULT SetScaleY(struct IDCompositionAnimation*) = 0; virtual HRESULT SetScaleY(float) = 0; virtual HRESULT SetCenterX(struct IDCompositionAnimation*) = 0; virtual HRESULT SetCenterX(float) = 0; virtual HRESULT SetCenterY(struct IDCompositionAnimation*) = 0; virtual HRESULT SetCenterY(float) = 0; void IDCompositionScaleTransform(struct IDCompositionScaleTransform&); void IDCompositionScaleTransform(void); struct IDCompositionScaleTransform& operator=(struct IDCompositionScaleTransform&); }; struct IDCompositionScaleTransform3D : public IDCompositionTransform3D // 0x8 { virtual HRESULT SetScaleX(struct IDCompositionAnimation*) = 0; virtual HRESULT SetScaleX(float) = 0; virtual HRESULT SetScaleY(struct IDCompositionAnimation*) = 0; virtual HRESULT SetScaleY(float) = 0; virtual HRESULT SetScaleZ(struct IDCompositionAnimation*) = 0; virtual HRESULT SetScaleZ(float) = 0; virtual HRESULT SetCenterX(struct IDCompositionAnimation*) = 0; virtual HRESULT SetCenterX(float) = 0; virtual HRESULT SetCenterY(struct IDCompositionAnimation*) = 0; virtual HRESULT SetCenterY(float) = 0; virtual HRESULT SetCenterZ(struct IDCompositionAnimation*) = 0; virtual HRESULT SetCenterZ(float) = 0; void IDCompositionScaleTransform3D(struct IDCompositionScaleTransform3D&); void IDCompositionScaleTransform3D(void); struct IDCompositionScaleTransform3D& operator=(struct IDCompositionScaleTransform3D&); }; struct IDCompositionSkewTransform : public IDCompositionTransform // 0x8 { virtual HRESULT SetAngleX(struct IDCompositionAnimation*) = 0; virtual HRESULT SetAngleX(float) = 0; virtual HRESULT SetAngleY(struct IDCompositionAnimation*) = 0; virtual HRESULT SetAngleY(float) = 0; virtual HRESULT SetCenterX(struct IDCompositionAnimation*) = 0; virtual HRESULT SetCenterX(float) = 0; virtual HRESULT SetCenterY(struct IDCompositionAnimation*) = 0; virtual HRESULT SetCenterY(float) = 0; void IDCompositionSkewTransform(struct IDCompositionSkewTransform&); void IDCompositionSkewTransform(void); struct IDCompositionSkewTransform& operator=(struct IDCompositionSkewTransform&); }; struct IDCompositionTarget : public IUnknown // 0x8 { virtual HRESULT SetRoot(struct IDCompositionVisual*) = 0; void IDCompositionTarget(struct IDCompositionTarget&); void IDCompositionTarget(void); struct IDCompositionTarget& operator=(struct IDCompositionTarget&); }; struct IDCompositionTransform : public IUnknown // 0x8 { void IDCompositionTransform(struct IDCompositionTransform&); void IDCompositionTransform(void); struct IDCompositionTransform& operator=(struct IDCompositionTransform&); }; struct IDCompositionTransform3D : public IDCompositionEffect // 0x8 { void IDCompositionTransform3D(struct IDCompositionTransform3D&); void IDCompositionTransform3D(void); struct IDCompositionTransform3D& operator=(struct IDCompositionTransform3D&); }; struct IDCompositionTranslateTransform : public IDCompositionTransform // 0x8 { virtual HRESULT SetOffsetX(struct IDCompositionAnimation*) = 0; virtual HRESULT SetOffsetX(float) = 0; virtual HRESULT SetOffsetY(struct IDCompositionAnimation*) = 0; virtual HRESULT SetOffsetY(float) = 0; void IDCompositionTranslateTransform(struct IDCompositionTranslateTransform&); void IDCompositionTranslateTransform(void); struct IDCompositionTranslateTransform& operator=(struct IDCompositionTranslateTransform&); }; struct IDCompositionTranslateTransform3D : public IDCompositionTransform3D // 0x8 { virtual HRESULT SetOffsetX(struct IDCompositionAnimation*) = 0; virtual HRESULT SetOffsetX(float) = 0; virtual HRESULT SetOffsetY(struct IDCompositionAnimation*) = 0; virtual HRESULT SetOffsetY(float) = 0; virtual HRESULT SetOffsetZ(struct IDCompositionAnimation*) = 0; virtual HRESULT SetOffsetZ(float) = 0; void IDCompositionTranslateTransform3D(struct IDCompositionTranslateTransform3D&); void IDCompositionTranslateTransform3D(void); struct IDCompositionTranslateTransform3D& operator=(struct IDCompositionTranslateTransform3D&); }; struct IDCompositionVisual : public IUnknown // 0x8 { virtual HRESULT SetOffsetX(struct IDCompositionAnimation*) = 0; virtual HRESULT SetOffsetX(float) = 0; virtual HRESULT SetOffsetY(struct IDCompositionAnimation*) = 0; virtual HRESULT SetOffsetY(float) = 0; virtual HRESULT SetTransform(struct IDCompositionTransform*) = 0; virtual HRESULT SetTransform(struct D2D_MATRIX_3X2_F&) = 0; virtual HRESULT SetEffect(struct IDCompositionEffect*) = 0; virtual HRESULT SetClip(struct IDCompositionClip*) = 0; virtual HRESULT SetClip(struct D2D_RECT_F&) = 0; virtual HRESULT SetContent(struct HWND__*, struct tagRECT*) = 0; virtual HRESULT SetContent(struct HBITMAP__*, struct tagRECT*) = 0; virtual HRESULT SetContent(struct IDXGISwapChain1*, struct tagRECT*) = 0; virtual HRESULT AddVisual(struct IDCompositionVisual*, int, struct IDCompositionVisual*) = 0; virtual HRESULT RemoveVisual(struct IDCompositionVisual*) = 0; virtual HRESULT RemoveAllVisuals(void) = 0; void IDCompositionVisual(struct IDCompositionVisual&); void IDCompositionVisual(void); struct IDCompositionVisual& operator=(struct IDCompositionVisual&); };
OK, some symbols from comdlg32.pdb, there is too much interesting stuff, now part 1, the immersive stuff Code: struct IImmersiveAccessibilityDockingService // 0x8 { struct IImmersiveAccessibilityDockingServiceVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveAccessibilityDockingServiceCallback // 0x8 { struct IImmersiveAccessibilityDockingServiceCallbackVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveAccessibilityDockingServiceCallbackVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveAccessibilityDockingServiceCallback*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveAccessibilityDockingServiceCallback*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveAccessibilityDockingServiceCallback*); // +0x10(0x8) HRESULT (*Undocked)(struct IImmersiveAccessibilityDockingServiceCallback*, enum UNDOCK_REASON); // +0x18(0x8) }; struct IImmersiveAccessibilityDockingServiceInternal // 0x8 { struct IImmersiveAccessibilityDockingServiceInternalVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveAccessibilityDockingServiceInternalVtbl // 0x38 { HRESULT (*QueryInterface)(struct IImmersiveAccessibilityDockingServiceInternal*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveAccessibilityDockingServiceInternal*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveAccessibilityDockingServiceInternal*); // +0x10(0x8) HRESULT (*GetAvailableSize)(struct IImmersiveAccessibilityDockingServiceInternal*, struct HMONITOR__*, DWORD*, DWORD*); // +0x18(0x8) HRESULT (*ReserveDockingSpace)(struct IImmersiveAccessibilityDockingServiceInternal*, struct HWND__*, struct HMONITOR__*, DWORD); // +0x20(0x8) HRESULT (*DockWindow)(struct IImmersiveAccessibilityDockingServiceInternal*, struct HWND__*, struct HMONITOR__*, DWORD, struct IImmersiveAccessibilityDockingServiceCallback*); // +0x28(0x8) HRESULT (*UndockWindow)(struct IImmersiveAccessibilityDockingServiceInternal*, struct HWND__*); // +0x30(0x8) }; struct IImmersiveAccessibilityDockingServiceVtbl // 0x30 { HRESULT (*QueryInterface)(struct IImmersiveAccessibilityDockingService*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveAccessibilityDockingService*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveAccessibilityDockingService*); // +0x10(0x8) HRESULT (*GetAvailableSize)(struct IImmersiveAccessibilityDockingService*, struct HMONITOR__*, DWORD*, DWORD*); // +0x18(0x8) HRESULT (*DockWindow)(struct IImmersiveAccessibilityDockingService*, struct HWND__*, struct HMONITOR__*, DWORD, struct IImmersiveAccessibilityDockingServiceCallback*); // +0x20(0x8) HRESULT (*UndockWindow)(struct IImmersiveAccessibilityDockingService*, struct HWND__*); // +0x28(0x8) }; struct IImmersiveApplication // 0x8 { struct IImmersiveApplicationVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveApplicationArray // 0x8 { struct IImmersiveApplicationArrayVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveApplicationArrayService // 0x8 { struct IImmersiveApplicationArrayServiceVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveApplicationArrayServiceVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveApplicationArrayService*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveApplicationArrayService*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveApplicationArrayService*); // +0x10(0x8) HRESULT (*GetImmersiveApplicationArray)(struct IImmersiveApplicationArrayService*, struct IImmersiveApplicationArray**); // +0x18(0x8) }; struct IImmersiveApplicationArrayVtbl // 0x38 { HRESULT (*QueryInterface)(struct IImmersiveApplicationArray*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveApplicationArray*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveApplicationArray*); // +0x10(0x8) HRESULT (*GetCount)(struct IImmersiveApplicationArray*, DWORD*); // +0x18(0x8) HRESULT (*GetAt)(struct IImmersiveApplicationArray*, DWORD, struct _GUID*, void**); // +0x20(0x8) HRESULT (*GetApplication)(struct IImmersiveApplicationArray*, WCHAR*, struct IImmersiveApplication**); // +0x28(0x8) HRESULT (*Contains)(struct IImmersiveApplicationArray*, struct IImmersiveApplication*, int*); // +0x30(0x8) }; struct IImmersiveApplicationLifetimeBroker // 0x8 { struct IImmersiveApplicationLifetimeBrokerVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveApplicationLifetimeBrokerVtbl // 0x48 { HRESULT (*QueryInterface)(struct IImmersiveApplicationLifetimeBroker*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveApplicationLifetimeBroker*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveApplicationLifetimeBroker*); // +0x10(0x8) HRESULT (*StartupSettings)(struct IImmersiveApplicationLifetimeBroker*, enum USER_CONSENT_STATUS*); // +0x18(0x8) HRESULT (*LongRunningSettings)(struct IImmersiveApplicationLifetimeBroker*, enum USER_CONSENT_STATUS*); // +0x20(0x8) HRESULT (*PromptUserForConsent)(struct IImmersiveApplicationLifetimeBroker*, struct HWND__*, enum LIFETIME_CONTRACT_TYPE, struct CONSENT_RESPONSE*); // +0x28(0x8) HRESULT (*InitializeLongRunningProcess)(struct IImmersiveApplicationLifetimeBroker*); // +0x30(0x8) HRESULT (*IsProcessLongRunning)(struct IImmersiveApplicationLifetimeBroker*, int*); // +0x38(0x8) HRESULT (*UnInitializeLongRunningProcess)(struct IImmersiveApplicationLifetimeBroker*); // +0x40(0x8) }; struct IImmersiveApplicationManager // 0x8 { struct IImmersiveApplicationManagerVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveApplicationManagerVtbl // 0x30 { HRESULT (*QueryInterface)(struct IImmersiveApplicationManager*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveApplicationManager*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveApplicationManager*); // +0x10(0x8) HRESULT (*SwitchToShellWindow)(struct IImmersiveApplicationManager*); // +0x18(0x8) HRESULT (*GetForegroundApplication)(struct IImmersiveApplicationManager*, struct IImmersiveApplication**); // +0x20(0x8) HRESULT (*MoveApplication)(struct IImmersiveApplicationManager*, struct IImmersiveApplication*, struct IImmersiveMonitor*); // +0x28(0x8) }; struct IImmersiveApplicationNotification // 0x8 { struct IImmersiveApplicationNotificationVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveApplicationNotificationService // 0x8 { struct IImmersiveApplicationNotificationServiceVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveApplicationNotificationServiceVtbl // 0x28 { HRESULT (*QueryInterface)(struct IImmersiveApplicationNotificationService*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveApplicationNotificationService*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveApplicationNotificationService*); // +0x10(0x8) HRESULT (*Register)(struct IImmersiveApplicationNotificationService*, struct IImmersiveApplicationNotification*, ULONG*); // +0x18(0x8) HRESULT (*Unregister)(struct IImmersiveApplicationNotificationService*, ULONG); // +0x20(0x8) }; struct IImmersiveApplicationNotificationVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveApplicationNotification*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveApplicationNotification*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveApplicationNotification*); // +0x10(0x8) HRESULT (*ApplicationChanged)(struct IImmersiveApplicationNotification*, struct IImmersiveApplication*, enum IMM_APP_CHANGED); // +0x18(0x8) }; struct IImmersiveApplicationVtbl // 0x88 { HRESULT (*QueryInterface)(struct IImmersiveApplication*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveApplication*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveApplication*); // +0x10(0x8) HRESULT (*Hide)(struct IImmersiveApplication*); // +0x18(0x8) HRESULT (*Show)(struct IImmersiveApplication*); // +0x20(0x8) HRESULT (*Activate)(struct IImmersiveApplication*); // +0x28(0x8) HRESULT (*SetPos)(struct IImmersiveApplication*, struct tagRECT*, enum SET_IMM_APP_POS); // +0x30(0x8) HRESULT (*GetWindow)(struct IImmersiveApplication*, struct HWND__**); // +0x38(0x8) HRESULT (*GetApplicationId)(struct IImmersiveApplication*, WORD**); // +0x40(0x8) HRESULT (*OpenPropertyStore)(struct IImmersiveApplication*, enum IMMAPPPROPERTYSTOREFLAGS, struct _GUID*, void**); // +0x48(0x8) HRESULT (*IsRunning)(struct IImmersiveApplication*, int*); // +0x50(0x8) HRESULT (*IsVisible)(struct IImmersiveApplication*, int*); // +0x58(0x8) HRESULT (*IsForeground)(struct IImmersiveApplication*, int*); // +0x60(0x8) HRESULT (*GetTimestamps)(struct IImmersiveApplication*, struct tagIMMAPPTIMESTAMPS*); // +0x68(0x8) HRESULT (*IsEqualByAppId)(struct IImmersiveApplication*, WCHAR*, int*); // +0x70(0x8) HRESULT (*IsEqualByHwnd)(struct IImmersiveApplication*, struct HWND__*, int*); // +0x78(0x8) HRESULT (*IsEqualByApp)(struct IImmersiveApplication*, struct IImmersiveApplication*, int*); // +0x80(0x8) }; struct IImmersiveAppMRUTimestampManager // 0x8 { struct IImmersiveAppMRUTimestampManagerVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveAppMRUTimestampManagerVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveAppMRUTimestampManager*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveAppMRUTimestampManager*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveAppMRUTimestampManager*); // +0x10(0x8) HRESULT (*GetTimestampForApp)(struct IImmersiveAppMRUTimestampManager*, struct IImmersiveApplication*, struct _FILETIME*); // +0x18(0x8) }; struct IImmersiveAppPositioner // 0x8 { struct IImmersiveAppPositionerVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveAppPositionerVtbl // 0x38 { HRESULT (*QueryInterface)(struct IImmersiveAppPositioner*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveAppPositioner*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveAppPositioner*); // +0x10(0x8) HRESULT (*UpdatePositions)(struct IImmersiveAppPositioner*); // +0x18(0x8) HRESULT (*ActivateApp)(struct IImmersiveAppPositioner*, struct IImmersiveApplication*); // +0x20(0x8) HRESULT (*GetInitialRectForApp)(struct IImmersiveAppPositioner*, WCHAR*, struct tagRECT*); // +0x28(0x8) HRESULT (*ShowApp)(struct IImmersiveAppPositioner*, struct IImmersiveApplication*); // +0x30(0x8) }; struct IImmersiveAppPropertyStoreCollection // 0x8 { struct IImmersiveAppPropertyStoreCollectionVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveAppPropertyStoreCollectionVtbl // 0x30 { HRESULT (*QueryInterface)(struct IImmersiveAppPropertyStoreCollection*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveAppPropertyStoreCollection*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveAppPropertyStoreCollection*); // +0x10(0x8) HRESULT (*GetCount)(struct IImmersiveAppPropertyStoreCollection*, DWORD*); // +0x18(0x8) HRESULT (*GetAt)(struct IImmersiveAppPropertyStoreCollection*, DWORD, struct _GUID*, void**); // +0x20(0x8) HRESULT (*GetApplicationPropertyStore)(struct IImmersiveAppPropertyStoreCollection*, WCHAR*, struct _GUID*, void**); // +0x28(0x8) }; struct IImmersiveAutoPlay // 0x8 { struct IImmersiveAutoPlayVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveAutoPlayVtbl // 0x28 { HRESULT (*QueryInterface)(struct IImmersiveAutoPlay*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveAutoPlay*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveAutoPlay*); // +0x10(0x8) HRESULT (*LaunchDeviceHandler)(struct IImmersiveAutoPlay*, WCHAR*, WCHAR*, WCHAR*, WCHAR*, WCHAR*); // +0x18(0x8) HRESULT (*LaunchDynamicHandler)(struct IImmersiveAutoPlay*, WCHAR*, WCHAR*, WCHAR*, ULONG, WORD**); // +0x20(0x8) }; struct IImmersiveBackgroundWindow // 0x8 { struct IImmersiveBackgroundWindowVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveBackgroundWindowVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveBackgroundWindow*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveBackgroundWindow*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveBackgroundWindow*); // +0x10(0x8) HRESULT (*GetBackgroundWindow)(struct IImmersiveBackgroundWindow*, struct HWND__**); // +0x18(0x8) }; struct IImmersiveDockableWindow // 0x8 { struct IImmersiveDockableWindowVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveDockableWindowVtbl // 0x40 { HRESULT (*QueryInterface)(struct IImmersiveDockableWindow*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveDockableWindow*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveDockableWindow*); // +0x10(0x8) HRESULT (*GetWindow)(struct IImmersiveDockableWindow*, enum DOCKING_OPERATION, DWORD, DWORD, struct HWND__**); // +0x18(0x8) HRESULT (*Cancel)(struct IImmersiveDockableWindow*, enum DOCKING_OPERATION); // +0x20(0x8) HRESULT (*Commit)(struct IImmersiveDockableWindow*, enum DOCKING_OPERATION); // +0x28(0x8) HRESULT (*GetMinMaxSize)(struct IImmersiveDockableWindow*, DWORD*, DWORD*); // +0x30(0x8) HRESULT (*GetIdealSize)(struct IImmersiveDockableWindow*, DWORD*); // +0x38(0x8) }; struct IImmersiveDockedAppBarEventService // 0x8 { struct IImmersiveDockedAppBarEventServiceVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveDockedAppBarEventServiceVtbl // 0x28 { HRESULT (*QueryInterface)(struct IImmersiveDockedAppBarEventService*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveDockedAppBarEventService*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveDockedAppBarEventService*); // +0x10(0x8) HRESULT (*Register)(struct IImmersiveDockedAppBarEventService*, struct IImmersiveDockedAppBarNotification*, ULONG*); // +0x18(0x8) HRESULT (*Unregister)(struct IImmersiveDockedAppBarEventService*, ULONG); // +0x20(0x8) }; struct IImmersiveDockedAppBarNotification // 0x8 { struct IImmersiveDockedAppBarNotificationVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveDockedAppBarNotificationVtbl // 0x28 { HRESULT (*QueryInterface)(struct IImmersiveDockedAppBarNotification*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveDockedAppBarNotification*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveDockedAppBarNotification*); // +0x10(0x8) HRESULT (*DockedAppBarShown)(struct IImmersiveDockedAppBarNotification*); // +0x18(0x8) HRESULT (*DockedAppBarHidden)(struct IImmersiveDockedAppBarNotification*); // +0x20(0x8) }; struct IImmersiveDockedAppBarTrayNotify // 0x8 { struct IImmersiveDockedAppBarTrayNotifyVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveDockedAppBarTrayNotifyVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveDockedAppBarTrayNotify*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveDockedAppBarTrayNotify*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveDockedAppBarTrayNotify*); // +0x10(0x8) HRESULT (*HandleFullScreenDesktopWindow)(struct IImmersiveDockedAppBarTrayNotify*, int); // +0x18(0x8) }; struct IImmersiveDockedAppManagerEventService // 0x8 { struct IImmersiveDockedAppManagerEventServiceVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveDockedAppManagerEventServiceVtbl // 0x28 { HRESULT (*QueryInterface)(struct IImmersiveDockedAppManagerEventService*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveDockedAppManagerEventService*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveDockedAppManagerEventService*); // +0x10(0x8) HRESULT (*Register)(struct IImmersiveDockedAppManagerEventService*, struct IImmersiveDockedAppManagerNotification*, ULONG*); // +0x18(0x8) HRESULT (*Unregister)(struct IImmersiveDockedAppManagerEventService*, ULONG); // +0x20(0x8) }; struct IImmersiveDockedAppManagerNotification // 0x8 { struct IImmersiveDockedAppManagerNotificationVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveDockedAppManagerNotificationVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveDockedAppManagerNotification*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveDockedAppManagerNotification*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveDockedAppManagerNotification*); // +0x10(0x8) HRESULT (*DockedAppLayoutChanged)(struct IImmersiveDockedAppManagerNotification*); // +0x18(0x8) }; struct IImmersiveDockedAppManagerVtbl // 0x60 { HRESULT (*QueryInterface)(struct IImmersiveDockedAppManager*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveDockedAppManager*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveDockedAppManager*); // +0x10(0x8) HRESULT (*DockApp)(struct IImmersiveDockedAppManager*, struct IImmersiveApplication*); // +0x18(0x8) HRESULT (*UndockApp)(struct IImmersiveDockedAppManager*, struct IImmersiveApplication*); // +0x20(0x8) HRESULT (*IsDocked)(struct IImmersiveDockedAppManager*, struct IImmersiveApplication*, int*); // +0x28(0x8) HRESULT (*RemoveApp)(struct IImmersiveDockedAppManager*, struct IImmersiveApplication*); // +0x30(0x8) HRESULT (*DoesAppFit)(struct IImmersiveDockedAppManager*, struct IImmersiveApplication*, int*); // +0x38(0x8) HRESULT (*GetAppRect)(struct IImmersiveDockedAppManager*, struct IImmersiveApplication*, struct tagRECT*); // +0x40(0x8) HRESULT (*SetAppMinState)(struct IImmersiveDockedAppManager*, struct IImmersiveApplication*, int); // +0x48(0x8) HRESULT (*GetAppMinState)(struct IImmersiveDockedAppManager*, struct IImmersiveApplication*, int*); // +0x50(0x8) HRESULT (*SwapPositions)(struct IImmersiveDockedAppManager*, struct IImmersiveApplication*, struct IImmersiveApplication*); // +0x58(0x8) }; struct IImmersiveDockingBroker // 0x8 { struct IImmersiveDockingBrokerVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveDockingBrokerVtbl // 0x50 { HRESULT (*QueryInterface)(struct IImmersiveDockingBroker*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveDockingBroker*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveDockingBroker*); // +0x10(0x8) HRESULT (*IsDocked)(struct IImmersiveDockingBroker*, int*); // +0x18(0x8) HRESULT (*GetDockedMinimumHeight)(struct IImmersiveDockingBroker*, DWORD*); // +0x20(0x8) HRESULT (*SetDockedMinimumHeight)(struct IImmersiveDockingBroker*, DWORD); // +0x28(0x8) HRESULT (*GetDockedFillPreference)(struct IImmersiveDockingBroker*, enum DOCKED_FILL_PREFERENCE*); // +0x30(0x8) HRESULT (*SetDockedFillPreference)(struct IImmersiveDockingBroker*, enum DOCKED_FILL_PREFERENCE); // +0x38(0x8) HRESULT (*GetDockedMaximumFillHeight)(struct IImmersiveDockingBroker*, DWORD*); // +0x40(0x8) HRESULT (*SetDockedMaximumFillHeight)(struct IImmersiveDockingBroker*, DWORD); // +0x48(0x8) }; struct IImmersiveLauncherSearchTaskEvent // 0x8 { struct IImmersiveLauncherSearchTaskEventVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveLauncherSearchTaskEventVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveLauncherSearchTaskEvent*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveLauncherSearchTaskEvent*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveLauncherSearchTaskEvent*); // +0x10(0x8) HRESULT (*OnTaskComplete)(struct IImmersiveLauncherSearchTaskEvent*, ULONG, HRESULT); // +0x18(0x8) }; struct IImmersiveLayoutChanges // 0x8 { struct IImmersiveLayoutChangesVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveLayoutChangesVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveLayoutChanges*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveLayoutChanges*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveLayoutChanges*); // +0x10(0x8) HRESULT (*WorkAreaChanged)(struct IImmersiveLayoutChanges*, ULONG, struct tagRECT*); // +0x18(0x8) }; struct IImmersiveLayoutClient // 0x8 { struct IImmersiveLayoutClientVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveLayoutClientVtbl // 0x28 { HRESULT (*QueryInterface)(struct IImmersiveLayoutClient*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveLayoutClient*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveLayoutClient*); // +0x10(0x8) HRESULT (*WorkAreaChanged)(struct IImmersiveLayoutClient*, ULONG, struct tagRECT*); // +0x18(0x8) HRESULT (*QueryWorkArea)(struct IImmersiveLayoutClient*, struct tagRECT*, struct tagRECT*); // +0x20(0x8) }; struct IImmersiveLayoutVtbl // 0x58 { HRESULT (*QueryInterface)(struct IImmersiveLayout*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveLayout*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveLayout*); // +0x10(0x8) HRESULT (*RegisterLayoutClient)(struct IImmersiveLayout*, ULONG, struct IImmersiveLayoutClient*, ULONG*); // +0x18(0x8) HRESULT (*UnregisterLayoutClient)(struct IImmersiveLayout*, ULONG); // +0x20(0x8) HRESULT (*RegisterForLayoutChanges)(struct IImmersiveLayout*, ULONG, struct IImmersiveLayoutChanges*, ULONG*); // +0x28(0x8) HRESULT (*UnregisterForLayoutChanges)(struct IImmersiveLayout*, ULONG); // +0x30(0x8) HRESULT (*GetOuterWorkAreaForBand)(struct IImmersiveLayout*, ULONG, struct tagRECT*); // +0x38(0x8) HRESULT (*GetInnerWorkAreaForBand)(struct IImmersiveLayout*, ULONG, struct tagRECT*); // +0x40(0x8) HRESULT (*GetImmersiveShellWorkArea)(struct IImmersiveLayout*, struct tagRECT*); // +0x48(0x8) HRESULT (*InvalidateWorkArea)(struct IImmersiveLayout*, ULONG); // +0x50(0x8) }; struct IImmersiveMonitorDisconnectHandler // 0x8 { struct IImmersiveMonitorDisconnectHandlerVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveMonitorDisconnectHandlerVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveMonitorDisconnectHandler*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveMonitorDisconnectHandler*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveMonitorDisconnectHandler*); // +0x10(0x8) HRESULT (*HandleMonitorDisconnect)(struct IImmersiveMonitorDisconnectHandler*, struct IImmersiveMonitor*); // +0x18(0x8) }; struct IImmersiveMonitorManagerInternal // 0x8 { struct IImmersiveMonitorManagerInternalVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveMonitorManagerInternalVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveMonitorManagerInternal*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveMonitorManagerInternal*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveMonitorManagerInternal*); // +0x10(0x8) HRESULT (*HandleDisplayChangeNotification)(struct IImmersiveMonitorManagerInternal*); // +0x18(0x8) }; struct IImmersiveMonitorManagerVtbl // 0x58 { HRESULT (*QueryInterface)(struct IImmersiveMonitorManager*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveMonitorManager*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveMonitorManager*); // +0x10(0x8) HRESULT (*GetCount)(struct IImmersiveMonitorManager*, DWORD*); // +0x18(0x8) HRESULT (*GetAt)(struct IImmersiveMonitorManager*, DWORD, struct IImmersiveMonitor**); // +0x20(0x8) HRESULT (*GetFromHandle)(struct IImmersiveMonitorManager*, struct HMONITOR__*, struct IImmersiveMonitor**); // +0x28(0x8) HRESULT (*GetFromIdentity)(struct IImmersiveMonitorManager*, ULONG, struct IImmersiveMonitor**); // +0x30(0x8) HRESULT (*QueryService)(struct IImmersiveMonitorManager*, struct HMONITOR__*, struct _GUID*, struct _GUID*, void**); // +0x38(0x8) HRESULT (*QueryServiceByIdentity)(struct IImmersiveMonitorManager*, ULONG, struct _GUID*, struct _GUID*, void**); // +0x40(0x8) HRESULT (*QueryServiceFromWindow)(struct IImmersiveMonitorManager*, struct HWND__*, struct _GUID*, struct _GUID*, void**); // +0x48(0x8) HRESULT (*QueryServiceFromPoint)(struct IImmersiveMonitorManager*, struct tagPOINT*, struct _GUID*, struct _GUID*, void**); // +0x50(0x8) }; struct IImmersiveMonitorNotification // 0x8 { struct IImmersiveMonitorNotificationVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveMonitorNotificationService // 0x8 { struct IImmersiveMonitorNotificationServiceVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveMonitorNotificationServiceVtbl // 0x28 { HRESULT (*QueryInterface)(struct IImmersiveMonitorNotificationService*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveMonitorNotificationService*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveMonitorNotificationService*); // +0x10(0x8) HRESULT (*Register)(struct IImmersiveMonitorNotificationService*, struct IImmersiveMonitorNotification*, ULONG*); // +0x18(0x8) HRESULT (*Unregister)(struct IImmersiveMonitorNotificationService*, ULONG); // +0x20(0x8) }; struct IImmersiveMonitorNotificationVtbl // 0x38 { HRESULT (*QueryInterface)(struct IImmersiveMonitorNotification*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveMonitorNotification*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveMonitorNotification*); // +0x10(0x8) HRESULT (*MonitorAdded)(struct IImmersiveMonitorNotification*, struct IImmersiveMonitor*); // +0x18(0x8) HRESULT (*MonitorConnected)(struct IImmersiveMonitorNotification*, struct IImmersiveMonitor*); // +0x20(0x8) HRESULT (*MonitorDisconnected)(struct IImmersiveMonitorNotification*, struct IImmersiveMonitor*); // +0x28(0x8) HRESULT (*DisplaySettingsChange)(struct IImmersiveMonitorNotification*, struct IImmersiveMonitor*, enum IMMERSIVE_MONITOR_DISPLAY_CHANGE_FLAGS); // +0x30(0x8) }; struct IImmersiveMonitorVtbl // 0x60 { HRESULT (*QueryInterface)(struct IImmersiveMonitor*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveMonitor*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveMonitor*); // +0x10(0x8) HRESULT (*GetIdentity)(struct IImmersiveMonitor*, ULONG*); // +0x18(0x8) HRESULT (*ConnectObject)(struct IImmersiveMonitor*, struct IUnknown*); // +0x20(0x8) HRESULT (*GetHandle)(struct IImmersiveMonitor*, struct HMONITOR__**); // +0x28(0x8) HRESULT (*IsConnected)(struct IImmersiveMonitor*, int*); // +0x30(0x8) HRESULT (*IsPrimary)(struct IImmersiveMonitor*, int*); // +0x38(0x8) HRESULT (*GetDisplayRect)(struct IImmersiveMonitor*, struct tagRECT*); // +0x40(0x8) HRESULT (*GetOrientation)(struct IImmersiveMonitor*, ULONG*); // +0x48(0x8) HRESULT (*GetWorkArea)(struct IImmersiveMonitor*, struct tagRECT*); // +0x50(0x8) HRESULT (*IsEqual)(struct IImmersiveMonitor*, struct IImmersiveMonitor*, int*); // +0x58(0x8) }; struct IImmersiveShellBroker // 0x8 { struct IImmersiveShellBrokerVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveShellBrokerVtbl // 0x38 { HRESULT (*QueryInterface)(struct IImmersiveShellBroker*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveShellBroker*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveShellBroker*); // +0x10(0x8) HRESULT (*GetImmersiveMode)(struct IImmersiveShellBroker*, enum IMM_SYSTEM_MODE*); // +0x18(0x8) HRESULT (*GetApplicationLifetimeBroker)(struct IImmersiveShellBroker*, struct IImmersiveApplicationLifetimeBroker**); // +0x20(0x8) HRESULT (*GetDockingBroker)(struct IImmersiveShellBroker*, struct IImmersiveDockingBroker**); // +0x28(0x8) HRESULT (*GetLightDismissBroker)(struct IImmersiveShellBroker*, struct ILightDismissProvider**); // +0x30(0x8) }; struct IImmersiveShellComponent // 0x8 { struct IImmersiveShellComponentVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveShellComponentVtbl // 0x40 { HRESULT (*QueryInterface)(struct IImmersiveShellComponent*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveShellComponent*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveShellComponent*); // +0x10(0x8) HRESULT (*PublishServices)(struct IImmersiveShellComponent*, struct IServiceProvider*, struct IProfferService*); // +0x18(0x8) HRESULT (*SubscribeToServices)(struct IImmersiveShellComponent*, struct IServiceProvider*); // +0x20(0x8) HRESULT (*PerformDelayedInitialization)(struct IImmersiveShellComponent*); // +0x28(0x8) HRESULT (*UnsubscribeFromServices)(struct IImmersiveShellComponent*, struct IServiceProvider*); // +0x30(0x8) HRESULT (*ShutdownServices)(struct IImmersiveShellComponent*, struct IProfferService*); // +0x38(0x8) }; struct IImmersiveShellController // 0x8 { struct IImmersiveShellControllerVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveShellControllerVtbl // 0x28 { HRESULT (*QueryInterface)(struct IImmersiveShellController*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveShellController*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveShellController*); // +0x10(0x8) HRESULT (*Start)(struct IImmersiveShellController*); // +0x18(0x8) HRESULT (*Stop)(struct IImmersiveShellController*); // +0x20(0x8) }; struct IImmersiveShellHookNotification // 0x8 { struct IImmersiveShellHookNotificationVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveShellHookNotificationVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveShellHookNotification*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveShellHookNotification*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveShellHookNotification*); // +0x10(0x8) HRESULT (*OnShellHookMessage)(struct IImmersiveShellHookNotification*, ULONGLONG, __int64); // +0x18(0x8) }; struct IImmersiveShellHookService // 0x8 { struct IImmersiveShellHookServiceVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveShellHookServiceVtbl // 0x30 { HRESULT (*QueryInterface)(struct IImmersiveShellHookService*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveShellHookService*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveShellHookService*); // +0x10(0x8) HRESULT (*Register)(struct IImmersiveShellHookService*, ULONGLONG*, DWORD, struct IImmersiveShellHookNotification*, ULONG*); // +0x18(0x8) HRESULT (*Unregister)(struct IImmersiveShellHookService*, ULONG); // +0x20(0x8) HRESULT (*PostShellHookMessage)(struct IImmersiveShellHookService*, ULONGLONG, __int64); // +0x28(0x8) }; struct IImmersiveStartupLauncher // 0x8 { struct IImmersiveStartupLauncherVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveStartupLauncherVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveStartupLauncher*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveStartupLauncher*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveStartupLauncher*); // +0x10(0x8) HRESULT (*LaunchImmersiveStartups)(struct IImmersiveStartupLauncher*, struct IUnknown*); // +0x18(0x8) }; struct IImmersiveSwitcherHost // 0x8 { struct IImmersiveSwitcherHostVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveSwitcherHostVtbl // 0x28 { HRESULT (*QueryInterface)(struct IImmersiveSwitcherHost*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveSwitcherHost*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveSwitcherHost*); // +0x10(0x8) HRESULT (*Invoke)(struct IImmersiveSwitcherHost*); // +0x18(0x8) HRESULT (*Dismiss)(struct IImmersiveSwitcherHost*); // +0x20(0x8) }; struct IImmersiveSystemMode // 0x8 { struct IImmersiveSystemModeVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveSystemModeNotification // 0x8 { struct IImmersiveSystemModeNotificationVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveSystemModeNotificationService // 0x8 { struct IImmersiveSystemModeNotificationServiceVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveSystemModeNotificationServiceVtbl // 0x28 { HRESULT (*QueryInterface)(struct IImmersiveSystemModeNotificationService*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveSystemModeNotificationService*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveSystemModeNotificationService*); // +0x10(0x8) HRESULT (*Register)(struct IImmersiveSystemModeNotificationService*, struct IImmersiveSystemModeNotification*, ULONG*); // +0x18(0x8) HRESULT (*Unregister)(struct IImmersiveSystemModeNotificationService*, ULONG); // +0x20(0x8) }; struct IImmersiveSystemModeNotificationVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveSystemModeNotification*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveSystemModeNotification*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveSystemModeNotification*); // +0x10(0x8) HRESULT (*ModeChanged)(struct IImmersiveSystemModeNotification*, enum IMM_SYSTEM_MODE); // +0x18(0x8) }; struct IImmersiveSystemModeVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveSystemMode*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveSystemMode*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveSystemMode*); // +0x10(0x8) HRESULT (*GetMode)(struct IImmersiveSystemMode*, enum IMM_SYSTEM_MODE*); // +0x18(0x8) }; struct IImmersiveWindowManager // 0x8 { struct IImmersiveWindowManagerVtbl* lpVtbl; // +0x0(0x8) }; struct IImmersiveWindowManagerVtbl // 0x20 { HRESULT (*QueryInterface)(struct IImmersiveWindowManager*, struct _GUID*, void**); // +0x0(0x8) ULONG (*AddRef)(struct IImmersiveWindowManager*); // +0x8(0x8) ULONG (*Release)(struct IImmersiveWindowManager*); // +0x10(0x8) HRESULT (*GetMobodyApplication)(struct IImmersiveWindowManager*, struct IImmersiveApplication**); // +0x18(0x8) }; enum IMM_APP_CHANGED { IAC_UNKNOWN = 0x0; IAC_STARTED = 0x1; IAC_FOREGROUND = 0x2; IAC_BACKGROUND = 0x3; IAC_SHOWN = 0x4; IAC_HIDDEN = 0x5; IAC_CLOSED = 0x6; IAC_ADDED = 0x7; IAC_REMOVED = 0x8; }; enum IMM_SYSTEM_MODE { ISM_NONE = 0xff; ISM_DESKTOP = 0x0; ISM_IMMERSIVE = 0x1; }; enum IMMAPPPROPERTYSTOREFLAGS { IAGPS_DEFAULT = 0x0; }; typedef struct tagIMMAPPTIMESTAMPS IMMAPPTIMESTAMPS; enum IMMERSIVE_MONITOR_DISPLAY_CHANGE_FLAGS { IMDCF_UNKNOWN = 0x0; IMDCF_DISPLAYRECT = 0x1; IMDCF_PRIMARY = 0x2; IMDCF_ORIENTATION = 0x4; IMDCF_HMONITOR = 0x8; IMDCF_WORKAREA = 0x10; }; struct ImmersiveAccessibilityDockingService // 0x0 { }; struct ImmersiveAppOpenExecute // 0x0 { }; struct ImmersiveAutoPlay // 0x0 { }; enum IMMERSIVELAUNCHERCONTROL { ILC_GRID = 0x0; ILC_SYSTEMTILE = 0x1; ILC_VIEWPICKER = 0x2; ILC_MAX = 0x3; }; enum IMMERSIVELAUNCHERSCENARIO { ILS_SEARCH_PANE_SHOW = 0x0; ILS_SEARCH_PANE_HIDE = 0x1; ILS_SHOW = 0x2; ILS_HIDE = 0x3; ILS_VIEW_CHANGE = 0x4; ILS_MAX = 0x5; }; struct ImmersiveShell // 0x0 { }; struct ImmersiveShellBroker // 0x0 { }; struct ImmersiveShellController // 0x0 { }; struct ImmersiveSplashScreen // 0x0 { }; struct ImmersiveSplashScreenHost // 0x0 { }; struct ImmersiveStartupLauncher // 0x0 { }; struct ImmersiveWindowActivationContextProxy // 0x0 { };
part 3, wrl types, some names may not be properly undecorated, due to bugs in the pdb dump tool. Code: class Microsoft::WRL::ActivationFactory : public Microsoft::WRL::Details::RuntimeClass,Microsoft::WRL::RuntimeClassFlags<5>,0,1> // 0x20 { public: void ActivationFactory(class Microsoft::WRL::ActivationFactory&); void ActivationFactory(void); virtual ULONG AddRef(void); virtual ULONG Release(void); virtual HRESULT QueryInterface(struct _GUID&, void**); virtual HRESULT GetIids(ULONG*, struct _GUID**); virtual HRESULT GetRuntimeClassName(struct HSTRING__**); virtual HRESULT GetTrustLevel(enum TrustLevel*); virtual ~ActivationFactory(void); class Microsoft::WRL::ActivationFactory& operator=(class Microsoft::WRL::ActivationFactory&); void __local_vftable_ctor_closure(void); virtual void* __vecDelDtor(DWORD); private: struct Microsoft::WRL::Details::CreatorMap* entry_; // +0x10(0x8) bool inProcFactory_; // +0x18(0x1) }; class Microsoft::WRL::ClassFactory : public Microsoft::WRL::Details::RuntimeClass,Microsoft::WRL::RuntimeClassFlags<6>,0,0> // 0x18 { public: void ClassFactory(class Microsoft::WRL::ClassFactory&); void ClassFactory(void); virtual ULONG AddRef(void); virtual ULONG Release(void); virtual HRESULT QueryInterface(struct _GUID&, void**); virtual HRESULT LockServer(int); virtual ~ClassFactory(void); class Microsoft::WRL::ClassFactory& operator=(class Microsoft::WRL::ClassFactory&); void __local_vftable_ctor_closure(void); virtual void* __vecDelDtor(DWORD); private: bool inProcFactory_; // +0x10(0x1) }; class Microsoft::WRL::ComPtr // 0x8 { public: void ComPtr(class Microsoft::WRL::ComPtr*); void ComPtr(class Microsoft::WRL::ComPtr&); void ComPtr(void*); void ComPtr(void); ~ComPtr(void); class Microsoft::WRL::ComPtr& operator=(class Microsoft::WRL::ComPtr*); class Microsoft::WRL::ComPtr& operator=(class Microsoft::WRL::ComPtr&); class Microsoft::WRL::ComPtr& operator=(struct IInspectable*); class Microsoft::WRL::ComPtr& operator=(void*); void Swap(class Microsoft::WRL::ComPtr&); void Swap(class Microsoft::WRL::ComPtr*); int* operator int Microsoft::WRL::Details::BoolStruct::*(void); struct IInspectable* Get(void); class Microsoft::WRL::Details::RemoveIUnknown* operator->(void); class Microsoft::WRL::Details::ComPtrRef const > operator&(void); class Microsoft::WRL::Details::ComPtrRef > operator&(void); struct IInspectable** GetAddressOf(void); struct IInspectable** GetAddressOf(void); struct IInspectable** ReleaseAndGetAddressOf(void); struct IInspectable* Detach(void); void Attach(struct IInspectable*); HRESULT CopyTo(struct _GUID&, void**); HRESULT CopyTo(struct IInspectable**); HRESULT AsIID(struct _GUID&, class Microsoft::WRL::ComPtr*); HRESULT AsWeak(class Microsoft::WRL::WeakRef*); void* __vecDelDtor(DWORD); protected: void InternalAddRef(void); void InternalRelease(void); protected: struct IInspectable* ptr_; // +0x0(0x8) }; class Microsoft::WRL::ComPtr // 0x8 { public: void ComPtr(class Microsoft::WRL::ComPtr*); void ComPtr(class Microsoft::WRL::ComPtr&); void ComPtr(void*); void ComPtr(void); ~ComPtr(void); class Microsoft::WRL::ComPtr& operator=(class Microsoft::WRL::ComPtr*); class Microsoft::WRL::ComPtr& operator=(class Microsoft::WRL::ComPtr&); class Microsoft::WRL::ComPtr& operator=(struct IParentAndItem*); class Microsoft::WRL::ComPtr& operator=(void*); void Swap(class Microsoft::WRL::ComPtr&); void Swap(class Microsoft::WRL::ComPtr*); int* operator int Microsoft::WRL::Details::BoolStruct::*(void); struct IParentAndItem* Get(void); class Microsoft::WRL::Details::RemoveIUnknown* operator->(void); class Microsoft::WRL::Details::ComPtrRef const > operator&(void); class Microsoft::WRL::Details::ComPtrRef > operator&(void); struct IParentAndItem** GetAddressOf(void); struct IParentAndItem** GetAddressOf(void); struct IParentAndItem** ReleaseAndGetAddressOf(void); struct IParentAndItem* Detach(void); void Attach(struct IParentAndItem*); HRESULT CopyTo(struct _GUID&, void**); HRESULT CopyTo(struct IParentAndItem**); HRESULT AsIID(struct _GUID&, class Microsoft::WRL::ComPtr*); HRESULT AsWeak(class Microsoft::WRL::WeakRef*); void* __vecDelDtor(DWORD); protected: void InternalAddRef(void); void InternalRelease(void); protected: struct IParentAndItem* ptr_; // +0x0(0x8) }; class Microsoft::WRL::ComPtr // 0x8 { public: void ComPtr(class Microsoft::WRL::ComPtr*); void ComPtr(class Microsoft::WRL::ComPtr&); void ComPtr(void*); void ComPtr(void); ~ComPtr(void); class Microsoft::WRL::ComPtr& operator=(class Microsoft::WRL::ComPtr*); class Microsoft::WRL::ComPtr& operator=(class Microsoft::WRL::ComPtr&); class Microsoft::WRL::ComPtr& operator=(struct IShellFolder*); class Microsoft::WRL::ComPtr& operator=(void*); void Swap(class Microsoft::WRL::ComPtr&); void Swap(class Microsoft::WRL::ComPtr*); int* operator int Microsoft::WRL::Details::BoolStruct::*(void); struct IShellFolder* Get(void); class Microsoft::WRL::Details::RemoveIUnknown* operator->(void); class Microsoft::WRL::Details::ComPtrRef const > operator&(void); class Microsoft::WRL::Details::ComPtrRef > operator&(void); struct IShellFolder** GetAddressOf(void); struct IShellFolder** GetAddressOf(void); struct IShellFolder** ReleaseAndGetAddressOf(void); struct IShellFolder* Detach(void); void Attach(struct IShellFolder*); HRESULT CopyTo(struct _GUID&, void**); HRESULT CopyTo(struct IShellFolder**); HRESULT AsIID(struct _GUID&, class Microsoft::WRL::ComPtr*); HRESULT AsWeak(class Microsoft::WRL::WeakRef*); void* __vecDelDtor(DWORD); protected: void InternalAddRef(void); void InternalRelease(void); protected: struct IShellFolder* ptr_; // +0x0(0x8) }; class Microsoft::WRL::ComPtr // 0x8 { public: void ComPtr(class Microsoft::WRL::ComPtr*); void ComPtr(class Microsoft::WRL::ComPtr&); void ComPtr(void*); void ComPtr(void); ~ComPtr(void); class Microsoft::WRL::ComPtr& operator=(class Microsoft::WRL::ComPtr*); class Microsoft::WRL::ComPtr& operator=(class Microsoft::WRL::ComPtr&); class Microsoft::WRL::ComPtr& operator=(struct IUnknown*); class Microsoft::WRL::ComPtr& operator=(void*); void Swap(class Microsoft::WRL::ComPtr&); void Swap(class Microsoft::WRL::ComPtr*); int* operator int Microsoft::WRL::Details::BoolStruct::*(void); struct IUnknown* Get(void); class Microsoft::WRL::Details::RemoveIUnknown* operator->(void); class Microsoft::WRL::Details::ComPtrRef const > operator&(void); class Microsoft::WRL::Details::ComPtrRef > operator&(void); struct IUnknown** GetAddressOf(void); struct IUnknown** GetAddressOf(void); struct IUnknown** ReleaseAndGetAddressOf(void); struct IUnknown* Detach(void); void Attach(struct IUnknown*); HRESULT CopyTo(struct _GUID&, void**); HRESULT CopyTo(struct IUnknown**); HRESULT AsIID(struct _GUID&, class Microsoft::WRL::ComPtr*); HRESULT AsWeak(class Microsoft::WRL::WeakRef*); void* __vecDelDtor(DWORD); protected: void InternalAddRef(void); void InternalRelease(void); protected: struct IUnknown* ptr_; // +0x0(0x8) }; class Microsoft::WRL::ComPtr // 0x8 { public: void ComPtr(class Microsoft::WRL::ComPtr*); void ComPtr(class Microsoft::WRL::ComPtr&); void ComPtr(void*); void ComPtr(void); ~ComPtr(void); class Microsoft::WRL::ComPtr& operator=(class Microsoft::WRL::ComPtr*); class Microsoft::WRL::ComPtr& operator=(class Microsoft::WRL::ComPtr&); class Microsoft::WRL::ComPtr& operator=(struct IWeakReference*); class Microsoft::WRL::ComPtr& operator=(void*); void Swap(class Microsoft::WRL::ComPtr&); void Swap(class Microsoft::WRL::ComPtr*); int* operator int Microsoft::WRL::Details::BoolStruct::*(void); struct IWeakReference* Get(void); class Microsoft::WRL::Details::RemoveIUnknown* operator->(void); class Microsoft::WRL::Details::ComPtrRef const > operator&(void); class Microsoft::WRL::Details::ComPtrRef > operator&(void); struct IWeakReference** GetAddressOf(void); struct IWeakReference** GetAddressOf(void); struct IWeakReference** ReleaseAndGetAddressOf(void); struct IWeakReference* Detach(void); void Attach(struct IWeakReference*); HRESULT CopyTo(struct _GUID&, void**); HRESULT CopyTo(struct IWeakReference**); HRESULT AsIID(struct _GUID&, class Microsoft::WRL::ComPtr*); HRESULT AsWeak(class Microsoft::WRL::WeakRef*); void* __vecDelDtor(DWORD); protected: void InternalAddRef(void); void InternalRelease(void); protected: struct IWeakReference* ptr_; // +0x0(0x8) }; struct Microsoft::WRL::Details::BoolStruct // 0x4 { int Member; // +0x0(0x4) }; class Microsoft::WRL::Details::ComPtrRef : public Microsoft::WRL::Details::ComPtrRefBase // 0x8 { public: void ComPtrRef(class Microsoft::WRL::WeakRef*); void** operator void **(void); class Microsoft::WRL::WeakRef* operator const class Microsoft::WRL::WeakRef *(void); struct IWeakReference** operator struct IWeakReference **(void); struct IWeakReference* operator*(void); struct IWeakReference** GetAddressOf(void); struct IWeakReference** ReleaseAndGetAddressOf(void); }; struct Microsoft::WRL::Details::CreatorMap // 0x28 { HRESULT (*factoryCreator)(bool, struct Microsoft::WRL::Details::CreatorMap*, struct _GUID&, struct IUnknown**); // +0x0(0x8) union Microsoft::WRL::Details::CreatorMap:: activationId; // +0x8(0x8) enum TrustLevel (*getTrustLevel)(void); // +0x10(0x8) struct Microsoft::WRL::Details::FactoryCache* factoryCache; // +0x18(0x8) DWORD groupId; // +0x20(0x4) }; class Microsoft::WRL::Details::DontUseNewUseMake // 0x1 { public: void* operator new(ULONGLONG, void*) = 0; private: void* operator new(ULONGLONG) = 0; }; class Microsoft::WRL::Details::EventTargetArray : public Microsoft::WRL::RuntimeClass,IUnknown,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil> // 0x20 { public: void EventTargetArray(class Microsoft::WRL::Details::EventTargetArray&); void EventTargetArray(HRESULT*, ULONGLONG); virtual ~EventTargetArray(void); class Microsoft::WRL::ComPtr* Begin(void); class Microsoft::WRL::ComPtr* End(void); void AddTail(struct IUnknown*); ULONGLONG Length(void); class Microsoft::WRL::Details::EventTargetArray& operator=(class Microsoft::WRL::Details::EventTargetArray&); virtual void* __vecDelDtor(DWORD); private: class Microsoft::WRL::ComPtr* begin_; // +0x10(0x8) class Microsoft::WRL::ComPtr* end_; // +0x18(0x8) }; struct Microsoft::WRL::Details::FactoryCache // 0x10 { struct IUnknown* factory; // +0x0(0x8) union Microsoft::WRL::Details::FactoryCache:: cookie; // +0x8(0x8) }; union Microsoft::WRL::Details::FactoryCache:: // 0x8 { struct * winrt; // +0x0(0x8) ULONG com; // +0x0(0x4) }; struct Microsoft::WRL::Details::ImplementsHelper,Microsoft::WRL::Details::InterfaceList,0> : public IUnknown // 0x8 { public: void ImplementsHelper,Microsoft::WRL::Details::InterfaceList,0>(struct Microsoft::WRL::Details::ImplementsHelper,Microsoft::WRL::Details::InterfaceList,0>&); void ImplementsHelper,Microsoft::WRL::Details::InterfaceList,0>(void); struct Microsoft::WRL::Details::ImplementsHelper,Microsoft::WRL::Details::InterfaceList,0>& operator=(struct Microsoft::WRL::Details::ImplementsHelper,Microsoft::WRL::Details::InterfaceList,0>&); protected: bool CanCastTo(struct _GUID&, void**, bool*); struct IUnknown* CastToUnknown(void); ULONG GetIidCount(void); void FillArrayWithIid(ULONG*, struct _GUID*); }; class Microsoft::WRL::Details::ModuleBase // 0x8 { public: void ModuleBase(void); virtual ~ModuleBase(void); virtual long IncrementObjectCount(void) = 0; virtual long DecrementObjectCount(void) = 0; void __local_vftable_ctor_closure(void); virtual void* __vecDelDtor(DWORD); private: void ModuleBase(class Microsoft::WRL::Details::ModuleBase&); class Microsoft::WRL::Details::ModuleBase& operator=(class Microsoft::WRL::Details::ModuleBase&); }; struct Microsoft::WRL::Details::Nil // 0x1 { }; class Microsoft::WRL::Details::RuntimeClass<Microsoft::WRL::Details::InterfaceList<IActivationFactory,Microsoft::WRL::Details::Nil>,Microsoft::WRL::RuntimeClassFlags<5>,0,1> : public Microsoft::WRL::Details::ImplementsHelper,Microsoft::WRL::Details::InterfaceList,0>, protected Microsoft::WRL::Details::RuntimeClassBaseT<5>, protected Microsoft::WRL::RuntimeClassFlags<4>, public Microsoft::WRL::Details::DontUseNewUseMake // 0x10 { public: virtual HRESULT QueryInterface(struct _GUID&, void**); virtual ULONG AddRef(void); virtual ULONG Release(void); virtual HRESULT GetIids(ULONG*, struct _GUID**); virtual HRESULT GetRuntimeClassName(struct HSTRING__**); virtual HRESULT GetTrustLevel(enum TrustLevel*); void RuntimeClass,Microsoft::WRL::RuntimeClassFlags<5>,0,1>(class Microsoft::WRL::Details::RuntimeClass,Microsoft::WRL::RuntimeClassFlags<5>,0,1>&); class Microsoft::WRL::Details::RuntimeClass,Microsoft::WRL::RuntimeClassFlags<5>,0,1>& operator=(class Microsoft::WRL::Details::RuntimeClass,Microsoft::WRL::RuntimeClassFlags<5>,0,1>&); void __local_vftable_ctor_closure(void); protected: void RuntimeClass,Microsoft::WRL::RuntimeClassFlags<5>,0,1>(void); virtual ~RuntimeClass,Microsoft::WRL::RuntimeClassFlags<5>,0,1>(void); ULONG IncrementReference(void); ULONG DecrementReference(void); virtual void* __vecDelDtor(DWORD); private: long refcount_; // +0xc(0x4) }; struct Microsoft::WRL::Details::VerifyInterfaceHelper<0,IClassFactory> // 0x1 { void Verify(void) = 0; }; struct Microsoft::WRL::Details::VerifyInterfaceHelper<1,IWeakReference> // 0x1 { void Verify(void) = 0; }; class Microsoft::WRL::Details::WeakReferenceInterface<IWeakReference> enum Microsoft::WRL::ModuleType { InProc = 0x0; OutOfProc = 0x1; }; class Microsoft::WRL::RuntimeClass,IUnknown,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil> : public Microsoft::WRL::Details::RuntimeClass,Microsoft::WRL::RuntimeClassFlags<2>,1,0> // 0x10 { public: void RuntimeClass,IUnknown,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details(void); virtual ~RuntimeClass,IUnknown,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Detail(void); void __local_vftable_ctor_closure(void); virtual void* __vecDelDtor(DWORD); private: void RuntimeClass,IUnknown,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details(class Microsoft::WRL::RuntimeClass,IUnknown,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil>&); class Microsoft::WRL::RuntimeClass,IUnknown,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil>& operator=(class Microsoft::WRL::RuntimeClass,IUnknown,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil>&); }; class Microsoft::WRL::WeakRef : public Microsoft::WRL::ComPtr // 0x8 { public: class Microsoft::WRL::Details::ComPtrRef operator&(void); class Microsoft::WRL::Details::ComPtrRef operator&(void); void WeakRef(class Microsoft::WRL::WeakRef*); void WeakRef(class Microsoft::WRL::WeakRef&); void WeakRef(class Microsoft::WRL::ComPtr&); void WeakRef(struct IWeakReference*); void WeakRef(void*); void WeakRef(void); ~WeakRef(void); class Microsoft::WRL::Details::WeakReferenceInterface* operator->(void); HRESULT AsIID(struct _GUID&, class Microsoft::WRL::ComPtr*); HRESULT CopyTo(struct IWeakReference**); HRESULT CopyTo(struct _GUID&, struct IInspectable**); class Microsoft::WRL::WeakRef& operator=(class Microsoft::WRL::WeakRef&); void* __vecDelDtor(DWORD); protected: HRESULT InternalResolve(struct _GUID&, struct IInspectable**); }; class Microsoft::WRL::Wrappers::CriticalSection // 0x28 { public: void CriticalSection(ULONG); ~CriticalSection(void); class Microsoft::WRL::Wrappers::Details::SyncLockT Lock(struct _RTL_CRITICAL_SECTION*) = 0; class Microsoft::WRL::Wrappers::Details::SyncLockT Lock(void); class Microsoft::WRL::Wrappers::Details::SyncLockT TryLock(struct _RTL_CRITICAL_SECTION*) = 0; class Microsoft::WRL::Wrappers::Details::SyncLockT TryLock(void); bool IsValid(void); void __dflt_ctor_closure(void); void* __vecDelDtor(DWORD); private: void CriticalSection(class Microsoft::WRL::Wrappers::CriticalSection&); class Microsoft::WRL::Wrappers::CriticalSection& operator=(class Microsoft::WRL::Wrappers::CriticalSection&); protected: struct _RTL_CRITICAL_SECTION cs_; // +0x0(0x28) }; class Microsoft::WRL::Wrappers::Event : public Microsoft::WRL::Wrappers::HandleT // 0x10 { public: void Event(class Microsoft::WRL::Wrappers::Event&); void Event(class Microsoft::WRL::Wrappers::Event*); void Event(void*); class Microsoft::WRL::Wrappers::Event& operator=(class Microsoft::WRL::Wrappers::Event&); class Microsoft::WRL::Wrappers::Event& operator=(class Microsoft::WRL::Wrappers::Event*); ~Event(void); void __dflt_ctor_closure(void); void* __vecDelDtor(DWORD); }; class Microsoft::WRL::Wrappers::HandleT<Microsoft::WRL::Wrappers::HandleTraits::EventTraits> // 0x10 { public: void HandleT(class Microsoft::WRL::Wrappers::HandleT*); void HandleT(void*); ~HandleT(void); class Microsoft::WRL::Wrappers::HandleT& operator=(class Microsoft::WRL::Wrappers::HandleT*); void Attach(void*); void* Detach(void); void* Get(void); void Close(void); bool IsValid(void); void** GetAddressOf(void); void** ReleaseAndGetAddressOf(void); void __dflt_ctor_closure(void); void* __vecDelDtor(DWORD); protected: virtual bool InternalClose(void); private: void HandleT(class Microsoft::WRL::Wrappers::HandleT&); class Microsoft::WRL::Wrappers::HandleT& operator=(class Microsoft::WRL::Wrappers::HandleT&); protected: void* handle_; // +0x8(0x8) }; struct Microsoft::WRL::Wrappers::HandleTraits::CriticalSectionTraits // 0x1 { struct _RTL_CRITICAL_SECTION* GetInvalidValue(void) = 0; void Unlock(struct _RTL_CRITICAL_SECTION*) = 0; }; struct Microsoft::WRL::Wrappers::HandleTraits::EventTraits : public Microsoft::WRL::Wrappers::HandleTraits::HANDLENullTraits // 0x1 { }; struct Microsoft::WRL::Wrappers::HandleTraits::HANDLENullTraits // 0x1 { bool Close(void*) = 0; void* GetInvalidValue(void) = 0; }; struct Microsoft::WRL::Wrappers::HandleTraits::HANDLETraits // 0x1 { bool Close(void*) = 0; void* GetInvalidValue(void) = 0; }; struct Microsoft::WRL::Wrappers::HandleTraits::SemaphoreTraits : public Microsoft::WRL::Wrappers::HandleTraits::HANDLENullTraits // 0x1 { void Unlock(void*) = 0; }; struct Microsoft::WRL::Wrappers::HandleTraits::SRWLockExclusiveTraits // 0x1 { struct _RTL_SRWLOCK* GetInvalidValue(void) = 0; void Unlock(struct _RTL_SRWLOCK*) = 0; }; class Microsoft::WRL::Wrappers::Mutex : public Microsoft::WRL::Wrappers::HandleT // 0x10 { public: void Mutex(class Microsoft::WRL::Wrappers::Mutex&); void Mutex(class Microsoft::WRL::Wrappers::Mutex*); void Mutex(void*); class Microsoft::WRL::Wrappers::Mutex& operator=(class Microsoft::WRL::Wrappers::Mutex&); class Microsoft::WRL::Wrappers::Mutex& operator=(class Microsoft::WRL::Wrappers::Mutex*); class Microsoft::WRL::Wrappers::Details::SyncLockWithStatusT Lock(void*, ULONG) = 0; class Microsoft::WRL::Wrappers::Details::SyncLockWithStatusT Lock(ULONG); ~Mutex(void); void* __vecDelDtor(DWORD); private: void Close(void); void* Detach(void); void Attach(void*); void** GetAddressOf(void); void** ReleaseAndGetAddressOf(void); }; class Microsoft::WRL::Wrappers::Semaphore : public Microsoft::WRL::Wrappers::HandleT // 0x10 { public: void Semaphore(class Microsoft::WRL::Wrappers::Semaphore&); void Semaphore(class Microsoft::WRL::Wrappers::Semaphore*); void Semaphore(void*); class Microsoft::WRL::Wrappers::Semaphore& operator=(class Microsoft::WRL::Wrappers::Semaphore&); class Microsoft::WRL::Wrappers::Semaphore& operator=(class Microsoft::WRL::Wrappers::Semaphore*); class Microsoft::WRL::Wrappers::Details::SyncLockWithStatusT Lock(void*, ULONG) = 0; class Microsoft::WRL::Wrappers::Details::SyncLockWithStatusT Lock(ULONG); ~Semaphore(void); void* __vecDelDtor(DWORD); private: void Close(void); void* Detach(void); void Attach(void*); void** GetAddressOf(void); void** ReleaseAndGetAddressOf(void); }; class Microsoft::WRL::Wrappers::SRWLock // 0x8 { public: void SRWLock(void); ~SRWLock(void); class Microsoft::WRL::Wrappers::Details::SyncLockT LockExclusive(struct _RTL_SRWLOCK*) = 0; class Microsoft::WRL::Wrappers::Details::SyncLockT LockExclusive(void); class Microsoft::WRL::Wrappers::Details::SyncLockT TryLockExclusive(struct _RTL_SRWLOCK*) = 0; class Microsoft::WRL::Wrappers::Details::SyncLockT TryLockExclusive(void); class Microsoft::WRL::Wrappers::Details::SyncLockT LockShared(struct _RTL_SRWLOCK*) = 0; class Microsoft::WRL::Wrappers::Details::SyncLockT LockShared(void); class Microsoft::WRL::Wrappers::Details::SyncLockT TryLockShared(struct _RTL_SRWLOCK*) = 0; class Microsoft::WRL::Wrappers::Details::SyncLockT TryLockShared(void); void* __vecDelDtor(DWORD); private: void SRWLock(class Microsoft::WRL::Wrappers::SRWLock&); class Microsoft::WRL::Wrappers::SRWLock& operator=(class Microsoft::WRL::Wrappers::SRWLock&); protected: struct _RTL_SRWLOCK SRWLock_; // +0x0(0x8) };