Win8 M3 (7989) findings relevant to Managed .net & WPF/SL developers

Discussion in 'Windows 8' started by SilverlightWPF, Jun 19, 2011.

  1. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #121 NaiveUser, Jul 18, 2011
    Last edited by a moderator: Apr 20, 2017
    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
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. ctxsnstv

    ctxsnstv MDL Novice

    Jun 12, 2011
    8
    0
    0
    I guess WRL is the new ATL basically?
     
  3. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #123 NaiveUser, Jul 20, 2011
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    Hmmm... there is also something called miniATL, not sure about this.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #126 NaiveUser, Aug 17, 2011
    Last edited by a moderator: Apr 20, 2017
    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
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #127 NaiveUser, Aug 17, 2011
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #128 NaiveUser, Aug 17, 2011
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #129 NaiveUser, Aug 17, 2011
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  10. SilverlightWPF

    SilverlightWPF MDL Junior Member

    Jun 11, 2011
    69
    8
    0
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    No, the MinWin is all about those dlls looks like "api-ms-win-core-io-l1-1-0.dll", nothing to do with WinRT.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #132 NaiveUser, Aug 18, 2011
    Last edited by a moderator: Apr 20, 2017
    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;
    };
    
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #133 NaiveUser, Aug 18, 2011
    Last edited by a moderator: Apr 20, 2017
    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.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #134 NaiveUser, Aug 18, 2011
    Last edited by a moderator: Apr 20, 2017
    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")
    
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    bummer, maybe I need a new cl.exe to make midlrt.exe work, sigh.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. bored_neo

    bored_neo MDL Junior Member

    Jun 3, 2011
    53
    26
    0
    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.
     
  17. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #137 NaiveUser, Aug 19, 2011
    Last edited by a moderator: Apr 20, 2017
    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&);
    };
    
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #138 NaiveUser, Aug 19, 2011
    Last edited by a moderator: Apr 20, 2017
    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
    {
    };
    
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  19. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #139 NaiveUser, Aug 19, 2011
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  20. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #140 NaiveUser, Aug 19, 2011
    Last edited by a moderator: Apr 20, 2017
    part 3, wrl types, some names may not be properly undecorated, due to bugs in the pdb dump tool. o_O

    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)
    };
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...