# I

# IJsonSerializable

Offset Type Name
0 (8) IJsonSerializable_vtbl * __vftable

# in6_addr

Offset Type Name
0 (16) in6_addr::<unnamed_type_u> u

# in6_addr::<unnamed_type_u>

Offset Type Name
0 (16) unsigned __int8[16] Byte
1 (16) unsigned __int16[8] Word

# in_addr

Offset Type Name
0 (4) in_addr::<unnamed_type_S_un> S_un

# in_addr::<unnamed_type_S_un>

Offset Type Name
0 (4) in_addr::<unnamed_type_S_un>::<unnamed_type_S_un_b> S_un_b
1 (4) in_addr::<unnamed_type_S_un>::<unnamed_type_S_un_w> S_un_w
2 (4) unsigned int S_addr

# in_addr::<unnamed_type_S_un>::<unnamed_type_S_un_b>

Offset Type Name
0 (1) unsigned __int8 s_b1
1 (1) unsigned __int8 s_b2
2 (1) unsigned __int8 s_b3
3 (1) unsigned __int8 s_b4

# in_addr::<unnamed_type_S_un>::<unnamed_type_S_un_w>

Offset Type Name
0 (2) unsigned __int16 s_w1
2 (2) unsigned __int16 s_w2

# InstructionalContentCollection::refresh::__l12::<lambda_ddd06533d82909e9ae760a5097914e2f>

Offset Type Name
0 (8) InstructionalContentCollection *const __this

# IStoreCatalogItem

Offset Type Name
0 (8) IStoreCatalogItem_vtbl * __vftable

# InitOnce

Offset Type Name
0 (1) bool mInitialized
8 (64) std::function<void __cdecl(void)> mInitFunction

# ItemDescriptor

Offset Type Name
0 (8) WeakPtr<Item> mItem
8 (16) std::shared_ptr<ExpressionNode> mTags
24 (8) const Block * mBlock
32 (2) __int16 mAuxValue
34 (1) bool mValid
35 (1) bool mIsDeferred
40 (32) std::string mFullName
72 (2) __int16 mMaxDurability
74 (2) __int16 mMinDurability

# IPacketHandlerDispatcher

Offset Type Name
0 (8) IPacketHandlerDispatcher_vtbl * __vftable

# ImageInfo_t

Offset Type Name
0 (1025) char[1025] FileName
1026 (6) ImageInfo_t::<unnamed_type_JfifHeader> JfifHeader
1032 (32) char[32] CameraMake
1064 (40) char[40] CameraModel
1104 (20) char[20] DateTime
1124 (4) unsigned int Height
1128 (4) unsigned int Width
1132 (4) int Orientation
1136 (4) int IsColor
1140 (4) int Process
1144 (4) int FlashUsed
1148 (4) float FocalLength
1152 (4) float ExposureTime
1156 (4) float ApertureFNumber
1160 (4) float Distance
1164 (4) float CCDWidth
1168 (4) float ExposureBias
1172 (4) float DigitalZoomRatio
1176 (4) int FocalLength35mmEquiv
1180 (4) int Whitebalance
1184 (4) int MeteringMode
1188 (4) int ExposureProgram
1192 (4) int ExposureMode
1196 (4) int ISOequivalent
1200 (4) int LightSource
1204 (4) int DistanceRange
1208 (4) float xResolution
1212 (4) float yResolution
1216 (4) int ResolutionUnit
1220 (16000) char[16000] Comments
17220 (4) int CommentWidthchars
17224 (4) unsigned int ThumbnailOffset
17228 (4) unsigned int ThumbnailSize
17232 (4) unsigned int LargestExifOffset
17236 (1) char ThumbnailAtEnd
17240 (4) int ThumbnailSizeOffset
17244 (40) int[10] DateTimeOffsets
17284 (4) int numDateTimeTags
17288 (4) int GpsInfoPresent
17292 (31) char[31] GpsLat
17323 (31) char[31] GpsLong
17354 (20) char[20] GpsAlt
17376 (4) int QualityGuess

# ImageInfo_t::<unnamed_type_JfifHeader>

Offset Type Name
0 (1) char Present
1 (1) char ResolutionUnits
2 (2) __int16 XDensity
4 (2) __int16 YDensity

# inflate_huft_s

Offset Type Name
0 (4) union {struct {unsigned __int8 Exop;unsigned __int8 Bits;} what;unsigned int pad;} word
4 (4) unsigned int base

# ImGuiResizeGripDef

Offset Type Name
0 (8) ImVec2 CornerPos
8 (8) ImVec2 InnerDir
16 (4) int AngleMin12
20 (4) int AngleMax12

# ImVec2

Offset Type Name
0 (4) float x
4 (4) float y

# ImGuiStyleVarInfo

Offset Type Name
0 (4) int Type
4 (4) unsigned int Count
8 (4) unsigned int Offset

# ImGuiDataTypeInfo

Offset Type Name
0 (8) unsigned __int64 Size
8 (8) const char * PrintFmt
16 (8) const char * ScanFmt

# ItemStateVariant<enum NewLeafType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemState

Offset Type Name
0 (8) ItemState_vtbl * __vftable
8 (8) const unsigned __int64 mID
16 (8) const unsigned __int64 mVariationCount
24 (48) const HashedString mName
72 (24) ItemState::StateListNode mNode

# ItemState::StateListNode

Offset Type Name
0 (8) ItemState::StateListNode * mNext
8 (8) ItemState::StateListNode * mPrev
16 (8) ItemState * mState

# ItemStateVariant<bool>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<int>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum AttachmentType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum SeaGrassType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum MonsterEggStoneType>

Offset Type Name
0 (96) ItemState baseclass_0

# IntOption

Offset Type Name
0 (488) Option baseclass_0
488 (4) const int VALUE_MAX
492 (4) const int VALUE_MIN
496 (4) int mValue
500 (4) int mDefaultValue
504 (1) bool mClampToRange
512 (24) std::vector<int> mPossibleValues
536 (64) std::function<int __cdecl(int)> mCoerceSaveValueCallback

# ItemStateVariant<enum BlockColor>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum LeverDirection>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum WoodType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum OldLeafType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum PillarAxis>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum StoneBrickType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum AnvilDamage>

Offset Type Name
0 (96) ItemState baseclass_0

# Item::Tier

Offset Type Name
0 (4) const int mLevel
4 (4) const int mUses
8 (4) const float mSpeed
12 (4) const int mDamage
16 (4) const int mEnchantmentValue

# IGameControllerManager

Offset Type Name
0 (8) IGameControllerManager_vtbl * __vftable

# ItemDescriptorCount

Offset Type Name
0 (80) ItemDescriptor baseclass_0
80 (2) unsigned __int16 mStackSize

# ItemStateVariant<enum TorchFacing>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum StructureVoidType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum StoneType>

Offset Type Name
0 (96) ItemState baseclass_0

# IsotropicFaceData

Offset Type Name
0 (4) unsigned int mFaceTextureIsotropic
4 (4) unsigned int mIsotropicFaceEnabled

# ItemStack

Offset Type Name
0 (240) ItemStackBase baseclass_0
240 (8) ItemStackNetIdVariant mNetIdVariant

# ItemStackBase

Offset Type Name
0 (8) ItemStackBase_vtbl * __vftable
8 (8) WeakPtr<Item> mItem
16 (8) std::unique_ptr<CompoundTag> mUserData
24 (8) const Block * mBlock
32 (2) __int16 mAuxValue
40 (80) param_encode::EByte mCount
120 (1) bool mValid
128 (8) std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mPickupTime
136 (1) bool mShowPickUp
137 (1) bool mWasPickedUp
138 (1) bool mCanUseOn
144 (16) ? mAttachMicroModel
160 (24) std::vector<BlockLegacy const *> mCanPlaceOn
184 (8) unsigned __int64 mCanPlaceOnHash
192 (24) std::vector<BlockLegacy const *> mCanDestroy
216 (8) unsigned __int64 mCanDestroyHash
224 (8) Tick mBlockingTick
232 (8) std::unique_ptr<ItemInstance> mChargedItem

# ItemStackNetIdVariant

Offset Type Name
0 (8) std::variant<TypedServerNetId<ItemStackNetIdTag,int,0>,TypedClientNetId<ItemStackRequestIdTag,int,0>,TypedClientNetId<ItemStackLegacyRequestIdTag,int,0> > mVariant

# ItemStateVariant<enum SandType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum EggCount>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum WallConnectionType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum NewLogType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum StoneSlabType2>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum StoneSlabType3>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum StoneSlabType4>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum StoneSlabType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum SandStoneType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum CauldronLiquidType>

Offset Type Name
0 (96) ItemState baseclass_0

# InternalTaskGroup

Offset Type Name
0 (8) ITaskGroup baseclass_0

# ITaskGroup

Offset Type Name
0 (8) ITaskGroup_vtbl * __vftable

# ItemStateVariant<enum SaplingType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum PrismarineBlockType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum OldLogType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemInstance

Offset Type Name
0 (240) ItemStackBase baseclass_0

# ItemStateVariant<enum SpongeType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum LeafSize>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum CoralColor>

Offset Type Name
0 (96) ItemState baseclass_0

# IdentityDefinition

Offset Type Name
0 (16) ScoreboardId mScoreboardId
16 (1) bool mIsHiddenFakePlayer
24 (8) PlayerScoreboardId mPlayerId
32 (8) ActorUniqueID mEntityId
40 (32) std::string mPlayerName
72 (1) _BYTE[1] mIdentityType

# IntRange

Offset Type Name
0 (4) int rangeMin
4 (4) int rangeMax

# ItemStateVariant<enum DoublePlantType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum HatchLevel>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum FlowerType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum TallGrassType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum StalkThickness>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum DirtType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum StructureBlockType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum ChemistryTableType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum ChiselType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum WallBlockType>

Offset Type Name
0 (96) ItemState baseclass_0

# ItemStateVariant<enum PortalAxis>

Offset Type Name
0 (96) ItemState baseclass_0

# IPtoStateMap

Offset Type Name
0 (4) `` pc
4 (4) `` state

# ItemUseInventoryTransaction

Offset Type Name
0 (104) ComplexInventoryTransaction baseclass_0
104 (4) ItemUseInventoryTransaction::ActionType mActionType
108 (12) NetworkBlockPosition mPos
120 (4) unsigned int mTargetBlockId
124 (1) unsigned __int8 mFace
128 (4) int mSlot
136 (248) ItemStack mItem
384 (12) Vec3 mFromPos
396 (12) Vec3 mClickPos

# InventoryTransaction

Offset Type Name
0 (64) std::unordered_map<InventorySource,std::vector<InventoryAction>> mActions
64 (24) std::vector<InventoryTransactionItemGroup> mContents

# ITextObject

Offset Type Name
0 (8) ITextObject_vtbl * __vftable

# ImportLevelData

Offset Type Name
0 (32) Core::PathBuffer<std::string > mLevelPath
32 (1) bool mLoadLevel
33 (1) bool mFromTempFile
34 (1) bool mSuppressStartMessage

# IResourceLocationExpander

Offset Type Name
0 (8) IResourceLocationExpander_vtbl * __vftable

# InputComponent::ScreenButtonMapping

Offset Type Name
0 (4) unsigned int fromButtonId
4 (4) unsigned int toButtonId
8 (4) ButtonMappingType type
12 (1) ScreenEventScope scope
13 (1) ButtonState lastButtonState
14 (1) bool buttonUpRightOfFirstRefusal
15 (1) bool handleSelection
16 (1) bool handleDeselection
17 (1) bool alternateInputScope
18 (1) bool consumeEvent
20 (4) _BYTE[4] inputModeCondition

# InputModeChangeScreenEventData

Offset Type Name
0 (4) InputMode mode

# InputComponent::PressStats

Offset Type Name
0 (4) int pressCount
8 (8) std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > lastPressTime
16 (8) glm::tvec2<float,0> position

# IntRectangle

Offset Type Name
0 (4) int x
4 (4) int y
8 (4) int w
12 (4) int h

# ImageInfo

Offset Type Name
0 (8) glm::tvec2<float,0> mPosition
8 (8) glm::tvec2<float,0> mSize
16 (8) glm::tvec2<float,0> mUV
24 (8) glm::tvec2<float,0> mUVSize

# IDlcBatcher

Offset Type Name
0 (8) IDlcBatcher_vtbl * __vftable

# ItemGroup

Offset Type Name
0 (240) ItemInstance mItemTemplate
240 (4) int mCount

# IScreenController

Offset Type Name
0 (8) IScreenController_vtbl * __vftable

# InviteScreenController::LinkedUserEntryData

Offset Type Name
0 (8) const Social::XboxLiveUserProfileData * mXboxUserProfileData
8 (152) Social::PlatformUserProfileData mPlatformUserProfileData
160 (1) bool mToggleState

# IEntityComponent

Offset Type Name

# IScreenCapabilities

Offset Type Name
0 (8) IScreenCapabilities_vtbl * __vftable

# IDlcBatchModel

Offset Type Name
0 (8) IDlcBatchModel_vtbl * __vftable

# ItemListInfo

Offset Type Name
0 (32) std::string mTitle
32 (64) std::function<bool __cdecl(StoreCatalogItem const &)> mFilterFunction
96 (1) bool mAllowSeeMoreBy
100 (4) int mMaxOffersVisible
104 (1) bool mIsClientSideInventorySearchEnabled
108 (4) StoreCatalogCategory mCatalogCategory
112 (1) bool mShowSalesCollection
113 (1) bool mHideNonSaleList
114 (1) bool mIsSearchScreen

# InputRenderContext

Offset Type Name
0 (8) InputRenderContext_vtbl * __vftable

# InventoryAction

Offset Type Name
0 (12) InventorySource mSource
12 (4) unsigned int mSlot
16 (248) ItemStack mFromItem
264 (248) ItemStack mToItem

# InventorySource

Offset Type Name
0 (4) InventorySourceType mType
4 (1) ContainerID mContainerId
8 (4) InventorySource::InventorySourceFlags mFlags

# IDataInput

Offset Type Name
0 (8) IDataInput_vtbl * __vftable

# InventoryTransactionPacket

Offset Type Name
0 (40) Packet baseclass_0
40 (4) TypedClientNetId<ItemStackLegacyRequestIdTag,int,0> mLegacyRequestId
48 (24) std::vector<std::pair<enum ContainerEnumName,std::vector<unsigned char> >> mLegacySetItemSlots
72 (8) std::unique_ptr<ComplexInventoryTransaction> mTransaction
80 (1) bool mIsClientSide

# Item

Offset Type Name
0 (8) Item_vtbl * __vftable
8 (32) std::string m_textureAtlasFile
40 (4) int m_frameCount
44 (1) bool m_animatesInToolbar
45 (1) bool mIsMirroredArt
46 (1) UseAnimation mUseAnim
48 (8) const std::string * mHoverTextColorFormat
56 (8) const TextureUVCoordinateSet * mIconTexture
64 (4) int mIconFrame
68 (4) int mIconTotalFrames
72 (32) std::string mIconName
104 (8) const TextureAtlasItem * mIconAtlas
112 (1) bool mUsesRenderingAdjustment
116 (12) Vec3 mRenderingAdjTrans
128 (12) Vec3 mRenderingAdjRot
140 (4) float mRenderingAdjScale
144 (8) std::unique_ptr<EggComponent> mEggComponent
152 (1) unsigned __int8 m_maxStackSize
154 (2) __int16 mId
160 (32) std::string mDescriptionId
192 (48) HashedString mRawNameId
240 (32) std::string mNamespace
272 (32) std::string mRenderOffset
304 (48) HashedString mFullName
352 (2) __int16 mMaxDamage
354 (2) __int16 _bf_162
356 (4) int mMaxUseDuration
360 (112) BaseGameVersion mMinRequiredBaseGameVersion
472 (8) WeakPtr<BlockLegacy> mLegacyBlock
480 (4) CreativeItemCategory mCreativeCategory
488 (8) Item * mCraftingRemainingItem
496 (32) std::string mCreativeGroup
528 (4) float mFurnaceBurnIntervalModifier
532 (4) float mFurnaceXPmultiplier
536 (4) ItemCreativeRegistrationMode mCreativeRegistrationMode
540 (1) bool mShowInHand
544 (32) std::string mItemType
576 (8) std::unique_ptr<FoodItemComponentLegacy> mFoodComponentLegacy
584 (8) std::unique_ptr<SeedItemComponentLegacy> mSeedComponent
592 (8) std::unique_ptr<CameraItemComponentLegacy> mCameraComponentLegacy
600 (8) std::unique_ptr<ItemModelComponent> mItemModelComponent
608 (64) std::unordered_map<int,std::string> mFrameIconPaths
672 (2) unsigned __int16 mFrameIconTickFrequence
680 (8) FlipbookTexture * mFrameBindFlipBook
688 (24) std::vector<std::function<void __cdecl(void)>> mOnResetBAIcallbacks
712 (24) std::vector<HashedString> mTags

# ItemGraphics

Offset Type Name
0 (8) DataDrivenRenderer * mDataDrivenRenderer
8 (72) mce::TexturePtr mAtlasTexture

# ItemInHandRenderer::FrameId

Offset Type Name
0 (4) unsigned int itemInstanceId
4 (4) unsigned int chargedItemInstanceId
8 (1) unsigned __int8 entityId
9 (1) unsigned __int8 animationId

# ItemRenderCall

Offset Type Name
0 (4) int mItemId
8 (432) mce::Mesh mChunk
440 (4) float mScale
448 (72) mce::TexturePtr mTexture
520 (1) bool mIsFlat
521 (1) bool mNeedsColor
522 (1) bool mNeedsAlphaTest
523 (1) bool mNeedsBlending
524 (1) bool mEmissive
528 (4) unsigned int mLastFrameItemUpdateTime

# ImageBufferResourceManager

Offset Type Name
0 (16) cg::ResourceManager<std::shared_ptr<cg::ImageBuffer>,ResourceLocation,SharedImageBufferTracker,std::shared_ptr<cg::ImageBuffer>,std::map> baseclass_0

# IdentifierResult

Offset Type Name
0 (1) bool mValid
8 (32) std::string mIdentifier
40 (32) std::string mNamespace

# InstalledPackDetails

Offset Type Name
0 (136) PackIdVersion mPackIdVersion
136 (4) PackAccessStrategyType mAccessStrategyType

# InsideBlockEventMap

Offset Type Name
0 (320) DefinitionTrigger mOnEnteredBlock
320 (320) DefinitionTrigger mOnExitedBlock
640 (8) gsl::not_null<Block const *> mBlock
648 (1) bool mWatchEnter
649 (1) bool mWatchExit
650 (1) bool mCurrentlyInside
651 (1) bool mWasInside
652 (1) bool mIgnoreStates

# InstantDespawnSystem::tick::__l2::<lambda_37d2f5ae49873a2bea62aea3559c4579>

Offset Type Name
0 (8) InstantDespawnSystem *const __this

# ItemEnchants

Offset Type Name
0 (4) int mSlot
8 (72) std::vector<EnchantmentInstance>[3] mItemEnchants

# IDataOutput

Offset Type Name
0 (8) IDataOutput_vtbl * __vftable

# ItemStackRequestSlotInfo

Offset Type Name
0 (1) ContainerEnumName mOpenContainerNetId
1 (1) unsigned __int8 mSlot
4 (8) ItemStackNetIdVariant mNetIdVariant

# ItemStackRequestHandlerSlotInfo

Offset Type Name
0 (1) const ContainerEnumName mOpenContainerNetId
1 (1) const unsigned __int8 mRequestSlot
2 (1) const unsigned __int8 mSlot
8 (8) const ItemStack * mOldItem
16 (4) const TypedServerNetId<ItemStackNetIdTag,int,0> mOldServerNetId
24 (8) SparseContainer * mSparseContainer

# ItemRegistry::ItemNameAuxAlias

Offset Type Name
0 (48) HashedString name
48 (4) int aux

# ItemDefinition

Offset Type Name
0 (4) int itemId
4 (4) int auxValue

# I18n::loadLanguages::__l2::<lambda_abe00045961746f1142d5d1f076a1207>

Offset Type Name
0 (16) std::shared_ptr<std::unique_ptr<Localization> > fallbackLanguage
16 (32) const std::string currentLanguageCode
48 (32) const std::string initLang
80 (8) ResourcePackManager * resourcePackManager

# IntTag

Offset Type Name
0 (8) Tag baseclass_0
8 (4) int data

# Int64Tag

Offset Type Name
0 (8) Tag baseclass_0
8 (8) __int64 data

# IntArrayTag

Offset Type Name
0 (8) Tag baseclass_0
8 (24) TagMemoryChunk data

# ItemPack

Offset Type Name
0 (64) std::unordered_map<ItemDescriptor,int,ItemPack::KeyHasher,std::equal_to<ItemDescriptor>,std::allocator<std::pair<ItemDescriptor const ,int> > > mIngredients

# ItemStackResponseSlotInfo

Offset Type Name
0 (1) unsigned __int8 mRequestedSlot
1 (1) unsigned __int8 mSlot
2 (1) unsigned __int8 mAmount
4 (4) TypedServerNetId<ItemStackNetIdTag,int,0> mItemStackNetId
8 (32) std::string mCustomName
40 (2) __int16 mDurabilityCorrection

# ItemStackResponseContainerInfo

Offset Type Name
0 (1) ContainerEnumName mOpenContainerNetId
8 (24) std::vector<ItemStackResponseSlotInfo> mSlots

# ItemStackResponseInfo

Offset Type Name
0 (1) _BYTE[1] mResult
4 (4) TypedClientNetId<ItemStackRequestIdTag,int,0> mClientRequestId
8 (24) std::vector<ItemStackResponseContainerInfo> mContainers

# ItemEnchantOption

Offset Type Name
0 (4) int mCost
8 (80) ItemEnchants mEnchants
88 (32) std::string mEnchantName
120 (4) TypedServerNetId<RecipeNetIdTag,unsigned int,0> mEnchantNetId

# ItemData

Offset Type Name
0 (48) HashedString mName
48 (2) __int16 mId
50 (1) bool mIsComponentBased

# InventoryContentPacket

Offset Type Name
0 (40) Packet baseclass_0
40 (1) ContainerID mInventoryId
48 (24) std::vector<ItemStack> mSlots

# InvertableFilter<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >

Offset Type Name
0 (32) std::string value
32 (1) bool inverted

# IDType<BiomeTagIDType>

Offset Type Name
0 (16) std::optional<unsigned __int64> mID

# InteractDefinition

Offset Type Name
0 (24) std::vector<Interaction> mInteractions

# IdentifierDescription

Offset Type Name
0 (8) DefintionDescription baseclass_0
8 (32) std::string mId

# IsSpawnableDescription

Offset Type Name
0 (8) DefintionDescription baseclass_0
8 (1) bool mIsSpawnable

# IsSummonableDescription

Offset Type Name
0 (8) DefintionDescription baseclass_0
8 (1) bool mIsSummonable

# IDType<LevelTagSetIDType>

Offset Type Name
0 (16) std::optional<unsigned __int64> mID

# ItemTransferAmount

Offset Type Name
0 (4) const ItemTransferAmount::ItemTransferAmountTag mTag
4 (4) ItemTransferAmount::<unnamed_type_mData> mData
8 (1) const bool mFromMax

# ItemTransferAmount::<unnamed_type_mData>

Offset Type Name
0 (4) int requestAmount
1 (4) ItemTakeType takeType
2 (4) ItemPlaceType placeType

# ItemStackRequestScope

Offset Type Name
0 (8) ItemStackNetManagerClient * mItemStackNetManagerClient
8 (1) bool mBeganRequest

# ItemTransferRequest::Entry

Offset Type Name
0 (40) SlotData mSlot
40 (4) int mAmount
44 (4) int mGroup

# ItemTransferRequest

Offset Type Name
0 (24) std::vector<ItemTransferRequest::Entry> mInputs
24 (24) std::vector<ItemTransferRequest::Entry> mOutputs

# InstantaneousAttributeBuff

Offset Type Name
0 (88) AttributeBuff baseclass_0

# ItemStackNetManagerClient::OpenSessionContainerData

Offset Type Name
0 (32) ContainerWeakRef mContainerWeakRef
32 (8) ItemStackNetManagerClient::PredictiveContainer * mContainer

# ItemStackNetManagerServer::_filterStrings::__l5::<lambda_9080a9d62b25eaa509aea3c18be8aedf>

Offset Type Name
0 (8) ItemStackNetManagerServer *const __this
8 (4) TypedClientNetId<ItemStackRequestIdTag,int,0> requestId

# ItemStackRequestActionHandler::RequestSlotIdAssignment

Offset Type Name
0 (1) unsigned __int8 mSlot
4 (4) TypedServerNetId<ItemStackNetIdTag,int,0> mServerNetId

# ItemStackRequestActionHandler::ScreenData

Offset Type Name
0 (8) std::unique_ptr<ItemStackRequestActionCraftHandler> mCraftRequestHandler
8 (8) std::unique_ptr<ScreenHandlerBase> mScreenHandler
16 (64) std::unordered_map<enum ContainerEnumName,ContainerWeakRef> mAllowedContainers
80 (64) std::unordered_map<TypedRuntimeId<ContainerRuntimeIdTag,unsigned int,0>,std::unique_ptr<SparseContainer>,std::hash<TypedRuntimeId<ContainerRuntimeIdTag,unsigned int,0> >,std::equal_to<TypedRuntimeId<ContainerRuntimeIdTag,unsigned int,0> >,std::allocator<std::pair<TypedRuntimeId<ContainerRuntimeIdTag,unsigned int,0> const ,std::unique_ptr<SparseContainer> > > > mRuntimeIdSparseContainerMap
144 (64) std::unordered_map<enum ContainerEnumName,SparseContainer *> mOpenContainerIdSparseContainerMap
208 (64) std::unordered_map<TypedClientNetId<ItemStackRequestIdTag,int,0>,ItemStackRequestActionHandler::RequestIdAssignments,std::hash<TypedClientNetId<ItemStackRequestIdTag,int,0> >,std::equal_to<TypedClientNetId<ItemStackRequestIdTag,int,0> >,std::allocator<std::pair<TypedClientNetId<ItemStackRequestIdTag,int,0> const ,ItemStackRequestActionHandler::RequestIdAssignments> > > mRecentRequests

# ItemStackNetManagerClient::ClientScreenData

Offset Type Name
0 (64) std::unordered_map<enum ContainerEnumName,std::unordered_set<unsigned char>> mLegacyTransactionSetItemSlots
64 (64) std::unordered_map<TypedClientNetId<ItemStackRequestIdTag,int,0>,std::vector<ItemStackNetManagerClient::PredictiveContainer *>,std::hash<TypedClientNetId<ItemStackRequestIdTag,int,0> >,std::equal_to<TypedClientNetId<ItemStackRequestIdTag,int,0> >,std::allocator<std::pair<TypedClientNetId<ItemStackRequestIdTag,int,0> const ,std::vector<ItemStackNetManagerClient::PredictiveContainer *> > > > mRequestContainers
128 (24) std::vector<std::unique_ptr<ClientScratchContainer>> mClientScratchContainers
152 (24) std::vector<std::unique_ptr<ItemStackNetManagerClient::PredictiveContainer>> mPlayerOwnedPredictiveContainers
176 (24) std::vector<ItemStackNetManagerClient::PredictiveContainer> mOpenSessionPredictiveContainers
200 (64) std::unordered_map<enum ContainerEnumName,ItemStackNetManagerClient::OpenSessionContainerData> mOpenSessionContainerMap
264 (64) std::unordered_map<enum ContainerEnumName,ItemStackNetManagerClient::OpenSessionContainerData> mHudContainerMap

# InventoryTransactionItemGroup

Offset Type Name
0 (4) int mItemId
4 (4) int mItemAux
8 (8) std::unique_ptr<CompoundTag> mTag
16 (4) int mCount
20 (1) bool mOverflow

# ItemStack::useOn::__l16::<lambda_6a3c3d4fb57887618af65296ee1fb1f2>

Offset Type Name
0 (8) Actor * entity
8 (8) int * x
16 (8) int * y
24 (8) int * z
32 (8) unsigned __int8 * face
40 (8) float * clickX
48 (8) float * clickY
56 (8) float * clickZ
64 (8) ItemStack *const __this

# ItemStack::useOn::__l21::<lambda_5d28655329f938e0f82be3c45b1d0a60>

Offset Type Name
0 (8) Actor * entity
8 (8) int * x
16 (8) int * y
24 (8) int * z
32 (8) unsigned __int8 * face
40 (8) float * clickX
48 (8) float * clickY
56 (8) float * clickZ
64 (8) ItemStack *const __this

# IdPair

Offset Type Name
0 (2) __int16 id
2 (2) __int16 aux

# IDType<BiomeTagSetIDType>

Offset Type Name
0 (16) std::optional<unsigned __int64> mID

# IBlockWorldGenAPI

Offset Type Name
0 (8) IBlockWorldGenAPI_vtbl * __vftable

# IFeature

Offset Type Name
0 (8) IFeature_vtbl * __vftable

# InheritanceTree<BiomeRegistry::BiomeParent>

Offset Type Name
0 (64) std::unordered_map<std::string,InheritanceTree<BiomeRegistry::BiomeParent>::InheritanceTreeNode,std::hash<std::string >,std::equal_to<std::string >,std::allocator<std::pair<std::string const ,InheritanceTree<BiomeRegistry::BiomeParent>::InheritanceTreeNode> > > mNodes
64 (80) std::recursive_mutex mNodeLock

# InterpolableFrame<Urho3D::Color>

Offset Type Name
0 (8) InterpolableFrame<Urho3D::Color>_vtbl * __vftable
8 (16) Urho3D::Color data_
24 (4) float time_

# InterpolableFrame<Urho3D::Vector3>

Offset Type Name
0 (8) InterpolableFrame<Urho3D::Vector3>_vtbl * __vftable
8 (12) Urho3D::Vector3 data_
20 (4) float time_

# InterpolableFrame<float>

Offset Type Name
0 (8) InterpolableFrame<float>_vtbl * __vftable
8 (4) float data_
12 (4) float time_

# ITreeFeature::_buildSchema::__l2::<lambda_b3e451b66acf3c67623d6e418c105026>

Offset Type Name

# ITreeFeature::_buildSchema::__l2::<lambda_f7da1aa707a8fc7d050610011f7047ed>

Offset Type Name

# ITreeFeature::_buildSchema::__l2::<lambda_7ea8a8392f84ab44c08707303a7bea89>

Offset Type Name

# IndexSet

Offset Type Name
0 (24) std::vector<unsigned __int64> mPacked
24 (24) std::vector<unsigned __int64> mSparse

# ICameraItemComponent

Offset Type Name
0 (8) ICameraItemComponent_vtbl * __vftable

# IDxcBlob

Offset Type Name
0 (8) IUnknown baseclass_0

# IUnknown

Offset Type Name
0 (8) IUnknown_vtbl * __vftable

# InputEvent

Offset Type Name
0 (1) InputEventType type
1 (1) FocusImpact focusImpact
4 (16) InputEventData data
20 (4) int controllerId
24 (1) bool inputClearingEvent
28 (4) int touchId

# InputEventData

Offset Type Name
0 (12) ButtonEventData button
1 (12) PointerLocationEventData pointerLocation
2 (6) TextCharEventData textChar
3 (4) CaretLocationData caretLocation
4 (12) DirectionEventData direction
5 (8) TurnEventData turn
6 (16) VectorEventData vector
7 (8) RawInputEventData rawInput
8 (1) ConnectionStateData newConnectionState
9 (1) AddClientData addClient
10 (1) ChangeUserData changeUser

# InputHandler::InputHandlerState

Offset Type Name
0 (4) InputMode mCurrentInputMode
4 (4) InputBindingMode mCurrentBindingMode
8 (24) std::vector<std::string> mInputMappingStack
32 (16) std::set<std::pair<int,unsigned int>> mButtonsDown
48 (1) bool mSuspendInput
49 (1) bool mDisableInput

# InputEventQueue

Offset Type Name
0 (40) std::queue<InputEvent> mQueue

# IUP_WorkerRec_

Offset Type Name
0 (8) FT_Vector_ * orgs
8 (8) FT_Vector_ * curs
16 (8) FT_Vector_ * orus
24 (4) unsigned int max_points

# InternalFormatSpec

Offset Type Name
0 (1) char fill_char
1 (1) char align
4 (4) int alternate
8 (1) char sign
16 (8) __int64 width
24 (4) int thousands_separators
32 (8) __int64 precision
40 (1) char type

# IActorMovementProxy

struct __cppobj IActorMovementProxy
{
  IActorMovementProxy_vtbl *__vftable /*VFT*/;
};

# IDataOutput_vtbl

struct /*VFT*/ IDataOutput_vtbl
{
  void (__fastcall *~IDataOutput)(IDataOutput *this);
  void (__fastcall *writeString)(IDataOutput *this, gsl::basic_string_span<char const ,-1>);
  void (__fastcall *writeLongString)(IDataOutput *this, gsl::basic_string_span<char const ,-1>);
  void (__fastcall *writeFloat)(IDataOutput *this, float);
  void (__fastcall *writeDouble)(IDataOutput *this, long double);
  void (__fastcall *writeByte)(IDataOutput *this, char);
  void (__fastcall *writeShort)(IDataOutput *this, __int16);
  void (__fastcall *writeInt)(IDataOutput *this, int);
  void (__fastcall *writeLongLong)(IDataOutput *this, __int64);
  void (__fastcall *writeBytes)(IDataOutput *this, const void *, unsigned __int64);
  bool (__fastcall *isOk)(IDataOutput *this);
};

# IDataInput_vtbl

struct /*VFT*/ IDataInput_vtbl
{
  void (__fastcall *~IDataInput)(IDataInput *this);
  std::string *(__fastcall *readString)(IDataInput *this, std::string *result);
  std::string *(__fastcall *readLongString)(IDataInput *this, std::string *result);
  float (__fastcall *readFloat)(IDataInput *this);
  long double (__fastcall *readDouble)(IDataInput *this);
  char (__fastcall *readByte)(IDataInput *this);
  __int16 (__fastcall *readShort)(IDataInput *this);
  int (__fastcall *readInt)(IDataInput *this);
  __int64 (__fastcall *readLongLong)(IDataInput *this);
  bool (__fastcall *readBytes)(IDataInput *this, void *, unsigned __int64);
  unsigned __int64 (__fastcall *numBytesLeft)(IDataInput *this);
  bool (__fastcall *isOk)(IDataInput *this);
  bool (__fastcall *seek)(IDataInput *this, unsigned __int64);
};

# IntTag_vtbl

struct /*VFT*/ IntTag_vtbl
{
  void (__fastcall *~Tag)(Tag *this);
  void (__fastcall *deleteChildren)(Tag *this);
  void (__fastcall *write)(Tag *this, IDataOutput *);
  void (__fastcall *load)(Tag *this, IDataInput *);
  void (__fastcall *writeScriptData)(Tag *this, IDataOutput *);
  void (__fastcall *loadScriptData)(Tag *this, IDataInput *);
  std::string *(__fastcall *toString)(Tag *this, std::string *result);
  Tag::Type (__fastcall *getId)(Tag *this);
  bool (__fastcall *equals)(Tag *this, const Tag *);
  void (__fastcall *print)(Tag *this, const std::string *, PrintStream *);
  void (__fastcall *print)(Tag *this, PrintStream *);
  std::unique_ptr<Tag> *(__fastcall *copy)(Tag *this, std::unique_ptr<Tag> *result);
  unsigned __int64 (__fastcall *hash)(Tag *this);
};

# Int64Tag_vtbl

struct /*VFT*/ Int64Tag_vtbl
{
  void (__fastcall *~Tag)(Tag *this);
  void (__fastcall *deleteChildren)(Tag *this);
  void (__fastcall *write)(Tag *this, IDataOutput *);
  void (__fastcall *load)(Tag *this, IDataInput *);
  void (__fastcall *writeScriptData)(Tag *this, IDataOutput *);
  void (__fastcall *loadScriptData)(Tag *this, IDataInput *);
  std::string *(__fastcall *toString)(Tag *this, std::string *result);
  Tag::Type (__fastcall *getId)(Tag *this);
  bool (__fastcall *equals)(Tag *this, const Tag *);
  void (__fastcall *print)(Tag *this, const std::string *, PrintStream *);
  void (__fastcall *print)(Tag *this, PrintStream *);
  std::unique_ptr<Tag> *(__fastcall *copy)(Tag *this, std::unique_ptr<Tag> *result);
  unsigned __int64 (__fastcall *hash)(Tag *this);
};

# IntArrayTag_vtbl

struct /*VFT*/ IntArrayTag_vtbl
{
  void (__fastcall *~Tag)(Tag *this);
  void (__fastcall *deleteChildren)(Tag *this);
  void (__fastcall *write)(Tag *this, IDataOutput *);
  void (__fastcall *load)(Tag *this, IDataInput *);
  void (__fastcall *writeScriptData)(Tag *this, IDataOutput *);
  void (__fastcall *loadScriptData)(Tag *this, IDataInput *);
  std::string *(__fastcall *toString)(Tag *this, std::string *result);
  Tag::Type (__fastcall *getId)(Tag *this);
  bool (__fastcall *equals)(Tag *this, const Tag *);
  void (__fastcall *print)(Tag *this, const std::string *, PrintStream *);
  void (__fastcall *print)(Tag *this, PrintStream *);
  std::unique_ptr<Tag> *(__fastcall *copy)(Tag *this, std::unique_ptr<Tag> *result);
  unsigned __int64 (__fastcall *hash)(Tag *this);
};

# IClientInstance

struct __cppobj __declspec(align(8)) IClientInstance
{
  IClientInstance_vtbl *__vftable /*VFT*/;
  int mSendLoadFinished;
};

# ITaskExecutionContext

const struct __cppobj ITaskExecutionContext
{
  ITaskExecutionContext_vtbl *__vftable /*VFT*/;
};

# ITaskExecutionContext_vtbl

struct /*VFT*/ ITaskExecutionContext_vtbl
{
  void (__fastcall *~ITaskExecutionContext)(ITaskExecutionContext *this);
  bool (__fastcall *isAsync)(ITaskExecutionContext *this);
  bool (__fastcall *canTaskRunAgain)(ITaskExecutionContext *this);
};

# ITaskGroup_vtbl

struct /*VFT*/ ITaskGroup_vtbl
{
  void (__fastcall *~ITaskGroup)(ITaskGroup *this);
  void (__fastcall *taskRegister)(ITaskGroup *this, std::shared_ptr<BackgroundTaskBase>);
  void (__fastcall *requeueTask)(ITaskGroup *this, std::shared_ptr<BackgroundTaskBase>, bool);
  TaskGroupState (__fastcall *getState)(ITaskGroup *this);
  void (__fastcall *processCoroutines)(ITaskGroup *this);
  void (__fastcall *taskComplete)(ITaskGroup *this, gsl::not_null<BackgroundTaskBase *>);
};

# ItemComponentPacket

const struct __cppobj ItemComponentPacket : Packet
{
  std::vector<std::pair<std::string,CompoundTag>> mItems;
};

# ItemComponentPacket_vtbl

struct /*VFT*/ ItemComponentPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# InventoryTransactionPacket_vtbl

struct /*VFT*/ InventoryTransactionPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# ItemUseInventoryTransaction_vtbl

struct /*VFT*/ ItemUseInventoryTransaction_vtbl
{
  void (__fastcall *~ComplexInventoryTransaction)(ComplexInventoryTransaction *this);
  void (__fastcall *read)(ComplexInventoryTransaction *this, ReadOnlyBinaryStream *);
  void (__fastcall *write)(ComplexInventoryTransaction *this, BinaryStream *);
  InventoryTransactionError (__fastcall *handle)(ComplexInventoryTransaction *this, Player *, bool);
  void (__fastcall *onTransactionError)(ComplexInventoryTransaction *this, Player *, InventoryTransactionError);
};

# ItemStackRequestAction

struct __cppobj __declspec(align(8)) ItemStackRequestAction
{
  ItemStackRequestAction_vtbl *__vftable /*VFT*/;
  _BYTE mActionType[1];
};

# ItemStackRequestActionCraftBase

const struct __cppobj ItemStackRequestActionCraftBase : ItemStackRequestAction
{
};

# ItemStackRequestAction_vtbl

struct /*VFT*/ ItemStackRequestAction_vtbl
{
  void (__fastcall *~ItemStackRequestAction)(ItemStackRequestAction *this);
  const ItemStackRequestActionCraftBase *(__fastcall *getCraftAction)(ItemStackRequestAction *this);
  int (__fastcall *getFilteredStringIndex)(ItemStackRequestAction *this);
  void (__fastcall *_write)(ItemStackRequestAction *this, BinaryStream *);
  bool (__fastcall *_read)(ItemStackRequestAction *this, ReadOnlyBinaryStream *);
};

# ItemStackRequestData

struct __cppobj ItemStackRequestData
{
  TypedClientNetId<ItemStackRequestIdTag,int,0> mClientRequestId;
  std::vector<std::string> mStringsToFilter;
  std::vector<std::unique_ptr<ItemStackRequestAction>> mActions;
};

# ItemPack::KeyHasher

struct __cppobj ItemPack::KeyHasher
{
};

# InventorySlotPacket

const struct __cppobj InventorySlotPacket : Packet
{
  ContainerID mInventoryId;
  unsigned int mSlot;
  ItemStack mItem;
};

# InventorySlotPacket_vtbl

struct /*VFT*/ InventorySlotPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# InventoryContentPacket_vtbl

struct /*VFT*/ InventoryContentPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# ItemStackResponsePacket

const struct __cppobj ItemStackResponsePacket : Packet
{
  std::vector<ItemStackResponseInfo> mResponses;
};

# ItemStackResponsePacket_vtbl

struct /*VFT*/ ItemStackResponsePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# ItemStackRequestBatch

struct __cppobj ItemStackRequestBatch
{
  std::vector<std::unique_ptr<ItemStackRequestData>> mRequests;
};

# ItemStackRequestPacket

const struct __cppobj ItemStackRequestPacket : Packet
{
  std::unique_ptr<ItemStackRequestBatch> mRequestBatch;
};

# ItemStackRequestPacket_vtbl

struct /*VFT*/ ItemStackRequestPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# ItemFrameDropItemPacket

const struct __cppobj __declspec(align(8)) ItemFrameDropItemPacket : Packet
{
  NetworkBlockPosition mPos;
};

# ItemFrameDropItemPacket_vtbl

struct /*VFT*/ ItemFrameDropItemPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# InteractPacket

const struct __cppobj __declspec(align(8)) InteractPacket : Packet
{
  _BYTE mAction[1];
  ActorRuntimeID mTargetId;
  Vec3 mPos;
};

# InteractPacket_vtbl

struct /*VFT*/ InteractPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# IPacketHandlerDispatcher_vtbl

struct /*VFT*/ IPacketHandlerDispatcher_vtbl
{
  void (__fastcall *~IPacketHandlerDispatcher)(IPacketHandlerDispatcher *this);
  void (__fastcall *handle)(IPacketHandlerDispatcher *this, const NetworkIdentifier *, NetEventCallback *, std::shared_ptr<Packet> *);
};

# IFilePicker

struct __cppobj IFilePicker
{
  IFilePicker_vtbl *__vftable /*VFT*/;
};

# IFilePicker_vtbl

struct /*VFT*/ IFilePicker_vtbl
{
  void (__fastcall *~IFilePicker)(IFilePicker *this);
  void (__fastcall *initFilePick)(IFilePicker *this, const Core::Path *, std::function<void __cdecl(bool,FileInfo)>);
  unsigned __int64 (__fastcall *readBytes)(IFilePicker *this, const FileInfo *, unsigned __int64, unsigned __int64, std::vector<unsigned char> *);
  bool (__fastcall *writeBytes)(IFilePicker *this, const FileInfo *, unsigned __int64, unsigned __int64, const std::vector<unsigned char> *);
};

# IFileChunkUploader

struct __cppobj IFileChunkUploader
{
  IFileChunkUploader_vtbl *__vftable /*VFT*/;
};

# IFileChunkUploader_vtbl

struct /*VFT*/ IFileChunkUploader_vtbl
{
  void (__fastcall *~IFileChunkUploader)(IFileChunkUploader *this);
  void (__fastcall *update)(IFileChunkUploader *this);
  void (__fastcall *initFileUploader)(IFileChunkUploader *this, const std::string *, const FileInfo *, int, const Json::Value *, std::function<void __cdecl(bool)>);
  void (__fastcall *getServerMissingChunks)(IFileChunkUploader *this, const FileInfo *, std::function<void __cdecl(std::vector<FileChunkInfo>)>);
  void (__fastcall *confirmChunkReceived)(IFileChunkUploader *this, const FileInfo *, const FileChunkInfo *);
  void (__fastcall *uploadChunk)(IFileChunkUploader *this, const FileInfo *, const FileChunkInfo *, const std::vector<unsigned char> *, std::function<void __cdecl(bool)>);
  void (__fastcall *uploadStream)(IFileChunkUploader *this, const FileInfo *, unsigned __int64, const std::string *, std::function<bool __cdecl(unsigned __int64 &,std::vector<unsigned char> &)>, std::function<void __cdecl(enum IFileChunkUploader::UploadStreamResult)>);
  bool (__fastcall *canCancelUpload)(IFileChunkUploader *this, const FileInfo *);
  void (__fastcall *cancelUpload)(IFileChunkUploader *this, const FileInfo *);
  UploadError (__fastcall *getInitErrorCode)(IFileChunkUploader *this);
  float (__fastcall *getUploadProgress)(IFileChunkUploader *this, const FileInfo *);
  FileChunkInfo *(__fastcall *getChunkInfo)(IFileChunkUploader *this, FileChunkInfo *result, const FileInfo *, int);
};

# IPackTelemetry

struct __cppobj IPackTelemetry
{
  IPackTelemetry_vtbl *__vftable /*VFT*/;
};

# IPackTelemetry_vtbl

struct /*VFT*/ IPackTelemetry_vtbl
{
  void (__fastcall *~IPackTelemetry)(IPackTelemetry *this);
  void (__fastcall *fireEventPackUpgradeAttempt)(IPackTelemetry *this, const PackManifest *, const PackReport *);
};

# IContentKeyProvider

const struct __cppobj IContentKeyProvider
{
  IContentKeyProvider_vtbl *__vftable /*VFT*/;
};

# IContentKeyProvider_vtbl

struct /*VFT*/ IContentKeyProvider_vtbl
{
  void (__fastcall *~IContentKeyProvider)(IContentKeyProvider *this);
  std::string *(__fastcall *getContentKey)(IContentKeyProvider *this, std::string *result, const ContentIdentity *);
  std::string *(__fastcall *getAlternateContentKey)(IContentKeyProvider *this, std::string *result, const ContentIdentity *);
  bool (__fastcall *requireEncryptedReads)(IContentKeyProvider *this);
  void (__fastcall *setTempContentKeys)(IContentKeyProvider *this, const std::unordered_map<ContentIdentity,std::string> *);
  void (__fastcall *clearTempContentKeys)(IContentKeyProvider *this);
};

# IScreenChangedEventing

struct __cppobj IScreenChangedEventing
{
  IScreenChangedEventing_vtbl *__vftable /*VFT*/;
};

# IScreenChangedEventing_vtbl

struct /*VFT*/ IScreenChangedEventing_vtbl
{
  void (__fastcall *~IScreenChangedEventing)(IScreenChangedEventing *this);
  void (__fastcall *fireEventScreenChanged)(IScreenChangedEventing *this, const unsigned int *, const std::string *, const std::unordered_map<std::string,std::string> *);
};

# IMinecraftEventing

struct __cppobj IMinecraftEventing : IPackTelemetry, IScreenChangedEventing, IWebviewTelemetry, Bedrock::EnableNonOwnerReferences
{
};

# IWebviewTelemetry

struct __cppobj IWebviewTelemetry : WebviewObserver
{
  const IMinecraftEventing *mEventing;
};

# IWebviewTelemetry_vtbl

struct /*VFT*/ IWebviewTelemetry_vtbl
{
  void (__fastcall *~Observer<WebviewObserver,Core::SingleThreadedLock>)(Core::Observer<WebviewObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *_onSubjectDestroyed)(Core::Observer<WebviewObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *onLoadingBegin)(WebviewObserver *this);
  void (__fastcall *onLoadingEnd)(WebviewObserver *this);
  void (__fastcall *onError)(WebviewObserver *this, const WebviewError *);
  void (__fastcall *onDownloadBegin)(WebviewObserver *this, const WebviewDownloadInfo *);
  void (__fastcall *onDownloadUpdate)(WebviewObserver *this, const WebviewDownloadInfo *);
  void (__fastcall *onDownloadComplete)(WebviewObserver *this, const WebviewDownloadInfo *);
  void (__fastcall *onDownloadCanceled)(WebviewObserver *this, const WebviewDownloadInfo *);
  void (__fastcall *onMessageRecieved)(WebviewObserver *this, const std::string *);
};

# IPackStorage

struct __cppobj IPackStorage
{
  IPackStorage_vtbl *__vftable /*VFT*/;
};

# IPackStorageFallback

const struct __cppobj IPackStorageFallback
{
  IPackStorageFallback_vtbl *__vftable /*VFT*/;
};

# IPackStorageFallback_vtbl

struct /*VFT*/ IPackStorageFallback_vtbl
{
  void (__fastcall *~IPackStorageFallback)(IPackStorageFallback *this);
  std::string *(__fastcall *getResource)(IPackStorageFallback *this, std::string *result, const Core::Path *);
  __int64 (__fastcall *getLastModified)(IPackStorageFallback *this, const Core::Path *);
  std::unique_ptr<IDataOutput> *(__fastcall *createEncryptor)(IPackStorageFallback *this, std::unique_ptr<IDataOutput> *result, std::unique_ptr<IDataOutput>);
  std::unique_ptr<IDataInput> *(__fastcall *createDecryptor)(IPackStorageFallback *this, std::unique_ptr<IDataInput> *result, std::unique_ptr<IDataInput>);
};

# IPackStorage_vtbl

struct /*VFT*/ IPackStorage_vtbl
{
  void (__fastcall *~IPackStorage)(IPackStorage *this);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > > *(__fastcall *getResource)(IPackStorage *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > > *result, const Core::Path *, std::shared_ptr<IPackStorageFallback const >);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *(__fastcall *writeOptimizedPack)(IPackStorage *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *result, std::unique_ptr<IDataOutput>, std::shared_ptr<IPackStorageFallback const >);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *(__fastcall *readOptimizedPack)(IPackStorage *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *result, std::unique_ptr<IDataInput>);
  bool (__fastcall *wantsToWriteOptimizedPack)(IPackStorage *this);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *(__fastcall *closePackStream)(IPackStorage *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *result);
  PackStorageMetrics *(__fastcall *getMetrics)(IPackStorage *this, PackStorageMetrics *result);
};

# IPackStackStorage

struct __cppobj IPackStackStorage
{
  IPackStackStorage_vtbl *__vftable /*VFT*/;
};

# IPackStackStorage_vtbl

struct /*VFT*/ IPackStackStorage_vtbl
{
  void (__fastcall *~IPackStackStorage)(IPackStackStorage *this);
  void (__fastcall *onStackChanged)(IPackStackStorage *this, std::vector<PackInstance> *);
  void (__fastcall *onLoadSessionEnd)(IPackStackStorage *this, const std::vector<PackInstance> *);
  void (__fastcall *hintSessionType)(IPackStackStorage *this, gsl::basic_string_span<char const ,-1>);
  std::shared_ptr<IPackStorage> *(__fastcall *getStorageForPack)(IPackStackStorage *this, std::shared_ptr<IPackStorage> *result, const PackIdVersion *);
  std::shared_ptr<IPackStorage> *(__fastcall *getStorageForLooseFiles)(IPackStackStorage *this, std::shared_ptr<IPackStorage> *result);
  void (__fastcall *deleteStorage)(IPackStackStorage *this);
};

# IConfigListener

struct __cppobj IConfigListener
{
  IConfigListener_vtbl *__vftable /*VFT*/;
};

# IMinecraftApp

struct __cppobj IMinecraftApp
{
  IMinecraftApp_vtbl *__vftable /*VFT*/;
};

# IEntityRegistryOwner

struct __cppobj IEntityRegistryOwner
{
  IEntityRegistryOwner_vtbl *__vftable /*VFT*/;
};

# IEntityRegistryOwner_vtbl

struct /*VFT*/ IEntityRegistryOwner_vtbl
{
  OwnerPtrT<EntityRegistryRefTraits> *(__fastcall *getEntityRegistry)(IEntityRegistryOwner *this);
};

# ITickingArea

const struct __cppobj ITickingArea
{
  ITickingArea_vtbl *__vftable /*VFT*/;
};

# ITickingAreaView

struct __cppobj ITickingAreaView
{
  ITickingAreaView_vtbl *__vftable /*VFT*/;
};

# ITickingAreaView_vtbl

struct /*VFT*/ ITickingAreaView_vtbl
{
  void (__fastcall *~ITickingAreaView)(ITickingAreaView *this);
  void (__fastcall *init)(ITickingAreaView *this, const Bounds *, bool);
  void (__fastcall *tick)(ITickingAreaView *this, const Tick *, BlockSource *, bool);
  void (__fastcall *tickSeasons)(ITickingAreaView *this, BlockSource *, Random *);
  AutomaticID<Dimension,int> *(__fastcall *getDimensionId)(ITickingAreaView *this, AutomaticID<Dimension,int> *result);
  const Bounds *(__fastcall *getBounds)(ITickingAreaView *this);
  bool (__fastcall *isCircle)(ITickingAreaView *this);
  bool (__fastcall *isDoneLoading)(ITickingAreaView *this);
  bool (__fastcall *checkInitialLoadDone)(ITickingAreaView *this);
  float (__fastcall *getInitialLoadPercentage)(ITickingAreaView *this);
  void (__fastcall *move)(ITickingAreaView *this, const Bounds *);
  std::unique_ptr<ChunkViewSource> *(__fastcall *createChildSource)(ITickingAreaView *this, std::unique_ptr<ChunkViewSource> *result);
  std::shared_ptr<LevelChunk> *(__fastcall *getAvailableChunk)(ITickingAreaView *this, std::shared_ptr<LevelChunk> *result, const ChunkPos *);
};

# ITickingArea_vtbl

struct /*VFT*/ ITickingArea_vtbl
{
  void (__fastcall *~ITickingArea)(ITickingArea *this);
  const mce::UUID *(__fastcall *getId)(ITickingArea *this);
  const std::string *(__fastcall *getName)(ITickingArea *this);
  const ActorUniqueID *(__fastcall *getEntityId)(ITickingArea *this);
  bool (__fastcall *isEntityOwned)(ITickingArea *this);
  BlockSource *(__fastcall *getBlockSource)(ITickingArea *this);
  bool (__fastcall *isAlwaysActive)(ITickingArea *this);
  float (__fastcall *getMaxDistToPlayers)(ITickingArea *this);
  ITickingAreaView *(__fastcall *getView)(ITickingArea *this);
  const ITickingAreaView *(__fastcall *getView)(ITickingArea *this);
  TickingAreaDescription *(__fastcall *getDescription)(ITickingArea *this, TickingAreaDescription *result);
  void (__fastcall *tick)(ITickingArea *this, const Tick *, bool);
  void (__fastcall *tickSeasons)(ITickingArea *this, Random *);
  void (__fastcall *updatePosition)(ITickingArea *this, const Vec3 *);
  void (__fastcall *center)(ITickingArea *this);
  Actor *(__fastcall *findOwner)(ITickingArea *this, unsigned __int8 *);
  bool (__fastcall *entityHasBeenFound)(ITickingArea *this);
  void (__fastcall *setEntityFound)(ITickingArea *this);
  bool (__fastcall *isRemoved)(ITickingArea *this);
  void (__fastcall *remove)(ITickingArea *this);
  void (__fastcall *onComponentChanged)(ITickingArea *this, unsigned int, float, bool);
};

# IJsonSerializable_vtbl

struct /*VFT*/ IJsonSerializable_vtbl
{
  void (__fastcall *~IJsonSerializable)(IJsonSerializable *this);
  void (__fastcall *serialize)(IJsonSerializable *this, Json::Value *);
  void (__fastcall *deserialize)(IJsonSerializable *this, Json::Value *);
};

# IGameModuleShared

struct __cppobj IGameModuleShared
{
  IGameModuleShared_vtbl *__vftable /*VFT*/;
};

# IInPackagePacks

struct __cppobj IInPackagePacks
{
  IInPackagePacks_vtbl *__vftable /*VFT*/;
};

# IInPackagePacks::MetaData

struct __cppobj IInPackagePacks::MetaData
{
  Core::PathBuffer<std::string > mPath;
  bool mIsHidden;
  PackCategory mPackCategory;
};

# IInPackagePacks_vtbl

struct /*VFT*/ IInPackagePacks_vtbl
{
  void (__fastcall *~IInPackagePacks)(IInPackagePacks *this);
  std::vector<IInPackagePacks::MetaData> *(__fastcall *getPacks)(IInPackagePacks *this, std::vector<IInPackagePacks::MetaData> *result, PackType);
};

# IGameModuleShared_vtbl

struct /*VFT*/ IGameModuleShared_vtbl
{
  void (__fastcall *~IGameModuleShared)(IGameModuleShared *this);
  std::unique_ptr<GameModuleServer> *(__fastcall *createGameModuleServer)(IGameModuleShared *this, std::unique_ptr<GameModuleServer> *result);
  std::shared_ptr<IInPackagePacks> *(__fastcall *createInPackagePacks)(IGameModuleShared *this, std::shared_ptr<IInPackagePacks> *result);
  void (__fastcall *registerMolangQueries)(IGameModuleShared *this);
};

# IMinecraftApp_vtbl

struct /*VFT*/ IMinecraftApp_vtbl
{
  void (__fastcall *~IMinecraftApp)(IMinecraftApp *this);
  Minecraft *(__fastcall *getPrimaryMinecraft)(IMinecraftApp *this);
  Automation::AutomationClient *(__fastcall *getAutomationClient)(IMinecraftApp *this);
  bool (__fastcall *isEduMode)(IMinecraftApp *this);
  bool (__fastcall *isDedicatedServer)(IMinecraftApp *this);
  void (__fastcall *onNetworkMaxPlayersChanged)(IMinecraftApp *this, unsigned int);
  IGameModuleShared *(__fastcall *getGameModule)(IMinecraftApp *this);
};

# IMinecraftGame

struct __cppobj IMinecraftGame : IMinecraftApp
{
};

# IEntitlementManager

struct __cppobj IEntitlementManager : Bedrock::EnableNonOwnerReferences
{
  IEntitlementManager_vtbl *__vftable /*VFT*/;
};

# IEntitlementManager_vtbl

struct /*VFT*/ IEntitlementManager_vtbl
{
  void (__fastcall *~IEntitlementManager)(IEntitlementManager *this);
  void (__fastcall *tick)(IEntitlementManager *this);
  void (__fastcall *refreshBalance)(IEntitlementManager *this);
  void (__fastcall *refreshInventory)(IEntitlementManager *this);
  std::string *(__fastcall *getInventoryId)(IEntitlementManager *this, std::string *result);
  std::string *(__fastcall *getWalletId)(IEntitlementManager *this, std::string *result);
  std::string *(__fastcall *getCommerceUserID)(IEntitlementManager *this, std::string *result);
  void (__fastcall *processLegacyOfferOwnership)(IEntitlementManager *this, const std::string *, bool, const std::vector<PurchaseInfo> *, const std::string *);
  void (__fastcall *purchaseCoinOffer)(IEntitlementManager *this, const std::string *, const PurchaseInfo *, const std::string *, std::function<void __cdecl(bool)>);
  const std::string *(__fastcall *getTenant)(IEntitlementManager *this);
  void (__fastcall *processExternalStorePurchases)(IEntitlementManager *this, StorePlatform, const std::string *);
  void (__fastcall *processRealmsCoinOfferPurchase)(IEntitlementManager *this, const std::string *, const std::string *, const std::string *, bool, const std::string *, std::function<void __cdecl(enum SendReceiptRealmsResult,Realms::World)>);
  int (__fastcall *getBalance)(IEntitlementManager *this);
  bool (__fastcall *supportsDeviceAccounts)(IEntitlementManager *this);
  bool (__fastcall *hasAnActiveDeviceAccount)(IEntitlementManager *this);
  bool (__fastcall *hasDeviceAccountBeenUsed)(IEntitlementManager *this);
  void (__fastcall *refreshEntitlements)(IEntitlementManager *this);
  void (__fastcall *setRetainedCacheMode)(IEntitlementManager *this, bool);
  StorePlatform (__fastcall *getCommerceStoreNameFromPlatformStoreName)(IEntitlementManager *this, const std::string *);
  Entitlement *(__fastcall *getEntitlement)(IEntitlementManager *this, const ContentIdentity *);
  std::vector<mce::UUID> *(__fastcall *getOwnedEntitlementIds)(IEntitlementManager *this, std::vector<mce::UUID> *result);
  void (__fastcall *getEntitlementsByCreator)(IEntitlementManager *this, const std::string *, std::vector<Entitlement> *);
  void (__fastcall *purchaseCatalogOffer)(IEntitlementManager *this, const std::string *, const std::string *, const std::string *, IMinecraftEventing::StoreType, const std::string *, const std::string *, std::function<void __cdecl(enum TransactionStatus)>);
  bool (__fastcall *iapSyncAvailable)(IEntitlementManager *this);
  void (__fastcall *syncIAPs)(IEntitlementManager *this, std::function<void __cdecl(bool)>);
  void (__fastcall *transferDeviceAccountToXboxLive)(IEntitlementManager *this, std::function<void __cdecl(bool)>);
  void (__fastcall *setDeviceEntitlements)(IEntitlementManager *this, const std::vector<PurchaseInfo> *);
  void (__fastcall *addEntitlementChangeListener)(IEntitlementManager *this, std::weak_ptr<EntitlementChangeListener>);
  void (__fastcall *addEntitlementInventoryRefreshListener)(IEntitlementManager *this, std::weak_ptr<EntitlementChangeListener>);
  int (__fastcall *getTransferStatusCode)(IEntitlementManager *this);
  const std::string *(__fastcall *getTransferErrorCorrelationId)(IEntitlementManager *this, const std::string *result);
  bool (__fastcall *hasAccountTransferError)(IEntitlementManager *this);
  bool (__fastcall *hasUnresolvedAccountTransfer)(IEntitlementManager *this);
  bool (__fastcall *hasShownAccountTransferErrorDialog)(IEntitlementManager *this);
  void (__fastcall *setAccountTransferErrorDialogAsShown)(IEntitlementManager *this);
  bool (__fastcall *findLegacyUID)(IEntitlementManager *this, const std::string *, std::vector<std::string> *);
  bool (__fastcall *isProcessingStoreCoinPurchase)(IEntitlementManager *this);
};

# IPackSourceFactory

struct __cppobj IPackSourceFactory
{
  IPackSourceFactory_vtbl *__vftable /*VFT*/;
};

# InPackagePackSource

struct __cppobj InPackagePackSource : PackSource
{
  std::shared_ptr<IInPackagePacks> mPacksProvider;
  _BYTE mPackType[1];
  bool mDiscovered;
  std::vector<std::unique_ptr<Pack>> mPacks;
  PackSourceReport mReport;
};

# InPackagePackSource_vtbl

struct /*VFT*/ InPackagePackSource_vtbl
{
  void (__fastcall *~PackSource)(PackSource *this);
  void (__fastcall *forEachPackConst)(PackSource *this, std::function<void __cdecl(Pack const &)>);
  void (__fastcall *forEachPack)(PackSource *this, std::function<void __cdecl(Pack &)>);
  PackOrigin (__fastcall *getPackOrigin)(PackSource *this);
  PackType (__fastcall *getPackType)(PackSource *this);
  PackSourceReport *(__fastcall *load)(PackSource *this, PackSourceReport *result, PackManifestFactory *, const IContentKeyProvider *);
  void (__fastcall *addPackSource)(PackSource *this, PackSource *);
};

# IDynamicPackagePacks

struct __cppobj IDynamicPackagePacks : IInPackagePacks
{
};

# IDynamicPackagePacks_vtbl

struct /*VFT*/ IDynamicPackagePacks_vtbl
{
  void (__fastcall *~IInPackagePacks)(IInPackagePacks *this);
  std::vector<IInPackagePacks::MetaData> *(__fastcall *getPacks)(IInPackagePacks *this, std::vector<IInPackagePacks::MetaData> *result, PackType);
  void (__fastcall *setDynamicPackageRoot)(IDynamicPackagePacks *this, Core::PathBuffer<std::string >);
};

# IPackSourceFactory_vtbl

struct /*VFT*/ IPackSourceFactory_vtbl
{
  void (__fastcall *~IPackSourceFactory)(IPackSourceFactory *this);
  ContentCatalogPackSource *(__fastcall *createContentCatalogPackSource)(IPackSourceFactory *this, const gsl::not_null<Bedrock::NonOwnerPointer<ContentCatalogService> > *, IEntitlementManager *, bool, std::function<void __cdecl(bool)>);
  ContentCatalogPackSource *(__fastcall *getContentCatalogPackSource)(IPackSourceFactory *this);
  TreatmentPackSource *(__fastcall *createTreatmentPackSource)(IPackSourceFactory *this, const Core::Path *, PackType);
  TreatmentPackSource *(__fastcall *getTreatmentPackSource)(IPackSourceFactory *this, const Core::Path *, PackType);
  void (__fastcall *removeFromTreatmentPackSource)(IPackSourceFactory *this, const Core::Path *);
  WorldTemplatePackSource *(__fastcall *createWorldTemplatePackSource)(IPackSourceFactory *this, const WorldTemplateManager *, const mce::UUID *, PackType, PackOrigin);
  WorldTemplatePackSource *(__fastcall *getWorldTemplatePackSource)(IPackSourceFactory *this, const mce::UUID *, PackType);
  DirectoryPackSource *(__fastcall *createDirectoryPackSource)(IPackSourceFactory *this, const Core::Path *, PackType, PackOrigin, bool);
  DirectoryPackSource *(__fastcall *getDirectoryPackSource)(IPackSourceFactory *this, const Core::Path *, PackType);
  InPackagePackSource *(__fastcall *createInPackagePackSource)(IPackSourceFactory *this, PackType);
  InPackagePackSource *(__fastcall *getInPackagePackSource)(IPackSourceFactory *this, PackType);
  WorldHistoryPackSource *(__fastcall *createWorldHistoryPackSource)(IPackSourceFactory *this, const Core::Path *, PackType);
  WorldHistoryPackSource *(__fastcall *getWorldHistoryPackSource)(IPackSourceFactory *this, const Core::Path *, PackType);
  DirectoryPackSource *(__fastcall *getDirectoryPackSourceContaining)(IPackSourceFactory *this, const PackIdVersion *);
  void (__fastcall *removeFromDirectoryPackSource)(IPackSourceFactory *this, const Core::Path *);
  InPackagePackSource *(__fastcall *createDynamicPackagePackSource)(IPackSourceFactory *this, PackType);
  InPackagePackSource *(__fastcall *getDynamicPackagePackSource)(IPackSourceFactory *this, PackType);
  void (__fastcall *setDynamicPackagePacks)(IPackSourceFactory *this, const std::shared_ptr<IDynamicPackagePacks> *);
  void (__fastcall *setDynamicPackageRoot)(IPackSourceFactory *this, Core::PathBuffer<std::string >);
};

# IStoreCatalogItem_vtbl

struct /*VFT*/ IStoreCatalogItem_vtbl
{
  void (__fastcall *~IStoreCatalogItem)(IStoreCatalogItem *this);
  const std::vector<PackIdVersion> *(__fastcall *getPackIdentities)(IStoreCatalogItem *this);
};

# IContainerManager

struct __cppobj IContainerManager
{
  IContainerManager_vtbl *__vftable /*VFT*/;
};

# IContainerManager_vtbl

struct /*VFT*/ IContainerManager_vtbl
{
  void (__fastcall *~IContainerManager)(IContainerManager *this);
  ContainerID (__fastcall *getContainerId)(IContainerManager *this);
  void (__fastcall *setContainerId)(IContainerManager *this, ContainerID);
  ContainerType (__fastcall *getContainerType)(IContainerManager *this);
  void (__fastcall *setContainerType)(IContainerManager *this, ContainerType);
  void (__fastcall *serverInitItemStackIds)(IContainerManager *this);
  std::vector<ItemStack> *(__fastcall *getItemCopies)(IContainerManager *this, std::vector<ItemStack> *result);
  void (__fastcall *setSlot)(IContainerManager *this, int, const ItemStack *, bool);
  const ItemStack *(__fastcall *getSlot)(IContainerManager *this, int);
  void (__fastcall *setData)(IContainerManager *this, int, int);
  void (__fastcall *broadcastChanges)(IContainerManager *this);
  bool (__fastcall *validateContainer)(IContainerManager *this);
};

# InventoryMenu

struct __cppobj InventoryMenu : BaseContainerMenu
{
  Container *mContainer;
};

# InventoryMenu_vtbl

struct /*VFT*/ InventoryMenu_vtbl
{
  void (__fastcall *containerContentChanged)(ContainerContentChangeListener *this, int);
  void (__fastcall *~ContainerContentChangeListener)(ContainerContentChangeListener *this);
  void (__fastcall *containerAddCallback)(ContainerContentChangeListener *this, Container *);
  void (__fastcall *containerRemoveCallback)(ContainerContentChangeListener *this, Container *);
  void (__fastcall *removeSlot)(BaseContainerMenu *this, int, int);
  bool (__fastcall *isSlotDirty)(BaseContainerMenu *this, int);
  bool (__fastcall *isResultSlot)(BaseContainerMenu *this, int);
  Container *(__fastcall *_getContainer)(BaseContainerMenu *this);
};

# InventoryOptions

struct __cppobj __declspec(align(8)) InventoryOptions
{
  std::string mInventorySearch;
  int mLeftInventoryTab;
  int mRightInventoryTab;
  bool mFiltering;
  int mLayoutInv;
  int mLayoutCraft;
};

# ImagePickingCallback

struct __cppobj ImagePickingCallback
{
  ImagePickingCallback_vtbl *__vftable /*VFT*/;
};

# ImagePickingCallback_vtbl

struct /*VFT*/ ImagePickingCallback_vtbl
{
  void (__fastcall *~ImagePickingCallback)(ImagePickingCallback *this);
  void (__fastcall *onImagePickingSuccess)(ImagePickingCallback *this, const std::string *);
  void (__fastcall *onImagePickingCanceled)(ImagePickingCallback *this);
};

# ImageResourceManager

struct __cppobj ImageResourceManager : cg::ResourceManager<std::shared_ptr<mce::Image>,ResourceLocation,ImageTrackerTemplate<ImageResourceManager>,std::shared_ptr<mce::Image>,std::unordered_map>
{
};

# ImageTrackerTemplate<ImageResourceManager>

struct __cppobj ImageTrackerTemplate<ImageResourceManager>
{
  const ImageResourceManager *mImageManager;
};

# ImageTrackerTemplate<DynamicImageResourceManager>

struct __cppobj ImageTrackerTemplate<DynamicImageResourceManager>
{
  const DynamicImageResourceManager *mImageManager;
};

# IDlcBatchModel_vtbl

struct /*VFT*/ IDlcBatchModel_vtbl
{
  void (__fastcall *~IDlcBatchModel)(IDlcBatchModel *this);
  void (__fastcall *searchForProductIds)(IDlcBatchModel *this, std::function<void __cdecl(bool)>);
  void (__fastcall *beginExclusiveDownload)(IDlcBatchModel *this);
  void (__fastcall *beginPackDownload)(IDlcBatchModel *this);
  void (__fastcall *beginAutoDownload)(IDlcBatchModel *this);
  void (__fastcall *cancelDownload)(IDlcBatchModel *this);
  void (__fastcall *cancelPendingDownload)(IDlcBatchModel *this);
  void (__fastcall *cancelPendingImport)(IDlcBatchModel *this);
  void (__fastcall *pauseDownload)(IDlcBatchModel *this);
  void (__fastcall *resumeDownload)(IDlcBatchModel *this);
  bool (__fastcall *isDownloadingOrImporting)(IDlcBatchModel *this);
  bool (__fastcall *isDownloading)(IDlcBatchModel *this);
  bool (__fastcall *isDownloadComplete)(IDlcBatchModel *this);
  unsigned __int64 (__fastcall *getDownloadSize)(IDlcBatchModel *this);
  unsigned __int64 (__fastcall *getDownloadedBytes)(IDlcBatchModel *this);
  float (__fastcall *getDownloadProgress)(IDlcBatchModel *this);
  bool (__fastcall *isImporting)(IDlcBatchModel *this);
  bool (__fastcall *isImportWaiting)(IDlcBatchModel *this);
  unsigned __int64 (__fastcall *getImportTotal)(IDlcBatchModel *this);
  unsigned __int64 (__fastcall *getImportedCount)(IDlcBatchModel *this);
  float (__fastcall *getImportProgress)(IDlcBatchModel *this);
  int (__fastcall *getIndexOfActiveImport)(IDlcBatchModel *this);
  const std::vector<DlcId> *(__fastcall *getDlcIds)(IDlcBatchModel *this);
  ItemInstallState (__fastcall *getDlcInstalledState)(IDlcBatchModel *this);
  bool (__fastcall *isContentSearchComplete)(IDlcBatchModel *this);
  bool (__fastcall *isFailed)(IDlcBatchModel *this);
  bool (__fastcall *isCancelled)(IDlcBatchModel *this);
  gsl::not_null<Bedrock::NonOwnerPointer<ContentAcquisition> > *(__fastcall *contentAcquisition)(IDlcBatchModel *this, gsl::not_null<Bedrock::NonOwnerPointer<ContentAcquisition> > *result);
  gsl::not_null<Bedrock::NonOwnerPointer<StoreCatalogRepository> > *(__fastcall *storeCatalog)(IDlcBatchModel *this, gsl::not_null<Bedrock::NonOwnerPointer<StoreCatalogRepository> > *result);
};

# InstructionalContentCollection

struct __cppobj InstructionalContentCollection
{
  InstructionalContentCollection_vtbl *__vftable /*VFT*/;
  std::shared_ptr<EducationContentServices> mServices;
  std::function<bool __cdecl(LessonItem const &,LessonItem const &)> mSort;
  std::function<bool __cdecl(LessonItem const &)> mFilter;
  bool mInProgressQuery;
  int mNumItemsInProgress;
  bool mRefreshContent;
  bool mQuerySuccess;
  std::vector<std::weak_ptr<LessonItem>> mVisualContents;
  std::vector<std::shared_ptr<LessonItem>> mContents;
};

# InstructionalContentCollection_vtbl

struct /*VFT*/ InstructionalContentCollection_vtbl
{
  void (__fastcall *~InstructionalContentCollection)(InstructionalContentCollection *this);
  void (__fastcall *addItem)(InstructionalContentCollection *this, std::shared_ptr<LessonItem>);
  void (__fastcall *refresh)(InstructionalContentCollection *this);
  void (__fastcall *fetchItems)(InstructionalContentCollection *this);
  void (__fastcall *onItemImported)(InstructionalContentCollection *this, const LessonItem *);
};

# IDlcBatcher_vtbl

struct /*VFT*/ IDlcBatcher_vtbl
{
  void (__fastcall *~IDlcBatcher)(IDlcBatcher *this);
  IDlcBatchModel *(__fastcall *getDlcBatchModel)(IDlcBatcher *this, const std::vector<PackIdVersion> *);
  IDlcBatchModel *(__fastcall *getDlcBatchModel)(IDlcBatcher *this, const std::vector<std::string> *);
  IDlcBatchModel *(__fastcall *getDlcBatchModel)(IDlcBatcher *this, const std::vector<DlcId> *);
};

# ISceneStack

struct __cppobj ISceneStack
{
  ISceneStack_vtbl *__vftable /*VFT*/;
};

# ISceneStack_vtbl

struct /*VFT*/ ISceneStack_vtbl
{
  void (__fastcall *~ISceneStack)(ISceneStack *this);
  void (__fastcall *registerPrePushSceneCallback)(ISceneStack *this, void *, std::function<void __cdecl(AbstractScene &)>);
  void (__fastcall *unregisterPrePushSceneCallback)(ISceneStack *this, void *);
  void (__fastcall *registerPushSceneCallback)(ISceneStack *this, void *, std::function<void __cdecl(std::shared_ptr<AbstractScene>)>);
  void (__fastcall *unregisterPushSceneCallback)(ISceneStack *this, void *);
  void (__fastcall *registerPrePopSceneCallback)(ISceneStack *this, void *, std::function<void __cdecl(AbstractScene &)>);
  void (__fastcall *unregisterPrePopSceneCallback)(ISceneStack *this, void *);
  void (__fastcall *registerPopSceneCallback)(ISceneStack *this, void *, std::function<void __cdecl(std::shared_ptr<AbstractScene>,bool)>);
  void (__fastcall *unregisterPopSceneCallback)(ISceneStack *this, void *);
  const AbstractScene *(__fastcall *getTopScene)(ISceneStack *this);
  AbstractScene *(__fastcall *getTopScene)(ISceneStack *this);
  std::shared_ptr<AbstractScene> *(__fastcall *getTopSceneShared)(ISceneStack *this, std::shared_ptr<AbstractScene> *result);
  void (__fastcall *schedulePopScreen)(ISceneStack *this, int);
  void (__fastcall *pushScreen)(ISceneStack *this, std::shared_ptr<AbstractScene>, bool);
};

# IScreenController_vtbl

struct /*VFT*/ IScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
};

# ITTSEventManager

struct __cppobj ITTSEventManager
{
  ITTSEventManager_vtbl *__vftable /*VFT*/;
};

# ITTSEventManager_vtbl

struct /*VFT*/ ITTSEventManager_vtbl
{
  void (__fastcall *~ITTSEventManager)(ITTSEventManager *this);
  void (__fastcall *enqueueTTSEvent)(ITTSEventManager *this, const std::string *, ProfanityFilterContext, bool, bool, bool, bool);
  bool (__fastcall *isChatTextToSpeechEnabled)(ITTSEventManager *this);
  bool (__fastcall *isUITextToSpeechEnabled)(ITTSEventManager *this);
  void (__fastcall *clearAllTTSEvents)(ITTSEventManager *this);
  bool (__fastcall *ttsEventQueued)(ITTSEventManager *this);
};

# IDlcValidation

struct __cppobj IDlcValidation
{
  IDlcValidation_vtbl *__vftable /*VFT*/;
};

# IDlcValidation_vtbl

struct /*VFT*/ IDlcValidation_vtbl
{
  void (__fastcall *~IDlcValidation)(IDlcValidation *this);
  std::vector<DlcDependency> *(__fastcall *collectDlcDependenciesForWorld)(IDlcValidation *this, std::vector<DlcDependency> *result, const std::string *, const PackIdVersion *, bool);
  bool (__fastcall *getNextUnownedDlcDependency)(IDlcValidation *this, const std::vector<DlcDependency> *, DlcDependency *);
  std::vector<DlcDependency> *(__fastcall *getMissingOwnedDlcDependencies)(IDlcValidation *this, std::vector<DlcDependency> *result, const std::vector<DlcDependency> *);
  bool (__fastcall *hasUnownedDlcDependencies)(IDlcValidation *this, const std::vector<DlcDependency> *);
  bool (__fastcall *hasOwnedMissingDlcDependencies)(IDlcValidation *this, const std::vector<DlcDependency> *);
  DlcDependency *(__fastcall *getMissingOwnedDlcWorldTemplateDependency)(IDlcValidation *this, DlcDependency *result, const std::vector<DlcDependency> *, bool);
  bool (__fastcall *hasOwnedMissingDlcWorldTemplateDependency)(IDlcValidation *this, const std::vector<DlcDependency> *, bool);
  bool (__fastcall *hasPerformanceIssues)(IDlcValidation *this, const std::vector<DlcId> *);
  bool (__fastcall *hasEntitlementFor)(IDlcValidation *this, const ContentIdentity *);
  PackManifestFactory *(__fastcall *getPackManifestFactory)(IDlcValidation *this);
  PackSourceFactory *(__fastcall *getPackSourceFactory)(IDlcValidation *this);
  const IContentKeyProvider *(__fastcall *getKeyProvider)(IDlcValidation *this);
};

# IScreenCapabilities_vtbl

struct /*VFT*/ IScreenCapabilities_vtbl
{
  void (__fastcall *~IScreenCapabilities)(IScreenCapabilities *this);
  bool (__fastcall *isOfType)(IScreenCapabilities *this, typeid_t<IScreenCapabilities>);
};

# IMainMenuScreenModel

struct __cppobj IMainMenuScreenModel
{
  IMainMenuScreenModel_vtbl *__vftable /*VFT*/;
};

# IMainMenuScreenModel_vtbl

struct /*VFT*/ IMainMenuScreenModel_vtbl
{
  void (__fastcall *~IMainMenuScreenModel)(IMainMenuScreenModel *this);
  void (__fastcall *navigateToDlcProgressScreen)(IMainMenuScreenModel *this, const std::vector<DlcId> *, std::function<void __cdecl(bool,bool)>, bool, bool, bool);
  void (__fastcall *navigateToRealmsPlusEndedScreen)(IMainMenuScreenModel *this);
  bool (__fastcall *isNetworkEnabled)(IMainMenuScreenModel *this, NetworkFilter);
  bool (__fastcall *doesPlatformSupportRealms)(IMainMenuScreenModel *this);
  void (__fastcall *showRealmsPlusEndedIfNeeded)(IMainMenuScreenModel *this);
  bool (__fastcall *hasRealmsPlusSubscription)(IMainMenuScreenModel *this);
  bool (__fastcall *hasExpiredRealmsPlusSubscription)(IMainMenuScreenModel *this);
  const Entitlement *(__fastcall *getRealmsPlusEntitlement)(IMainMenuScreenModel *this);
  bool (__fastcall *isPackIdInRealmsPlus)(IMainMenuScreenModel *this, const std::string *);
  bool (__fastcall *hasRealmsPlusDlcDependencies)(IMainMenuScreenModel *this, const std::vector<DlcDependency> *);
  void (__fastcall *repopulateWorldTemplates)(IMainMenuScreenModel *this);
  const WorldTemplateInfo *(__fastcall *findWorldTemplateByUUID)(IMainMenuScreenModel *this, const std::vector<mce::UUID> *);
  WorldTemplateInfo *(__fastcall *findWorldTemplateByPackUUIDNonConst)(IMainMenuScreenModel *this, const std::vector<mce::UUID> *);
};

# IFlightingToggles

struct __cppobj IFlightingToggles
{
  IFlightingToggles_vtbl *__vftable /*VFT*/;
};

# IFlightingToggles_vtbl

struct /*VFT*/ IFlightingToggles_vtbl
{
  void (__fastcall *~IFlightingToggles)(IFlightingToggles *this);
  bool (__fastcall *isEnabled)(IFlightingToggles *this, FlightingToggleId);
  void (__fastcall *registerOptionObserverCallback)(IFlightingToggles *this, Bedrock::PubSub::ScopedSubscription *, FlightingToggleId, std::function<void __cdecl(Option const &)>);
};

# IFileChunkDownloader

struct __cppobj IFileChunkDownloader
{
  IFileChunkDownloader_vtbl *__vftable /*VFT*/;
};

# IFileChunkDownloader_vtbl

struct /*VFT*/ IFileChunkDownloader_vtbl
{
  void (__fastcall *~IFileChunkDownloader)(IFileChunkDownloader *this);
  void (__fastcall *update)(IFileChunkDownloader *this);
  void (__fastcall *initFileDownloader)(IFileChunkDownloader *this, const std::string *, const std::string *, const FileInfo *, unsigned __int64, const std::string *, std::function<void __cdecl(enum DownloaderResult)>);
  void (__fastcall *downloadFile)(IFileChunkDownloader *this, std::function<void __cdecl(std::vector<unsigned char>,unsigned __int64,unsigned __int64,std::function<void __cdecl(unsigned __int64,bool)>)>, std::function<void __cdecl(enum DownloaderState)>);
  bool (__fastcall *canCancelDownload)(IFileChunkDownloader *this);
  void (__fastcall *cancelDownload)(IFileChunkDownloader *this);
  unsigned __int64 (__fastcall *getDownloadTotalSize)(IFileChunkDownloader *this);
  unsigned __int64 (__fastcall *getDownloadReceivedSize)(IFileChunkDownloader *this);
  float (__fastcall *getDownloadProgress)(IFileChunkDownloader *this);
};

# ImportContext

struct __cppobj __declspec(align(8)) ImportContext
{
  ImportContext_vtbl *__vftable /*VFT*/;
  Core::ZipUtils::ZipProgressList mZipProgressList;
  std::string mSerializedGlobalStackPreUpdate;
  bool mSuppressImportStartedToast;
};

# ImportContext_vtbl

struct /*VFT*/ ImportContext_vtbl
{
  void (__fastcall *~ImportContext)(ImportContext *this);
  Core::PathBuffer<std::string > *(__fastcall *generatePackFolderName)(ImportContext *this, Core::PathBuffer<std::string > *result, const PackManifest *);
  Core::PathBuffer<std::string > *(__fastcall *getBehaviorPacksPath)(ImportContext *this, Core::PathBuffer<std::string > *result);
  Core::PathBuffer<std::string > *(__fastcall *getResourcePacksPath)(ImportContext *this, Core::PathBuffer<std::string > *result);
  Core::PathBuffer<std::string > *(__fastcall *getWorldTemplatePath)(ImportContext *this, Core::PathBuffer<std::string > *result);
  Core::PathBuffer<std::string > *(__fastcall *getSkinPacksPath)(ImportContext *this, Core::PathBuffer<std::string > *result);
  Core::PathBuffer<std::string > *(__fastcall *getPersonaPath)(ImportContext *this, Core::PathBuffer<std::string > *result);
  bool (__fastcall *allowOverwrite)(ImportContext *this);
  bool (__fastcall *shouldUnzipToDestination)(ImportContext *this, const PackManifest *);
  bool (__fastcall *importAsFlatFile)(ImportContext *this, const PackManifest *);
  void (__fastcall *notifyEarlyImportStarted)(ImportContext *this, bool);
  void (__fastcall *notifyImportStarted)(ImportContext *this, const PackManifest *);
  void (__fastcall *notifyMultiImportStarted)(ImportContext *this, int);
  void (__fastcall *notifyImportSucceeded)(ImportContext *this, const ResourcePack *, ImportSuccess, const PackManifest *, const PackReport *, const Core::Path *);
  void (__fastcall *notifyImportFailed)(ImportContext *this, ImportFailure, const PackManifest *, PackReport *, const Core::Path *);
  bool (__fastcall *modifyManifest)(ImportContext *this, PackManifest *);
};

# IContentAccessibilityProvider

const struct __cppobj IContentAccessibilityProvider : IContentKeyProvider
{
};

# IContentAccessibilityProvider_vtbl

struct /*VFT*/ IContentAccessibilityProvider_vtbl
{
  void (__fastcall *~IContentKeyProvider)(IContentKeyProvider *this);
  std::string *(__fastcall *getContentKey)(IContentKeyProvider *this, std::string *result, const ContentIdentity *);
  std::string *(__fastcall *getAlternateContentKey)(IContentKeyProvider *this, std::string *result, const ContentIdentity *);
  bool (__fastcall *requireEncryptedReads)(IContentKeyProvider *this);
  void (__fastcall *setTempContentKeys)(IContentKeyProvider *this, const std::unordered_map<ContentIdentity,std::string> *);
  void (__fastcall *clearTempContentKeys)(IContentKeyProvider *this);
  bool (__fastcall *canAccess)(IContentAccessibilityProvider *this, const ContentIdentity *);
};

# InsideCubeRenderer

struct __cppobj __declspec(align(8)) InsideCubeRenderer
{
  InsideCubeRenderer_vtbl *__vftable /*VFT*/;
  Vec4 mTransitionPlane;
  Vec3 mTransitionPlaneCenter;
  mce::Mesh mCubeMesh;
  mce::MaterialPtr mCubeMaterial;
  bool mViewInsideSolidBlockLastRender[4];
};

# InsideCubeRenderer_vtbl

struct /*VFT*/ InsideCubeRenderer_vtbl
{
  void (__fastcall *~InsideCubeRenderer)(InsideCubeRenderer *this);
};

# IHummingbirdUI

const struct __cppobj IHummingbirdUI
{
  IHummingbirdUI_vtbl *__vftable /*VFT*/;
};

# IHummingbirdUI_vtbl

struct /*VFT*/ IHummingbirdUI_vtbl
{
  void (__fastcall *~IHummingbirdUI)(IHummingbirdUI *this);
  bool (__fastcall *isUIRefreshEnabled)(IHummingbirdUI *this);
};

# ILessonProgressionService

struct __cppobj ILessonProgressionService
{
  ILessonProgressionService_vtbl *__vftable /*VFT*/;
};

# ILessonProgressionService_vtbl

struct /*VFT*/ ILessonProgressionService_vtbl
{
  void (__fastcall *~ILessonProgressionService)(ILessonProgressionService *this);
  void (__fastcall *sendLessonAction)(ILessonProgressionService *this, std::function<void __cdecl(bool,std::string const &)>, const LessonActionData *);
  void (__fastcall *getLessonState)(ILessonProgressionService *this, std::function<void __cdecl(bool,enum CompletionState::Value,std::optional<std::string >)>);
};

# IContentEventListener

struct __cppobj IContentEventListener
{
  IContentEventListener_vtbl *__vftable /*VFT*/;
};

# IContentEventListener_vtbl

struct /*VFT*/ IContentEventListener_vtbl
{
  void (__fastcall *~IContentEventListener)(IContentEventListener *this);
  void (__fastcall *onDownloadEvent)(IContentEventListener *this, ContentEventType, InitiatorCategory, const DlcId *, const std::string *, const std::vector<PackIdVersion> *, unsigned __int64, long double, bool);
  void (__fastcall *onImportEvent)(IContentEventListener *this, ContentEventType, InitiatorCategory, const DlcId *, const std::string *, const std::vector<PackIdVersion> *, bool, bool);
  void (__fastcall *onPackImportEvent)(IContentEventListener *this, const std::string *, const PackManifest *, bool);
};

# IContentDiscoveryListener

struct __cppobj IContentDiscoveryListener
{
  IContentDiscoveryListener_vtbl *__vftable /*VFT*/;
};

# IContentDiscoveryListener_vtbl

struct /*VFT*/ IContentDiscoveryListener_vtbl
{
  void (__fastcall *~IContentDiscoveryListener)(IContentDiscoveryListener *this);
  void (__fastcall *onUpdateFound)(IContentDiscoveryListener *this, const std::string *, const DurableDocument *);
};

# IContentAcquisition

struct __cppobj IContentAcquisition
{
  IContentAcquisition_vtbl *__vftable /*VFT*/;
};

# IContentAcquisition_vtbl

struct /*VFT*/ IContentAcquisition_vtbl
{
  void (__fastcall *~IContentAcquisition)(IContentAcquisition *this);
  void (__fastcall *triggerBlockingPendingImports)(IContentAcquisition *this);
  void (__fastcall *triggerPendingImportsFor)(IContentAcquisition *this, const PackIdVersion *);
  std::vector<DlcId> *(__fastcall *getPendingImports)(IContentAcquisition *this, std::vector<DlcId> *result);
  std::vector<DlcId> *(__fastcall *getPendingAndActiveImports)(IContentAcquisition *this, std::vector<DlcId> *result);
  void (__fastcall *searchForDlcIdsByPackIds)(IContentAcquisition *this, const std::vector<PackIdVersion> *, std::function<void __cdecl(std::vector<DlcId> const &)>);
  void (__fastcall *checkStorageRequirements)(IContentAcquisition *this, const std::vector<DlcId> *, std::function<void __cdecl(bool,unsigned __int64)>);
  void (__fastcall *getTitles)(IContentAcquisition *this, const std::vector<DlcId> *, std::function<void __cdecl(std::vector<std::string> const &)>);
  bool (__fastcall *areAnyDownloadsActive)(IContentAcquisition *this);
  bool (__fastcall *isDownloadActiveForAny)(IContentAcquisition *this, const std::vector<DlcId> *);
  bool (__fastcall *isDownloadActiveFor)(IContentAcquisition *this, const DlcId *);
  unsigned __int64 (__fastcall *getDownloadSize)(IContentAcquisition *this, const DlcId *);
  unsigned __int64 (__fastcall *getDownloadedBytes)(IContentAcquisition *this, const DlcId *);
  float (__fastcall *getDownloadProgress)(IContentAcquisition *this, const DlcId *);
  bool (__fastcall *isDownloadComplete)(IContentAcquisition *this, const DlcId *);
  bool (__fastcall *hasDownloadFailedForAny)(IContentAcquisition *this, const std::vector<DlcId> *);
  bool (__fastcall *hasDownloadCancelledForAny)(IContentAcquisition *this, const std::vector<DlcId> *);
  bool (__fastcall *areAnyImportsWaiting)(IContentAcquisition *this);
  bool (__fastcall *areAnyImportsActive)(IContentAcquisition *this);
  bool (__fastcall *areAnyBlockingImportsWaiting)(IContentAcquisition *this);
  bool (__fastcall *areAnyBlockingImportsActive)(IContentAcquisition *this);
  bool (__fastcall *isImportActiveForAny)(IContentAcquisition *this, const std::vector<DlcId> *);
  bool (__fastcall *isImportActiveFor)(IContentAcquisition *this, const DlcId *);
  bool (__fastcall *isImportWaitingFor)(IContentAcquisition *this, const DlcId *);
  unsigned __int64 (__fastcall *getImportTotal)(IContentAcquisition *this, const DlcId *);
  unsigned __int64 (__fastcall *getImportedCount)(IContentAcquisition *this, const DlcId *);
  float (__fastcall *getImportProgress)(IContentAcquisition *this, const DlcId *);
};

# IMobMovementProxy

struct __cppobj IMobMovementProxy : IActorMovementProxy
{
};

# IPlayerMovementProxy

struct __cppobj IPlayerMovementProxy : IMobMovementProxy
{
};

# IReplayableActorState

struct __cppobj IReplayableActorState
{
  IReplayableActorState_vtbl *__vftable /*VFT*/;
};

# IReplayableActorState_vtbl

struct /*VFT*/ IReplayableActorState_vtbl
{
  void (__fastcall *~IReplayableActorState)(IReplayableActorState *this);
  void (__fastcall *apply)(IReplayableActorState *this, IActorMovementProxy *);
};

# IReplayableActorInput

struct __cppobj IReplayableActorInput
{
  IReplayableActorInput_vtbl *__vftable /*VFT*/;
};

# IReplayableActorInput_vtbl

struct /*VFT*/ IReplayableActorInput_vtbl
{
  void (__fastcall *~IReplayableActorInput)(IReplayableActorInput *this);
  void (__fastcall *advanceFrame)(IReplayableActorInput *this, IActorMovementProxy *);
  AdvanceFrameResult (__fastcall *advanceLiveFrame)(IReplayableActorInput *this, Actor *);
};

# IReplayableActorStateSource

struct __cppobj IReplayableActorStateSource
{
  IReplayableActorStateSource_vtbl *__vftable /*VFT*/;
};

# IReplayableActorStateSource_vtbl

struct /*VFT*/ IReplayableActorStateSource_vtbl
{
  void (__fastcall *~IReplayableActorStateSource)(IReplayableActorStateSource *this);
  std::unique_ptr<IReplayableActorState> *(__fastcall *extract)(IReplayableActorStateSource *this, std::unique_ptr<IReplayableActorState> *result, IActorMovementProxy *);
};

# IReplayStatePolicy

struct __cppobj IReplayStatePolicy
{
  IReplayStatePolicy_vtbl *__vftable /*VFT*/;
};

# IReplayStatePolicy_vtbl

struct /*VFT*/ IReplayStatePolicy_vtbl
{
  void (__fastcall *~IReplayStatePolicy)(IReplayStatePolicy *this);
  bool (__fastcall *isReplayNeeded)(IReplayStatePolicy *this, AdvanceFrameResult);
  bool (__fastcall *canRewindToFrame)(IReplayStatePolicy *this, IActorMovementProxy *, unsigned __int64, unsigned __int64);
  MovementCorrection *(__fastcall *shouldCorrectMovement)(IReplayStatePolicy *this, MovementCorrection *result, IActorMovementProxy *, const PlayerAuthInputPacket *, unsigned __int64);
  void (__fastcall *flagUnsupportedMovement)(IReplayStatePolicy *this, unsigned __int64);
};

# IClientInstanceProxy

const struct __cppobj IClientInstanceProxy
{
  IClientInstanceProxy_vtbl *__vftable /*VFT*/;
};

# IClientInstanceProxy_vtbl

struct /*VFT*/ IClientInstanceProxy_vtbl
{
  void (__fastcall *~IClientInstanceProxy)(IClientInstanceProxy *this);
  bool (__fastcall *isInGame)(IClientInstanceProxy *this);
  bool (__fastcall *isHoloRealityMode)(IClientInstanceProxy *this);
  bool (__fastcall *isRealityFullVRMode)(IClientInstanceProxy *this);
  bool (__fastcall *isVRMode)(IClientInstanceProxy *this);
  Vec3 *(__fastcall *getTransformZDir)(IClientInstanceProxy *this, Vec3 *result, TransformSpace, TransformSpace, TransformSpace);
  bool (__fastcall *isDebugCameraControlActive)(IClientInstanceProxy *this);
  bool (__fastcall *isSame)(IClientInstanceProxy *this, const IClientInstance *);
};

# IApp

struct __cppobj IApp : Bedrock::EnableNonOwnerReferences
{
  IApp_vtbl *__vftable /*VFT*/;
};

# IApp_vtbl

struct /*VFT*/ IApp_vtbl
{
  void (__fastcall *~IApp)(IApp *this);
  void (__fastcall *quit)(IApp *this, const std::string *, const std::string *);
  bool (__fastcall *wantToQuit)(IApp *this);
  void (__fastcall *setUISizeAndScale)(IApp *this, int, int, float);
  void (__fastcall *muteAudio)(IApp *this);
  void (__fastcall *unMuteAudio)(IApp *this);
};

# IActiveDirectoryIdentityTelemetry

struct __cppobj IActiveDirectoryIdentityTelemetry
{
  IActiveDirectoryIdentityTelemetry_vtbl *__vftable /*VFT*/;
};

# IActiveDirectoryIdentityTelemetry_vtbl

struct /*VFT*/ IActiveDirectoryIdentityTelemetry_vtbl
{
  void (__fastcall *~IActiveDirectoryIdentityTelemetry)(IActiveDirectoryIdentityTelemetry *this);
  void (__fastcall *fireEventSignInEdu)(IActiveDirectoryIdentityTelemetry *this, const std::string *, ADRole, int, const std::string *, const std::vector<std::pair<std::string,std::string >> *);
};

# IDynamicPackageConsumer

struct __cppobj IDynamicPackageConsumer
{
  IDynamicPackageConsumer_vtbl *__vftable /*VFT*/;
};

# IDynamicPackageConsumer_vtbl

struct /*VFT*/ IDynamicPackageConsumer_vtbl
{
  void (__fastcall *~IDynamicPackageConsumer)(IDynamicPackageConsumer *this);
  void (__fastcall *setDynamicPackagePath)(IDynamicPackageConsumer *this, Core::PathBuffer<std::string >);
};

# I18nObserver

struct __cppobj I18nObserver : Core::Observer<I18nObserver,Core::SingleThreadedLock>
{
};

# I18nObserver_vtbl

struct /*VFT*/ I18nObserver_vtbl
{
  void (__fastcall *~Observer<I18nObserver,Core::SingleThreadedLock>)(Core::Observer<I18nObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *_onSubjectDestroyed)(Core::Observer<I18nObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *onLanguageChanged)(I18nObserver *this, const std::string *, bool);
  void (__fastcall *onLanguageKeywordsLoadedFromPack)(I18nObserver *this, const PackManifest *);
  void (__fastcall *onLanguagesLoaded)(I18nObserver *this);
};

# IFileAccess

struct __cppobj IFileAccess
{
  IFileAccess_vtbl *__vftable /*VFT*/;
};

# IFileReadAccess

const struct __cppobj IFileReadAccess
{
  IFileReadAccess_vtbl *__vftable /*VFT*/;
};

# IFileReadAccess_vtbl

struct /*VFT*/ IFileReadAccess_vtbl
{
  void (__fastcall *~IFileReadAccess)(IFileReadAccess *this);
  unsigned __int64 (__fastcall *fread)(IFileReadAccess *this, void *, unsigned __int64, unsigned __int64, void *);
};

# IFileWriteAccess

struct __cppobj IFileWriteAccess
{
  IFileWriteAccess_vtbl *__vftable /*VFT*/;
};

# IFileWriteAccess_vtbl

struct /*VFT*/ IFileWriteAccess_vtbl
{
  void (__fastcall *~IFileWriteAccess)(IFileWriteAccess *this);
  unsigned __int64 (__fastcall *fwrite)(IFileWriteAccess *this, const void *, unsigned __int64, unsigned __int64, void *);
};

# IFileAccess_vtbl

struct /*VFT*/ IFileAccess_vtbl
{
  void (__fastcall *~IFileAccess)(IFileAccess *this);
  void *(__fastcall *fopen)(IFileAccess *this, const Core::Path *, const std::string *);
  int (__fastcall *fclose)(IFileAccess *this, void *);
  int (__fastcall *fseek)(IFileAccess *this, void *, __int64, int);
  __int64 (__fastcall *ftell)(IFileAccess *this, void *);
  const IFileReadAccess *(__fastcall *getReadInterface)(IFileAccess *this);
  IFileWriteAccess *(__fastcall *getWriteInterface)(IFileAccess *this);
  void (__fastcall *unload)(IFileAccess *this);
};

# IAppConfigData

const struct __cppobj IAppConfigData
{
  IAppConfigData_vtbl *__vftable /*VFT*/;
};

# IAppConfigData_vtbl

struct /*VFT*/ IAppConfigData_vtbl
{
  void (__fastcall *~IAppConfigData)(IAppConfigData *this);
  typeid_t<IAppConfigData> *(__fastcall *getType)(IAppConfigData *this, typeid_t<IAppConfigData> *result);
};

# InputHandler

struct __cppobj __declspec(align(8)) InputHandler
{
  std::vector<std::function<void __cdecl(enum InputMode,IClientInstance &)>> mInputModeHandlers;
  std::multimap<unsigned int,std::pair<bool,std::function<void __cdecl(enum FocusImpact,IClientInstance &)> >> mButtonDownHandlerMap;
  std::multimap<unsigned int,std::pair<bool,std::function<void __cdecl(enum FocusImpact,IClientInstance &)> >> mButtonUpHandlerMap;
  std::vector<std::function<void __cdecl(std::string const &,bool,enum FocusImpact,IClientInstance &)>> mTextCharHandlers;
  std::vector<std::function<void __cdecl(int,enum FocusImpact,IClientInstance &)>> mCaretLocationHandlers;
  std::vector<std::function<void __cdecl(PointerLocationEventData const &,enum FocusImpact,IClientInstance &)>> mPointerLocationHandlers;
  std::multimap<enum DirectionId,std::function<void __cdecl(float,float,enum FocusImpact,IClientInstance &)>> mDirectionHandlerMap;
  std::vector<std::function<void __cdecl(short,float,float,float,enum FocusImpact,IClientInstance &)>> mVectorHandlers;
  std::function<void __cdecl(int,enum RawInputType,enum ButtonState,bool,IClientInstance &)> mRawInputHandler;
  std::function<void __cdecl(MinecraftGame &,int,bool)> mAddClientHandler;
  std::function<void __cdecl(MinecraftGame &,int,bool)> mChangeUserHandler;
  std::function<void __cdecl(int)> mTouchIdHandler;
  std::function<void __cdecl(int,bool)> mKeyboardScriptEventHandler;
  std::function<void __cdecl(IClientInstance &,bool,int)> mControllerConnectionStateChangeHandler;
  std::unique_ptr<InputEventQueue> mInputEventQueue;
  std::unique_ptr<ButtonChordTracker> mChordTracker;
  std::unique_ptr<ButtonRepeater> mButtonRepeater;
  std::vector<std::unique_ptr<InputDeviceMapper>> mInputDeviceMappers;
  BindingFactoryMap *mBindingFactoryMap;
  InputMappingFactoryMap *mInputMappingFactoryMap;
  std::unordered_map<int,InputHandler::InputHandlerState> mPerIdState;
  int mPrimaryGameControllerId;
};

# InputMappingFactory

struct __cppobj InputMappingFactory
{
  InputMappingFactory_vtbl *__vftable /*VFT*/;
};

# InputMapping

const struct __cppobj InputMapping
{
  KeyboardInputMapping keyboardMapping;
  MouseInputMapping mouseMapping;
  TouchInputMapping touchMapping;
  GameControllerInputMapping gamePadMapping;
  GameControllerInputMapping motionControllerMapping;
  GGVInputMapping ggvMapping;
  TestAutoInputMapping testAutoMapping;
  std::vector<ChordButtonMapping> chordButtonMapping;
  std::vector<DeviceButtonMapping> deviceButtonMapping;
};

# InputMappingFactory_vtbl

struct /*VFT*/ InputMappingFactory_vtbl
{
  void (__fastcall *~InputMappingFactory)(InputMappingFactory *this);
  const InputMapping *(__fastcall *getMapping)(InputMappingFactory *this, const std::string *);
};

# ICameraBehavior

struct __cppobj ICameraBehavior
{
  ICameraBehavior_vtbl *__vftable /*VFT*/;
};

# ICameraBehavior_vtbl

struct /*VFT*/ ICameraBehavior_vtbl
{
  void (__fastcall *~ICameraBehavior)(ICameraBehavior *this);
  void (__fastcall *onSetup)(ICameraBehavior *this, IClientInstance *, CameraDirector *);
  void (__fastcall *onStart)(ICameraBehavior *this, IClientInstance *, float, float, CameraDirector *);
  void (__fastcall *update)(ICameraBehavior *this, IClientInstance *, float, float, CameraDirector *);
  void (__fastcall *handleLookInput)(ICameraBehavior *this, Vec2 *, CameraDirector *);
  void (__fastcall *renderDebug)(ICameraBehavior *this, IClientInstance *, float, CameraDirector *);
  bool (__fastcall *handleCameraSetRot)(ICameraBehavior *this, const Vec2 *, CameraDirector *);
  HashedString *(__fastcall *getId)(ICameraBehavior *this, HashedString *result);
  ICameraBehavior::UpdateOrder (__fastcall *getUpdateOrder)(ICameraBehavior *this);
};

# ItemInHandRenderer

struct __cppobj ItemInHandRenderer : ActorShaderManager
{
  ItemStack mItem;
  ItemStack mOffHandItem;
  int mSlot;
  IClientInstance *mClient;
  std::unique_ptr<TextureTessellator> mTextureTessellator;
  float mHeight;
  float mOldHeight;
  float mHeightOffHand;
  float mOldHeightOffHand;
  BlockTessellator *mBlockTessellator;
  mce::MaterialPtr mMatOpaqueBlock;
  mce::MaterialPtr mMatOpaqueBlockColor;
  mce::MaterialPtr mMatAlphaBlock;
  mce::MaterialPtr mMatItem;
  mce::MaterialPtr mMatBlendBlock;
  mce::MaterialPtr mMatBlendBlockNoColor;
  mce::MaterialPtr mMatAlphaColoredBlock;
  mce::MaterialPtr mMatItemMultiColorTint;
  mce::MaterialPtr mMatOpaqueBlockGlint;
  mce::MaterialPtr mMatAlphaBlockGlint;
  mce::MaterialPtr mMatItemGlint;
  mce::MaterialPtr mMatFishingLine;
  std::array<mce::MaterialPtr const *,8> mMaterialMatrix;
  mce::TexturePtr mGlintTexture;
  std::unique_ptr<BannerBlockActor> mBannerEntity;
  std::unique_ptr<ConduitBlockActor> mConduitEntity;
  std::map<ItemInHandRenderer::FrameId,ItemRenderCall> mRenderObjects;
  std::unordered_map<std::string,ItemRenderCall> mStrRenderObjects;
  Matrix mTransform;
};

# ItemInHandRenderer_vtbl

struct /*VFT*/ ItemInHandRenderer_vtbl
{
  void (__fastcall *~ActorShaderManager)(ActorShaderManager *this);
  mce::Color *(__fastcall *_getOverlayColor)(ActorShaderManager *this, mce::Color *result, Actor *, float);
};

# ItemRenderer

struct __cppobj ItemRenderer : ActorRenderer
{
  std::unique_ptr<BlockTessellator> mBlockTessellator;
  float mRandomFloats[16];
  std::unordered_map<short,ItemGraphics> mItemGraphics;
  mce::MaterialPtr mUIBlitMaterial;
  mce::MaterialPtr mUIIconBlitMaterial;
  mce::MaterialPtr mUIIconUnblitMaterial;
  mce::MaterialPtr mUIIconBlitGlintMaterial;
  mce::MaterialPtr mUIIconBlitMaterialMultiColorTint;
  mce::MaterialPtr mEntityAlphatestChangeColorMaterial;
  mce::MaterialPtr mEntityAlphatestChangeColorGlintMaterial;
  mce::MaterialPtr mEntityAlphatestMultiColorTintMaterial;
  std::unique_ptr<BannerBlockActor> mBannerEntity;
  std::unique_ptr<SkullBlockActor> mSkullEntity;
  std::unique_ptr<ConduitBlockActor> mConduitEntity;
};

# ItemRenderer_vtbl

struct /*VFT*/ ItemRenderer_vtbl
{
  void (__fastcall *~ActorShaderManager)(ActorShaderManager *this);
  mce::Color *(__fastcall *_getOverlayColor)(ActorShaderManager *this, mce::Color *result, Actor *, float);
  void (__fastcall *render)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderDebug)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderEffects)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderTrading)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *, float);
  void (__fastcall *renderFlame)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderLeash)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderWaterHole)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *addAdditionalRenderingIfNeeded)(ActorRenderer *this, mce::TextureGroup *);
  void (__fastcall *renderWeaponEffect)(ActorRenderer *this, BaseActorRenderContext *, Actor *);
  void (__fastcall *renderBindEffects)(ActorRenderer *this, BaseActorRenderContext *, Actor *);
  AABB *(__fastcall *getRenderBounds)(ActorRenderer *this, AABB *result, const Actor *);
  Vec3 *(__fastcall *getLeashOffset)(ActorRenderer *this, Vec3 *result, Actor *, float, float, float, bool, bool);
  void (__fastcall *setIsOnScreen)(ActorRenderer *this, Actor *, const bool, float);
  bool (__fastcall *shouldUpdateBonesAndEffectsIfOffScreen)(ActorRenderer *this, RenderParams *);
  bool (__fastcall *shouldUpdateEffectsIfOffScreen)(ActorRenderer *this, RenderParams *);
  void (__fastcall *_bindModelEffectRender)(ActorRenderer *this, BaseActorRenderContext *, Mob *);
};

# IGuidedFlowClient

struct __cppobj IGuidedFlowClient
{
  IGuidedFlowClient_vtbl *__vftable /*VFT*/;
};

# IGuidedFlowClient_vtbl

struct /*VFT*/ IGuidedFlowClient_vtbl
{
  void (__fastcall *~IGuidedFlowClient)(IGuidedFlowClient *this);
  std::shared_ptr<Social::User> *(__fastcall *getPrimaryUser)(IGuidedFlowClient *this, std::shared_ptr<Social::User> *result);
  SceneFactory *(__fastcall *getSceneFactory)(IGuidedFlowClient *this);
  Options *(__fastcall *getOptions)(IGuidedFlowClient *this);
};

# IEDUDiscoveryService

struct __cppobj IEDUDiscoveryService
{
  IEDUDiscoveryService_vtbl *__vftable /*VFT*/;
};

# IEDUDiscoveryService_vtbl

struct /*VFT*/ IEDUDiscoveryService_vtbl
{
  void (__fastcall *~IEDUDiscoveryService)(IEDUDiscoveryService *this);
  const EDUDiscovery::JoinCode *(__fastcall *getJoinCode)(IEDUDiscoveryService *this);
  EDUDiscovery::ServerStatus (__fastcall *getServerStatus)(IEDUDiscoveryService *this);
  bool (__fastcall *hasValidCredentials)(IEDUDiscoveryService *this);
  std::unique_ptr<EDUDiscovery::Dialog> *(__fastcall *getNextDialog)(IEDUDiscoveryService *this, std::unique_ptr<EDUDiscovery::Dialog> *result);
  std::shared_ptr<EDUDiscovery::QueryContext<enum EDUDiscovery::Availability> > *(__fastcall *checkServiceAvailability)(IEDUDiscoveryService *this, std::shared_ptr<EDUDiscovery::QueryContext<enum EDUDiscovery::Availability> > *result, std::function<void __cdecl(enum EDUDiscovery::Availability)>);
  std::shared_ptr<EDUDiscovery::QueryContext<EDUDiscovery::ListServersResponse> > *(__fastcall *listServers)(IEDUDiscoveryService *this, std::shared_ptr<EDUDiscovery::QueryContext<EDUDiscovery::ListServersResponse> > *result, std::function<void __cdecl(EDUDiscovery::ListServersResponse const &)>);
  std::shared_ptr<EDUDiscovery::QueryContext<EDUDiscovery::JoinServerQueryState> > *(__fastcall *joinServer)(IEDUDiscoveryService *this, std::shared_ptr<EDUDiscovery::QueryContext<EDUDiscovery::JoinServerQueryState> > *result, const EDUDiscovery::JoinRequest *, std::function<void __cdecl(EDUDiscovery::JoinServerQueryState const &)>);
  void (__fastcall *requestNewJoinCode)(IEDUDiscoveryService *this);
  void (__fastcall *addObserver)(IEDUDiscoveryService *this, EDUDiscovery::DiscoveryObserver *);
  EDUDiscovery::IpInfo *(__fastcall *getLocalIpInfo)(IEDUDiscoveryService *this, EDUDiscovery::IpInfo *result);
};

# IRayTracingOptions

struct __cppobj IRayTracingOptions : Bedrock::EnableNonOwnerReferences
{
  IRayTracingOptions_vtbl *__vftable /*VFT*/;
};

# IRayTracingOptions_vtbl

struct /*VFT*/ IRayTracingOptions_vtbl
{
  void (__fastcall *~IRayTracingOptions)(IRayTracingOptions *this);
  bool (__fastcall *isHardwareCompatible)(IRayTracingOptions *this);
  bool (__fastcall *areRayTracingResourcesAvailable)(IRayTracingOptions *this);
  bool (__fastcall *isPlatformCompatible)(IRayTracingOptions *this);
  bool (__fastcall *isRayTracingAvailable)(IRayTracingOptions *this);
  bool (__fastcall *isUpscalingAvailable)(IRayTracingOptions *this);
};

# IGameModuleApp

struct __cppobj IGameModuleApp : IGameModuleShared
{
};

# IGameModuleApp_vtbl

struct /*VFT*/ IGameModuleApp_vtbl
{
  void (__fastcall *~IGameModuleShared)(IGameModuleShared *this);
  std::unique_ptr<GameModuleServer> *(__fastcall *createGameModuleServer)(IGameModuleShared *this, std::unique_ptr<GameModuleServer> *result);
  std::shared_ptr<IInPackagePacks> *(__fastcall *createInPackagePacks)(IGameModuleShared *this, std::shared_ptr<IInPackagePacks> *result);
  void (__fastcall *registerMolangQueries)(IGameModuleShared *this);
  std::unique_ptr<GameModuleClient> *(__fastcall *createGameModuleClient)(IGameModuleApp *this, std::unique_ptr<GameModuleClient> *result);
  std::unique_ptr<mce::framebuilder::FrameBuilder> *(__fastcall *createFrameBuilder)(IGameModuleApp *this, std::unique_ptr<mce::framebuilder::FrameBuilder> *result, WorkerPool *, const gsl::span<std::reference_wrapper<WorkerPool>,-1>, Scheduler *);
  std::unique_ptr<MinecraftInputHandler> *(__fastcall *createInputHandler)(IGameModuleApp *this, std::unique_ptr<MinecraftInputHandler> *result, IClientInstance *);
  std::unique_ptr<SceneFactory> *(__fastcall *createSceneFactory)(IGameModuleApp *this, std::unique_ptr<SceneFactory> *result, IMinecraftGame *, IClientInstance *, hbui::SceneProvider *);
  std::unique_ptr<ClientInputMappingFactory> *(__fastcall *createInputMappingFactory)(IGameModuleApp *this, std::unique_ptr<ClientInputMappingFactory> *result, IClientInstance *);
  void (__fastcall *setupStartMenuScreenCommands)(IGameModuleApp *this, CommandRegistry *);
  std::shared_ptr<IDynamicPackagePacks> *(__fastcall *createDynamicPackagePacks)(IGameModuleApp *this, std::shared_ptr<IDynamicPackagePacks> *result);
};

# InputDeviceMapper

struct __cppobj InputDeviceMapper
{
  InputDeviceMapper_vtbl *__vftable /*VFT*/;
  int mScreenWidth;
  int mScreenHeight;
  std::unordered_map<int,enum InputBindingMode> mBindingMode;
};

# InputRenderContext_vtbl

struct /*VFT*/ InputRenderContext_vtbl
{
  void (__fastcall *~InputRenderContext)(InputRenderContext *this);
  void (__fastcall *setColor)(InputRenderContext *this, const mce::Color *);
  void (__fastcall *drawRect)(InputRenderContext *this, const RectangleArea *, int, int, int, int);
  RectangleArea *(__fastcall *measureText)(InputRenderContext *this, RectangleArea *result, const glm::tvec2<float,0> *, const std::string *);
  void (__fastcall *drawText)(InputRenderContext *this, const RectangleArea *, const std::string *);
};

# InputDeviceMapper_vtbl

struct /*VFT*/ InputDeviceMapper_vtbl
{
  void (__fastcall *~InputDeviceMapper)(InputDeviceMapper *this);
  void (__fastcall *setMapping)(InputDeviceMapper *this, InputEventQueue *, const BindingFactory *, const InputMapping *, int);
  void (__fastcall *clearMapping)(InputDeviceMapper *this, int);
  void (__fastcall *clearInputDeviceQueue)(InputDeviceMapper *this);
  void (__fastcall *clearInputDeviceQueueForFrame)(InputDeviceMapper *this);
  void (__fastcall *hardResetInputDeviceQueue)(InputDeviceMapper *this);
  bool (__fastcall *tick)(InputDeviceMapper *this, InputEventQueue *, ControllerIDtoClientMap *);
  InputMode (__fastcall *getInputMode)(InputDeviceMapper *this);
  void (__fastcall *getCursorPos)(InputDeviceMapper *this, float *, float *);
  void (__fastcall *render)(InputDeviceMapper *this, InputRenderContext *);
  void (__fastcall *setWindowSize)(InputDeviceMapper *this, int, int);
  void (__fastcall *setBindingMode)(InputDeviceMapper *this, InputBindingMode, int);
  InputBindingMode (__fastcall *getBindingMode)(InputDeviceMapper *this, int);
  void (__fastcall *changeControllerId)(InputDeviceMapper *this, int, int);
};

# InputMappingFactoryMap

struct __cppobj InputMappingFactoryMap
{
  InputMappingFactoryMap_vtbl *__vftable /*VFT*/;
};

# InputMappingFactoryMap_vtbl

struct /*VFT*/ InputMappingFactoryMap_vtbl
{
  void (__fastcall *~InputMappingFactoryMap)(InputMappingFactoryMap *this);
  InputMappingFactory *(__fastcall *getInputMappingFactory)(InputMappingFactoryMap *this, int);
};

# IConfigListener_vtbl

struct /*VFT*/ IConfigListener_vtbl
{
  void (__fastcall *~IConfigListener)(IConfigListener *this);
  void (__fastcall *onConfigChanged)(IConfigListener *this, const Config *);
};

# IChunkLoadedAction

struct __cppobj __declspec(align(8)) IChunkLoadedAction
{
  IChunkLoadedAction_vtbl *__vftable /*VFT*/;
  IChunkLoadedAction::ChunkLoadedActionType mActionType;
};

# IFunctionEntry

struct __cppobj IFunctionEntry
{
  IFunctionEntry_vtbl *__vftable /*VFT*/;
};

# IFunctionEntry_vtbl

struct /*VFT*/ IFunctionEntry_vtbl
{
  void (__fastcall *~IFunctionEntry)(IFunctionEntry *this);
  void (__fastcall *execute)(IFunctionEntry *this, FunctionManager *, const CommandOrigin *);
};

# ICommandDispatcher

struct __cppobj ICommandDispatcher
{
  ICommandDispatcher_vtbl *__vftable /*VFT*/;
};

# ICommandDispatcher_vtbl

struct /*VFT*/ ICommandDispatcher_vtbl
{
  void (__fastcall *~ICommandDispatcher)(ICommandDispatcher *this);
  int (__fastcall *performCommand)(ICommandDispatcher *this, const CommandOrigin *, Command *);
};

# IChunkLoadedAction_vtbl

struct /*VFT*/ IChunkLoadedAction_vtbl
{
  void (__fastcall *~IChunkLoadedAction)(IChunkLoadedAction *this);
  void (__fastcall *execute)(IChunkLoadedAction *this, ServerLevel *, Dimension *);
  void (__fastcall *serialize)(IChunkLoadedAction *this, CompoundTag *);
};

# IdentityDictionary

struct __cppobj IdentityDictionary
{
  std::unordered_map<PlayerScoreboardId,ScoreboardId> mPlayers;
  std::unordered_map<ActorUniqueID,ScoreboardId> mEntities;
  std::unordered_map<std::string,ScoreboardId> mFakes;
  std::unordered_map<ScoreboardId,IdentityDefinition> mIdentityDefs;
};

# ITextObject_vtbl

struct /*VFT*/ ITextObject_vtbl
{
  void (__fastcall *~ITextObject)(ITextObject *this);
  std::string *(__fastcall *asString)(ITextObject *this, std::string *result);
  Json::Value *(__fastcall *asJsonValue)(ITextObject *this, Json::Value *result);
  Json::Value *(__fastcall *resolve)(ITextObject *this, Json::Value *result, const ResolveData *);
};

# IMinecraftEventing_vtbl

struct /*VFT*/ IMinecraftEventing_vtbl
{
  void (__fastcall *~IPackTelemetry)(IPackTelemetry *this);
  void (__fastcall *fireEventPackUpgradeAttempt)(IPackTelemetry *this, const PackManifest *, const PackReport *);
  void (__fastcall *init)(IMinecraftEventing *this, const gsl::not_null<Bedrock::NonOwnerPointer<Social::IUserManager> > *);
  void (__fastcall *shutdown)(IMinecraftEventing *this);
  const std::string *(__fastcall *getPlayerSessionId)(IMinecraftEventing *this);
  bool (__fastcall *getShouldHaveAchievementsEnabled)(IMinecraftEventing *this);
  void (__fastcall *setShouldHaveAchievementsEnabled)(IMinecraftEventing *this, bool);
  bool (__fastcall *getAchievementsAlwaysEnabled)(IMinecraftEventing *this);
  unsigned int (__fastcall *getPrimaryLocalUserId)(IMinecraftEventing *this);
  void (__fastcall *forceSendEvents)(IMinecraftEventing *this);
  Social::Events::EventManager *(__fastcall *getEventManager)(IMinecraftEventing *this);
  void (__fastcall *updatePrimaryLocalUserId)(IMinecraftEventing *this, const unsigned int *);
  void (__fastcall *updateIsLegacyPlayer)(IMinecraftEventing *this, bool);
  void (__fastcall *updateIsTrial)(IMinecraftEventing *this, bool);
  void (__fastcall *registerOptionsObserver)(IMinecraftEventing *this, std::shared_ptr<Options>);
  void (__fastcall *addListener)(IMinecraftEventing *this, std::unique_ptr<Social::Events::IEventListener>);
  void (__fastcall *fireEventOnSuccessfulClientLogin)(IMinecraftEventing *this, const Level *);
  void (__fastcall *clearListeners)(IMinecraftEventing *this);
  void (__fastcall *fireEventStartClient)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *, bool);
  void (__fastcall *fireEventStartWorld)(IMinecraftEventing *this, IMinecraftEventing::NetworkType, const std::string *, const Social::MultiplayerServiceIdentifier);
  void (__fastcall *fireGlobalResourcePackCrashRecovery)(IMinecraftEventing *this, PackInstance *, mce::UUID, int);
  void (__fastcall *fireServerConnectionEvent)(IMinecraftEventing *this, IMinecraftEventing::ServerConnectionOutcome, unsigned int, long double, const std::string *);
  void (__fastcall *fireServerConnectionAttemptEvent)(IMinecraftEventing *this, const std::string *, bool, const std::string *);
  void (__fastcall *fireTextToSpeechToggled)(IMinecraftEventing *this, bool, bool);
  void (__fastcall *fireEventClientIdCreated)(IMinecraftEventing *this, int);
  void (__fastcall *fireEventFloatPropertyList)(IMinecraftEventing *this, const std::string *, const std::vector<std::pair<std::string,float>> *);
  void (__fastcall *fireEventHardwareInfo)(IMinecraftEventing *this);
  void (__fastcall *fireEventDeviceLost)(IMinecraftEventing *this);
  void (__fastcall *fireEventOptionsUpdated)(IMinecraftEventing *this, Options *, InputMode, bool);
  void (__fastcall *fireEventChatSettingsUpdated)(IMinecraftEventing *this, const Player *, const std::vector<Social::Events::Property> *);
  void (__fastcall *fireEventPerformanceMetrics)(IMinecraftEventing *this, const ProfilerLiteTelemetry *, bool);
  void (__fastcall *fireEventPerformanceContext)(IMinecraftEventing *this, const PerfContextTrackerReport *);
  void (__fastcall *fireEventPlayerTravelled)(IMinecraftEventing *this, Player *, float);
  void (__fastcall *fireEventPromotionNotificationClicked)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireEventVideoPlayed)(IMinecraftEventing *this, const std::string *, const std::string *);
  void (__fastcall *fireEventRespondedToAcceptContent)(IMinecraftEventing *this, const ResourcePacksInfoData *, bool);
  void (__fastcall *fireEventSignInToIdentity)(IMinecraftEventing *this, IMinecraftEventing::SignInAccountType, IMinecraftEventing::SignInTrigger, bool, IMinecraftEventing::SignInStage, Social::SignInResult, const std::string *, const std::string *);
  void (__fastcall *fireEventSignOutOfIdentity)(IMinecraftEventing *this, IMinecraftEventing::SignInAccountType, IMinecraftEventing::SignInTrigger, const std::string *, const std::string *);
  void (__fastcall *fireEventSignOutOfXboxLive)(IMinecraftEventing *this, const Social::XboxLiveUser *);
  void (__fastcall *fireEventAppSuspended)(IMinecraftEventing *this, bool);
  void (__fastcall *fireEventAppPaused)(IMinecraftEventing *this);
  void (__fastcall *fireEventAppUnpaused)(IMinecraftEventing *this);
  void (__fastcall *fireEventAppResumed)(IMinecraftEventing *this);
  void (__fastcall *fireEventSplitScreenUpdated)(IMinecraftEventing *this, const IClientInstance *);
  void (__fastcall *fireEventPopupClosed)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireEventGameplayTipShown)(IMinecraftEventing *this, int, bool, const std::string *);
  void (__fastcall *fireEventWorldImported)(IMinecraftEventing *this, __int64, unsigned __int64);
  void (__fastcall *fireCurrentInputUpdated)(IMinecraftEventing *this, const IClientInstance *);
  void (__fastcall *fireEventTreatmentPackApplied)(IMinecraftEventing *this, const PackManifest *);
  void (__fastcall *fireEventPackPlayed)(IMinecraftEventing *this, const PackInstance *, unsigned int);
  void (__fastcall *fireEventPackHashChanged)(IMinecraftEventing *this, const PackManifest *);
  void (__fastcall *fireEventTreatmentPackDownloaded)(IMinecraftEventing *this, std::string);
  void (__fastcall *fireEventTreatmentPackRemoved)(IMinecraftEventing *this, std::string);
  void (__fastcall *fireEventContentLogsInWorldSession)(IMinecraftEventing *this, const std::string *, unsigned int, unsigned int);
  void (__fastcall *fireEventPackStorageWrite)(IMinecraftEventing *this, const PackStorageMetrics *);
  void (__fastcall *fireRealmConnectionEventStart)(IMinecraftEventing *this, IMinecraftEventing::RealmConnectionFlow);
  void (__fastcall *fireRealmConnectionEventGenericLambdaCalled)(IMinecraftEventing *this, IMinecraftEventing::RealmConnectionFlow, IMinecraftEventing::RealmConnectionLambda, IMinecraftEventing::RealmConnectionResult);
  void (__fastcall *fireEventCompoundCreatorCreated)(IMinecraftEventing *this, int, int);
  void (__fastcall *fireEventElementConstructorUsed)(IMinecraftEventing *this, int, int, IMinecraftEventing::ElementConstructorUseType);
  void (__fastcall *fireEventEntitySpawned)(IMinecraftEventing *this, Player *, int, unsigned int);
  void (__fastcall *fireEventReducerBlockEntered)(IMinecraftEventing *this, const ItemDescriptor *);
  void (__fastcall *fireEventRespawn)(IMinecraftEventing *this, Player *, int);
  void (__fastcall *fireEventServerRespawnSearchTime)(IMinecraftEventing *this, Player *, const PlayerRespawnTelemetryData *);
  void (__fastcall *firePackSettingsEvent)(IMinecraftEventing *this, const PackSettings *, const PackManifest *);
  void (__fastcall *removeTestRunIdTag)(IMinecraftEventing *this);
  void (__fastcall *removeTestTelemetryTag)(IMinecraftEventing *this);
  void (__fastcall *setTestRunIdTag)(IMinecraftEventing *this, const char *);
  void (__fastcall *setTestTelemetryTag)(IMinecraftEventing *this, const char *);
  void (__fastcall *stopDebugEventLoggingForAllListeners)(IMinecraftEventing *this);
  void (__fastcall *tick)(IMinecraftEventing *this);
  void (__fastcall *updateEditionType)(IMinecraftEventing *this);
  void (__fastcall *fireEventMultiplayerConnectionStateChanged)(IMinecraftEventing *this, bool, const std::string *, const std::string *, unsigned int, unsigned int, unsigned int, const std::string *);
  void (__fastcall *fireEventPacketViolationDetected)(IMinecraftEventing *this, const ExtendedStreamReadResult *, PacketViolationResponse, MinecraftPacketIds, const NetworkIdentifier *);
  void (__fastcall *fireEventJoinCanceled)(IMinecraftEventing *this, LoadingState);
  void (__fastcall *fireClubsEngagementEvent)(IMinecraftEventing *this, IMinecraftEventing::ClubsEngagementAction, IMinecraftEventing::ClubsEngagementTargetType, const char *, const Realms::RealmId, const std::string);
  void (__fastcall *fireClubsOpenFeedScreenEvent)(IMinecraftEventing *this, const IMinecraftEventing::ClubsFeedScreenSource, const Realms::RealmId, const std::string);
  void (__fastcall *fireEventEntitlementListInfo)(IMinecraftEventing *this, std::vector<ContentIdentity> *, bool);
  void (__fastcall *fireEventIncognitoFailure)(IMinecraftEventing *this, const std::string *, const std::string *);
  void (__fastcall *fireEventStorage)(IMinecraftEventing *this, int, const std::string *);
  void (__fastcall *fireEventIAPPurchaseAttempt)(IMinecraftEventing *this, const std::string *, const std::string *, Offer *, PurchasePath);
  void (__fastcall *fireEventIAPPurchaseResolved)(IMinecraftEventing *this, const std::string *, const std::string *, Offer *, IMinecraftEventing::PurchaseResult, PurchasePath);
  void (__fastcall *fireEventIAPRedeemAttempt)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *, PurchasePath);
  void (__fastcall *fireEventIAPRedeemResolved)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *, IMinecraftEventing::PurchaseResult, PurchasePath);
  void (__fastcall *fireEventPurchaseAttempt)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *, IMinecraftEventing::StoreType, PurchasePath);
  void (__fastcall *fireEventPurchaseResolved)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *, IMinecraftEventing::StoreType, IMinecraftEventing::PurchaseResult, PurchasePath);
  void (__fastcall *fireEventIAPPurchaseFailure)(IMinecraftEventing *this, const std::string *, unsigned __int16, const std::string *, const PurchaseInfo *);
  void (__fastcall *fireEventPurchaseFailureDetails)(IMinecraftEventing *this, int, const std::string *, const std::string *, const std::string *);
  void (__fastcall *fireEventTreatmentsCleared)(IMinecraftEventing *this);
  void (__fastcall *fireEventTreatmentsSet)(IMinecraftEventing *this, const std::vector<std::string> *);
  void (__fastcall *fireEventProgressionsSet)(IMinecraftEventing *this, const std::vector<std::string> *);
  void (__fastcall *fireEventSetMultiplayerCorrelationId)(IMinecraftEventing *this, Player *, const std::string *);
  void (__fastcall *fireEventGameSessionStart)(IMinecraftEventing *this, Player *, IClientInstance *, Level *, const std::string *, int, const std::string *, const std::string *, bool);
  void (__fastcall *prepEventSearchCatalogRequest)(IMinecraftEventing *this, const SearchRequestTelemetry *);
  void (__fastcall *fireEventSearchCatalogRequest)(IMinecraftEventing *this, const SearchRequestTelemetry *);
  void (__fastcall *fireEventArmorStandItemEquipped)(IMinecraftEventing *this, const ArmorStand *, const ItemDescriptor *);
  void (__fastcall *fireEventArmorStandPosed)(IMinecraftEventing *this, const ArmorStand *);
  void (__fastcall *fireEventLockedItemGiven)(IMinecraftEventing *this);
  void (__fastcall *fireEventPlayerBounced)(IMinecraftEventing *this, Player *, const Block *, int);
  void (__fastcall *fireEventSetValidForAchievements)(IMinecraftEventing *this, Player *, bool);
  void (__fastcall *fireEventAchievementReceived)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *);
  void (__fastcall *fireEventWorldLoaded)(IMinecraftEventing *this, Player *, Level *, ResourcePackManager *, ResourcePacksInfoData *, bool);
  void (__fastcall *fireMinecraftVersionLaunched)(IMinecraftEventing *this, bool);
  void (__fastcall *fireMinecraftVersionInviteAccepted)(IMinecraftEventing *this, bool, unsigned __int64);
  void (__fastcall *fireDayOneExperienceStateChanged)(IMinecraftEventing *this, IMinecraftEventing::DayOneExperienceState, std::optional<unsigned int>, std::optional<unsigned __int64>);
  void (__fastcall *fireWorldConversionAttemptEvent)(IMinecraftEventing *this, const Legacy::WorldConversionReport *);
  void (__fastcall *fireWorldConversionInitiatedEvent)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireLegacyWorldUploadEvent)(IMinecraftEventing *this, const Legacy::WorldConversionReport *, bool, WorldConversionError);
  void (__fastcall *fireEventAssertFailed)(IMinecraftEventing *this, const std::string *, const std::string *);
  void (__fastcall *fireEventSessionCrashed)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *);
  void (__fastcall *fireEventCrashSystemFailedToInit)(IMinecraftEventing *this);
  void (__fastcall *fireChatUsedEvent)(IMinecraftEventing *this, unsigned int, bool);
  void (__fastcall *fireEventJoinByCode)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireEventBlockPlacedByCommand)(IMinecraftEventing *this, const Block *, int);
  void (__fastcall *fireEventDwellerDied)(IMinecraftEventing *this, Actor *, const ActorDamageSource *, bool);
  void (__fastcall *fireEventDwellerRemoved)(IMinecraftEventing *this, Actor *, bool);
  void (__fastcall *fireEventScriptLoaded)(IMinecraftEventing *this, const std::string *, unsigned __int64);
  void (__fastcall *fireEventScriptRan)(IMinecraftEventing *this, const std::string *, unsigned __int64, bool, bool);
  void (__fastcall *fireEventDevConsoleOpen)(IMinecraftEventing *this);
  void (__fastcall *fireEventDevConsoleCommand)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireEventNpcPropertiesUpdated)(IMinecraftEventing *this, Actor *, bool);
  void (__fastcall *fireEventBoardTextUpdated)(IMinecraftEventing *this, ChalkboardBlockActor *);
  void (__fastcall *fireEventCameraUsed)(IMinecraftEventing *this, bool);
  void (__fastcall *fireEventPortfolioExported)(IMinecraftEventing *this, int, int);
  void (__fastcall *fireQuickPlayEvent)(IMinecraftEventing *this);
  void (__fastcall *firePermissionsSetEvent)(IMinecraftEventing *this, const PlayerPermissionLevel, const CommandPermissionLevel, const PlayerPermissionLevel, const CommandPermissionLevel);
  void (__fastcall *fireLibraryButtonPressed)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *);
  void (__fastcall *fireCourseButtonPressed)(IMinecraftEventing *this, const std::string *, const std::string *);
  void (__fastcall *fireLessonActionTaken)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *, IMinecraftEventing::EducationLessonAction);
  void (__fastcall *fireInAppCodeBuilderActivated)(IMinecraftEventing *this, IMinecraftEventing::OpenCodeMethod);
  void (__fastcall *fireCodeCommandButtonPressed)(IMinecraftEventing *this);
  void (__fastcall *fireIDESelected)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireEventEduResources)(IMinecraftEventing *this);
  void (__fastcall *fireEventEduiOSPurchaseTransaction)(IMinecraftEventing *this, const TransactionStatus *);
  void (__fastcall *fireEventEduOptionSet)(IMinecraftEventing *this, const Option *);
  void (__fastcall *fireEventCodeBuilderClosed)(IMinecraftEventing *this);
  void (__fastcall *fireEventEduServiceStatus)(IMinecraftEventing *this, const std::string *, const std::string *, int, buffer_span<std::pair<gsl::basic_string_span<char const ,-1>,gsl::basic_string_span<char const ,-1> > >);
  void (__fastcall *fireEventWebviewDownload)(IMinecraftEventing *this, const std::string *, const WebviewDownloadInfo *);
  void (__fastcall *fireEduServiceRequestFailed)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *, buffer_span<std::pair<gsl::basic_string_span<char const ,-1>,gsl::basic_string_span<char const ,-1> > >);
  void (__fastcall *fireEventButtonPressed)(IMinecraftEventing *this, gsl::basic_string_span<char const ,-1>, buffer_span<std::pair<gsl::basic_string_span<char const ,-1>,gsl::basic_string_span<char const ,-1> > >);
  void (__fastcall *fireEventLevelDataOverride)(IMinecraftEventing *this, gsl::basic_string_span<char const ,-1>);
  void (__fastcall *fireEventEduContentVerificationFailed)(IMinecraftEventing *this);
  void (__fastcall *fireEventWorldExported)(IMinecraftEventing *this, __int64, unsigned __int64);
  void (__fastcall *fireEventControlRemappedByPlayer)(IMinecraftEventing *this, const std::string *, RawInputType, int);
  void (__fastcall *fireEventDifficultySet)(IMinecraftEventing *this, Difficulty, Difficulty);
  void (__fastcall *fireEventGameRulesUpdated)(IMinecraftEventing *this, float, float, const std::string *);
  void (__fastcall *fireEventGameRulesUpdated)(IMinecraftEventing *this, int, int, const std::string *);
  void (__fastcall *fireEventGameRulesUpdated)(IMinecraftEventing *this, bool, bool, const std::string *);
  void (__fastcall *fireEventDefaultGameTypeChanged)(IMinecraftEventing *this, GameType, GameType);
  void (__fastcall *fireEventConnectionFailed)(IMinecraftEventing *this, IMinecraftEventing::ConnectionFailureReason);
  void (__fastcall *fireEventOfferRated)(IMinecraftEventing *this, const std::string *, int, int, int, long double);
  void (__fastcall *fireEventNewContentCheckCompleted)(IMinecraftEventing *this, const std::string *, bool);
  void (__fastcall *fireEventHowToPlayTopicChanged)(IMinecraftEventing *this, const std::string *, InputMode);
  void (__fastcall *fireEventApiInit)(IMinecraftEventing *this, float, unsigned __int64);
  void (__fastcall *fireEventWorldFilesListed)(IMinecraftEventing *this, unsigned __int64, unsigned __int64, unsigned __int64, unsigned __int64);
  void (__fastcall *fireEventLabTableCreated)(IMinecraftEventing *this, int, int, int);
  void (__fastcall *fireEventPlayerMessageSay)(IMinecraftEventing *this, const std::string *, const std::string *);
  void (__fastcall *fireEventPlayerMessageTell)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *);
  void (__fastcall *fireEventPlayerMessageChat)(IMinecraftEventing *this, const std::string *, const std::string *);
  void (__fastcall *fireEventPlayerMessageMe)(IMinecraftEventing *this, const std::string *, const std::string *);
  void (__fastcall *fireEventPlayerMessageTitle)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *);
  void (__fastcall *fireEventPlayerDamaged)(IMinecraftEventing *this, Player *, ActorDamageCause);
  void (__fastcall *fireEventPlayerKicked)(IMinecraftEventing *this, const std::string *, const std::string *);
  void (__fastcall *fireEventPlayerBanned)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireEventRealmShared)(IMinecraftEventing *this, const std::string *, const IMinecraftEventing::ShareMode *, const Realms::RealmId *);
  void (__fastcall *fireEventRealmMemberlistCleared)(IMinecraftEventing *this, const Realms::RealmId *, const int *);
  void (__fastcall *fireEventRealmUrlGenerated)(IMinecraftEventing *this, const std::string *, const Realms::RealmId *);
  void (__fastcall *fireEventStructureExport)(IMinecraftEventing *this, const glTFExportData *, IMinecraftEventing::ExportOutcome, IMinecraftEventing::ExportStage);
  void (__fastcall *fireEventContentShared)(IMinecraftEventing *this, const std::string *, const std::string *, const IMinecraftEventing::ShareMode *);
  void (__fastcall *fireEventStorageReport)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireEventStackLoaded)(IMinecraftEventing *this, const StackStats *);
  void (__fastcall *fireEventUnknownBlockReceived)(IMinecraftEventing *this, const NewBlockID *, unsigned __int16);
  void (__fastcall *fireEventSignInEdu)(IMinecraftEventing *this, const std::string *, ADRole, IMinecraftEventing::EduSignInStage, const std::string *, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *fireEventPopupFiredEdu)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *, const std::string *, const ActiveDirectoryAction);
  void (__fastcall *fireEventAppConfigurationChanged)(IMinecraftEventing *this);
  void (__fastcall *fireEventPurchaseGameAttempt)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *);
  void (__fastcall *fireEventTrialDeviceIdCorrelation)(IMinecraftEventing *this, __int64, const std::string *, __int64, const std::string *);
  void (__fastcall *fireEventPushNotificationPermission)(IMinecraftEventing *this, bool, const std::string *);
  void (__fastcall *fireEventPushNotificationReceived)(IMinecraftEventing *this, const PushNotificationMessage *);
  void (__fastcall *fireEventPushNotificationOpened)(IMinecraftEventing *this, const std::string *, const std::string *);
  void (__fastcall *fireEventUploadSkin)(IMinecraftEventing *this, const std::string *, const std::string *);
  void (__fastcall *firePerfTestEvent)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *, const std::vector<std::pair<std::string,float>> *);
  void (__fastcall *fireEventLicenseCheck)(IMinecraftEventing *this, bool, ExtraLicenseData *);
  void (__fastcall *fireQueryOfferResult)(IMinecraftEventing *this, const std::string *, int, bool);
  void (__fastcall *fireEventStorePromotionNotification)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireEventWorldGenerated)(IMinecraftEventing *this, const std::string *, const LevelSettings *, bool);
  void (__fastcall *fireEventCopyWorldEducationEnabled)(IMinecraftEventing *this);
  void (__fastcall *fireEventStoreOfferClicked)(IMinecraftEventing *this, int, int, int, int, int, int, const std::string *, const std::string *, bool, const std::string *);
  void (__fastcall *fireEventStoreSearch)(IMinecraftEventing *this, const StoreSearchTelemetryData *);
  void (__fastcall *fireEventSearchItemSelected)(IMinecraftEventing *this, const int, const int, const std::string *, const int, const int);
  void (__fastcall *fireEventUgcDownloadStarted)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireEventUgcDownloadCompleted)(IMinecraftEventing *this, const std::string *, bool);
  void (__fastcall *fireRealmConnectionEventRealmAPIRequest)(IMinecraftEventing *this, IMinecraftEventing::RealmConnectionFlow);
  void (__fastcall *fireRealmConnectionEventRealmAPIResponse)(IMinecraftEventing *this, IMinecraftEventing::RealmConnectionFlow, int);
  std::string *(__fastcall *getSessionId)(IMinecraftEventing *this, std::string *result);
  void (__fastcall *fireEventChunkLoaded)(IMinecraftEventing *this, LevelChunk *);
  void (__fastcall *fireEventChunkUnloaded)(IMinecraftEventing *this, LevelChunk *);
  void (__fastcall *fireEventChunkChanged)(IMinecraftEventing *this, LevelChunk *);
  void (__fastcall *fireEventMultiplayerSessionUpdate)(IMinecraftEventing *this, gsl::not_null<Level const *>, const Player *);
  void (__fastcall *fireEventLevelDestruct)(IMinecraftEventing *this);
  void (__fastcall *flagEventDeepLink)(IMinecraftEventing *this);
  void (__fastcall *flagEventPlayerGameTypeDefault)(IMinecraftEventing *this, bool);
  void (__fastcall *fileEventCloudWorldPullFailed)(IMinecraftEventing *this, const std::string *, const std::string *, bool);
  void (__fastcall *fireEventLevelDatLoadFailed)(IMinecraftEventing *this, const std::string *, const std::string *, bool);
  void (__fastcall *fireEventWorldCorruptionCausedWorldShutdown)(IMinecraftEventing *this, const std::string *, const std::string *);
  void (__fastcall *fireEventClientLeftGameDueToUnrecoverableError)(IMinecraftEventing *this, const std::string *, bool);
  void (__fastcall *fireEventServerShutdownDueToError)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireEventPersonaItemPreviewed)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *, unsigned int, unsigned int, IMinecraftEventing::PromotionType, bool, const std::string *, const std::string *, long double, IMinecraftEventing::StoreType);
  void (__fastcall *fireEventPersonaSkinChanged)(IMinecraftEventing *this, const std::string *, const std::string *, bool);
  void (__fastcall *fireEventPersonaAvatarUpdated)(IMinecraftEventing *this, const std::string *, const std::vector<std::string> *, const std::vector<bool> *, const std::vector<bool> *, bool, bool, const std::string *, const std::string *, const std::string *, bool, const std::vector<std::string> *, const std::vector<std::string> *);
  void (__fastcall *fireEventPersonaAvatarsListed)(IMinecraftEventing *this, const std::vector<std::string> *);
  void (__fastcall *fireEventPersonaEmotePlayed)(IMinecraftEventing *this, const std::string *, bool, int);
  void (__fastcall *fireEventPersonaInitalizationEvent)(IMinecraftEventing *this, unsigned int, const std::string *, const std::string *);
  void (__fastcall *fireEventPersonaGeneralError)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireEventPersonaLoadingPieces)(IMinecraftEventing *this, unsigned int, long double);
  void (__fastcall *fireEventPersonaStillLoading)(IMinecraftEventing *this, bool, bool, bool, bool, bool, bool, bool, bool);
  void (__fastcall *fireEventPersonaCreationFailed)(IMinecraftEventing *this, const std::string *, const std::string *, bool, bool, const std::string *, const std::string *);
  void (__fastcall *fireEventPersonaXForgeResponses)(IMinecraftEventing *this, const std::vector<std::string> *, int);
  void (__fastcall *fireEventPersonaCategoryInformation)(IMinecraftEventing *this, const std::string *);
  void (__fastcall *fireEventWorldHistoryPackSourceMissingDuringUpgrade)(IMinecraftEventing *this, const std::string *, const std::string *, const std::string *);
  void (__fastcall *fireEventFixedMarketplaceWorldUsingV2VillagersToUseV1)(IMinecraftEventing *this);
  void (__fastcall *fireEventAccountTransferStateChanged)(IMinecraftEventing *this, const std::string *, TransferState, const std::string *);
  void (__fastcall *fireStructureBlockAction)(IMinecraftEventing *this, IMinecraftEventing::StructureBlockActionType, const StructureEditorData *, const StructureTelemetryClientData *);
  void (__fastcall *fireStructureBlockRedstoneActivated)(IMinecraftEventing *this, IMinecraftEventing::StructureBlockActionType, const StructureEditorData *, const StructureTelemetryClientData *);
  void (__fastcall *fireEventHummingbirdError)(IMinecraftEventing *this, const unsigned int *, const std::string *);
  void (__fastcall *fireEventScreenLoaded)(IMinecraftEventing *this, const unsigned int *, const std::string *, long double, long double, long double);
  void (__fastcall *fireLevelChunkChecksumMismatchEvent)(IMinecraftEventing *this);
  void (__fastcall *fireEventVRModeChanged)(IMinecraftEventing *this, const bool);
  void (__fastcall *fireEventDeviceAccountSuccess)(IMinecraftEventing *this, bool, const std::string *);
  void (__fastcall *fireEventDeviceAccountFailure)(IMinecraftEventing *this, IMinecraftEventing::SignInStage, IMinecraftEventing::DeviceAccountFailurePhase, unsigned int, const std::string *);
  void (__fastcall *fireEventStoreConfigRetrieved)(IMinecraftEventing *this, const std::string *, int);
};

# IClientInstance_vtbl

struct /*VFT*/ IClientInstance_vtbl
{
  void (__fastcall *~IClientInstance)(IClientInstance *this);
  void (__fastcall *onInitMinecraftGame)(IClientInstance *this);
  void (__fastcall *onDestroyMinecraftGame)(IClientInstance *this);
  void (__fastcall *init)(IClientInstance *this, Core::FilePathManager *, NetworkHandler *, Timer *, Timer *, const gsl::not_null<Bedrock::NonOwnerPointer<Social::IUserManager> > *, int, IGameModuleApp *);
  void (__fastcall *initSceneFactory)(IClientInstance *this, hbui::ILibrary *, std::unique_ptr<SceneFactory>, std::unique_ptr<hbui::SceneProvider>);
  void (__fastcall *setUiRouter)(IClientInstance *this, std::unique_ptr<hbui::Router>);
  void (__fastcall *initGraphics)(IClientInstance *this);
  void (__fastcall *stop)(IClientInstance *this);
  void (__fastcall *teardown)(IClientInstance *this);
  void (__fastcall *preShutDown)(IClientInstance *this);
  void (__fastcall *requestLeaveGame)(IClientInstance *this, bool, bool);
  void (__fastcall *stopPlayScreen)(IClientInstance *this);
  bool (__fastcall *isLeaveGameDone)(IClientInstance *this);
  void (__fastcall *setupPlayScreenForLeaveGame)(IClientInstance *this);
  void (__fastcall *resetPrimaryClient)(IClientInstance *this);
  void (__fastcall *resetGameSession)(IClientInstance *this);
  void (__fastcall *tick)(IClientInstance *this);
  void (__fastcall *frameUpdate)(IClientInstance *this, FrameUpdateContext *);
  bool (__fastcall *update)(IClientInstance *this, bool);
  void (__fastcall *endFrame)(IClientInstance *this);
  void (__fastcall *startSubClientLateJoin)(IClientInstance *this, bool, std::unique_ptr<GameModuleClient>, bool);
  void (__fastcall *setupClientGame)(IClientInstance *this, std::function<void __cdecl(enum ClientGameSetupResult)> *, bool, std::unique_ptr<GameModuleClient>, bool);
  void (__fastcall *setKeyboardActive)(IClientInstance *this, bool);
  void (__fastcall *setAddOnList)(IClientInstance *this, std::vector<std::string>);
  std::vector<std::string> *(__fastcall *getAddOnList)(IClientInstance *this, std::vector<std::string> *result);
  BlockSource *(__fastcall *getRegion)(IClientInstance *this);
  const LocalPlayer *(__fastcall *getLocalPlayer)(IClientInstance *this);
  LocalPlayer *(__fastcall *getLocalPlayer)(IClientInstance *this);
  Actor *(__fastcall *getCameraEntity)(IClientInstance *this);
  void (__fastcall *setCameraEntity)(IClientInstance *this, Actor *);
  Actor *(__fastcall *getCameraTargetEntity)(IClientInstance *this);
  void (__fastcall *setCameraTargetEntity)(IClientInstance *this, Actor *);
  bool (__fastcall *isCameraBindingEntity)(IClientInstance *this);
  bool (__fastcall *resetCameraBinding)(IClientInstance *this);
  void (__fastcall *onActorRemove)(IClientInstance *this, Actor *);
  bool (__fastcall *isLeavingGame)(IClientInstance *this);
  bool (__fastcall *isDestroyingGame)(IClientInstance *this);
  bool (__fastcall *isShuttingDown)(IClientInstance *this);
  bool (__fastcall *useLowFrequencyUIRender)(IClientInstance *this);
  bool (__fastcall *isSplitScreenActive)(IClientInstance *this);
  bool (__fastcall *isVRClient)(IClientInstance *this);
  bool (__fastcall *isARClient)(IClientInstance *this);
  bool (__fastcall *isARVRClient)(IClientInstance *this);
  bool (__fastcall *isHoloviewerMode)(IClientInstance *this);
  bool (__fastcall *isHoloscreenMode)(IClientInstance *this);
  bool (__fastcall *isLivingroomMode)(IClientInstance *this);
  bool (__fastcall *isExitingLevel)(IClientInstance *this);
  bool (__fastcall *isNotVLRMode)(IClientInstance *this);
  bool (__fastcall *isHoloRealityMode)(IClientInstance *this);
  bool (__fastcall *isRealityFullVRMode)(IClientInstance *this);
  bool (__fastcall *isInBedScreen)(IClientInstance *this);
  bool (__fastcall *isKeyboardEnabled)(IClientInstance *this);
  bool (__fastcall *isVRTransitioning)(IClientInstance *this);
  bool (__fastcall *hasCommands)(IClientInstance *this);
  bool (__fastcall *isScriptingEnabled)(IClientInstance *this);
  float (__fastcall *getHoloviewerScale)(IClientInstance *this);
  int (__fastcall *getSplitScreenCount)(IClientInstance *this);
  bool (__fastcall *isStereoRendering)(IClientInstance *this);
  bool (__fastcall *isPlatformNX)(IClientInstance *this);
  bool (__fastcall *isLocalSplitscreenWith)(IClientInstance *this, const ActorUniqueID *);
  bool (__fastcall *isValidCrossPlatformSkin)(IClientInstance *this);
  bool (__fastcall *isSelectedSkinInitialized)(IClientInstance *this);
  SplitScreenInfo *(__fastcall *getSplitScreenInfo)(IClientInstance *this, SplitScreenInfo *result);
  int (__fastcall *getCurrentMaxGUIScaleIndex)(IClientInstance *this);
  const float *(__fastcall *getRealityModeFrameFactor)(IClientInstance *this);
  void (__fastcall *setRealityModeFrameFactor)(IClientInstance *this, const float *);
  bool (__fastcall *getRealityModeToggleTriggered)(IClientInstance *this);
  void (__fastcall *setRealityModeToggleTriggered)(IClientInstance *this, bool);
  bool (__fastcall *getHandlingControllerDisconnect)(IClientInstance *this);
  void (__fastcall *setOpenControllerDisconnectScreen)(IClientInstance *this, bool);
  const ClientPlayMode *(__fastcall *getClientPlayMode)(IClientInstance *this);
  void (__fastcall *setClientPlayMode)(IClientInstance *this, const ClientPlayMode *);
  bool (__fastcall *getLivingRoomForCredits)(IClientInstance *this);
  void (__fastcall *setLivingRoomForCredits)(IClientInstance *this, bool);
  std::function<void __cdecl(void)> *(__fastcall *getCreditsCallback)(IClientInstance *this, std::function<void __cdecl(void)> *result);
  void (__fastcall *setCreditsCallback)(IClientInstance *this, std::function<void __cdecl(void)>);
  void (__fastcall *setupTransitionForCredits)(IClientInstance *this, std::function<void __cdecl(void)>);
  void (__fastcall *refreshScreenSizeData)(IClientInstance *this);
  void (__fastcall *onScreenSizeChanged)(IClientInstance *this, int, int, float);
  void (__fastcall *onGuiScaleOffsetChanged)(IClientInstance *this);
  void (__fastcall *onSafeZoneChanged)(IClientInstance *this);
  void (__fastcall *quit)(IClientInstance *this, const std::string *, const std::string *);
  IMinecraftGame *(__fastcall *getMinecraftGame)(IClientInstance *this);
  Automation::AutomationClient *(__fastcall *getAutomationClient)(IClientInstance *this);
  IMinecraftEventing *(__fastcall *getEventing)(IClientInstance *this);
  FontHandle *(__fastcall *getFontHandle)(IClientInstance *this, FontHandle *result);
  FontHandle *(__fastcall *getRuneFontHandle)(IClientInstance *this, FontHandle *result);
  FontHandle *(__fastcall *getUnicodeFontHandle)(IClientInstance *this, FontHandle *result);
  GeometryGroup *(__fastcall *getGeometryGroup)(IClientInstance *this);
  Social::MultiplayerServiceManager *(__fastcall *getMultiplayerServiceManager)(IClientInstance *this);
  Level *(__fastcall *getLocalServerLevel)(IClientInstance *this);
  ResourcePackRepository *(__fastcall *getResourcePackRepository)(IClientInstance *this);
  ResourcePackManager *(__fastcall *getResourcePackManager)(IClientInstance *this);
  PackManifestFactory *(__fastcall *getPackManifestFactory)(IClientInstance *this);
  const IContentKeyProvider *(__fastcall *getKeyProvider)(IClientInstance *this);
  ResourcePacksInfoData *(__fastcall *getResourcePacksInfoData)(IClientInstance *this);
  std::shared_ptr<SkinRepository> *(__fastcall *getSkinRepository)(IClientInstance *this, std::shared_ptr<SkinRepository> *result);
  SkinRepositoryClientInterface *(__fastcall *getSkinRepositoryClientInterface)(IClientInstance *this);
  persona::PersonaPieceCollectionModel *(__fastcall *getPersonaPieceCollectionModel)(IClientInstance *this);
  PersonaRepository *(__fastcall *getPersonaRepository)(IClientInstance *this);
  mce::TextureGroup *(__fastcall *getTextures)(IClientInstance *this);
  mce::TextureGroup *(__fastcall *getStoreCacheTextures)(IClientInstance *this);
  MinecraftGraphics *(__fastcall *getMinecraftGraphics)(IClientInstance *this);
  UIRepository *(__fastcall *getUIRepository)(IClientInstance *this);
  gsl::not_null<Bedrock::NonOwnerPointer<Social::IUserManager> > *(__fastcall *getUserManager)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<Social::IUserManager> > *result);
  bool (__fastcall *wantToQuit)(IClientInstance *this);
  bool (__fastcall *isPrimaryLevelCrossPlatformMultiplayer)(IClientInstance *this);
  bool (__fastcall *isPrimaryLevelMultiplayer)(IClientInstance *this);
  bool (__fastcall *isAdhocEnabled)(IClientInstance *this);
  void (__fastcall *linkToOffer)(IClientInstance *this, const std::string *, bool, const std::string *, StoreNavigationOrigin);
  void (__fastcall *linkToAllOffers)(IClientInstance *this, const std::string *, const std::string *, bool, const std::string *, const bool);
  void (__fastcall *navigateToBrazeScreen)(IClientInstance *this, const std::string *, const std::string *, const std::string *, const std::string *, const std::string *, const std::string *, const std::string *);
  void (__fastcall *navigateToStoreHomeScreen)(IClientInstance *this);
  void (__fastcall *navigateToCoinPurchaseScreen)(IClientInstance *this, int, std::function<void __cdecl(bool)>);
  void (__fastcall *navigateToPurchaseOfferScreen)(IClientInstance *this, StoreCatalogItem *, StoreNavigationOrigin, const bool);
  void (__fastcall *navigateToOfferCollectionScreen)(IClientInstance *this, StoreCatalogItem *);
  void (__fastcall *navigateToStoreSeeAllByCreatorScreen)(IClientInstance *this, const std::string *, const bool);
  void (__fastcall *navigateToServersScreen)(IClientInstance *this, const bool);
  void (__fastcall *navigateToHowToPlayScreen)(IClientInstance *this, const std::string *);
  void (__fastcall *tryPushLeaveGameScreen)(IClientInstance *this);
  void (__fastcall *doPushLeaveGameScreen)(IClientInstance *this);
  void (__fastcall *tryStartDayOneExperience)(IClientInstance *this);
  bool (__fastcall *isReadyToRender)(IClientInstance *this);
  void (__fastcall *onDimensionChangedEvent)(IClientInstance *this);
  void (__fastcall *onGameEventNotification)(IClientInstance *this, ui::GameEventNotification);
  std::string *(__fastcall *getTopScreenName)(IClientInstance *this, std::string *result);
  void (__fastcall *setLeaveGameInProgressAsReadyToContinue)(IClientInstance *this);
  void (__fastcall *stopDestroying)(IClientInstance *this);
  void (__fastcall *onClientCreatedLevel)(IClientInstance *this, std::unique_ptr<Level>, std::unique_ptr<LocalPlayer>);
  unsigned __int64 (__fastcall *getClientRandomId)(IClientInstance *this);
  UserAuthentication *(__fastcall *getUserAuthentication)(IClientInstance *this);
  std::weak_ptr<UserAuthentication> *(__fastcall *getWeakUserAuthentication)(IClientInstance *this, std::weak_ptr<UserAuthentication> *result);
  void (__fastcall *registerToUserManager)(IClientInstance *this, const gsl::not_null<Bedrock::NonOwnerPointer<Social::IUserManager> > *, int);
  void (__fastcall *resumeWithUserManager)(IClientInstance *this, const gsl::not_null<Bedrock::NonOwnerPointer<Social::IUserManager> > *, int);
  void (__fastcall *createUserAuthentication)(IClientInstance *this, unsigned __int64, const std::string *);
  void (__fastcall *createUserAuthentication)(IClientInstance *this, std::string);
  std::string *(__fastcall *getPlatformId)(IClientInstance *this, std::string *result);
  std::string *(__fastcall *getPlatformOnlineId)(IClientInstance *this, std::string *result);
  bool (__fastcall *isHoloCursorNeeded)(IClientInstance *this);
  bool (__fastcall *useController)(IClientInstance *this);
  bool (__fastcall *useTouchscreen)(IClientInstance *this);
  bool (__fastcall *getMouseGrabbed)(IClientInstance *this);
  bool (__fastcall *currentInputModeIsGamePadOrMotionController)(IClientInstance *this);
  bool (__fastcall *currentInputModeIsMouseAndKeyboard)(IClientInstance *this);
  bool (__fastcall *getForceMonoscopic)(IClientInstance *this);
  bool (__fastcall *allowPicking)(IClientInstance *this);
  bool (__fastcall *isShowingMenu)(IClientInstance *this);
  bool (__fastcall *isShowingProgressScreen)(IClientInstance *this);
  bool (__fastcall *isShowingWorldProgressScreen)(IClientInstance *this);
  bool (__fastcall *isShowingDeathScreen)(IClientInstance *this);
  bool (__fastcall *isScreenReplaceable)(IClientInstance *this);
  bool (__fastcall *isInGame)(IClientInstance *this);
  bool (__fastcall *isInRealm)(IClientInstance *this);
  bool (__fastcall *readyForShutdown)(IClientInstance *this);
  bool (__fastcall *isPrimaryClient)(IClientInstance *this);
  bool (__fastcall *isEduMode)(IClientInstance *this);
  bool (__fastcall *isGamepadCursorEnabled)(IClientInstance *this);
  const Minecraft *(__fastcall *getServerData)(IClientInstance *this);
  Minecraft *(__fastcall *getServerData)(IClientInstance *this);
  const MultiPlayerLevel *(__fastcall *getLevel)(IClientInstance *this);
  MultiPlayerLevel *(__fastcall *getLevel)(IClientInstance *this);
  bool (__fastcall *isPreGame)(IClientInstance *this);
  bool (__fastcall *isInMultiplayerGame)(IClientInstance *this);
  bool (__fastcall *isMultiPlayerClient)(IClientInstance *this);
  const Options *(__fastcall *getOptions)(IClientInstance *this);
  Options *(__fastcall *getOptions)(IClientInstance *this);
  const std::shared_ptr<Options const > *(__fastcall *getOptionsPtr)(IClientInstance *this, const std::shared_ptr<Options const > *result);
  std::shared_ptr<Options> *(__fastcall *getOptionsPtr)(IClientInstance *this, std::shared_ptr<Options> *result);
  const std::shared_ptr<Social::User const > *(__fastcall *getUser)(IClientInstance *this, const std::shared_ptr<Social::User const > *result);
  std::shared_ptr<Social::User> *(__fastcall *getUser)(IClientInstance *this, std::shared_ptr<Social::User> *result);
  GameRenderer *(__fastcall *getGameRenderer)(IClientInstance *this);
  HolosceneRenderer *(__fastcall *getHolosceneRenderer)(IClientInstance *this);
  LevelRenderer *(__fastcall *getLevelRenderer)(IClientInstance *this);
  LevelRendererCameraProxy *(__fastcall *getLevelRendererCameraProxy)(IClientInstance *this);
  const CameraManager *(__fastcall *getCameraManager)(IClientInstance *this);
  CameraManager *(__fastcall *getCameraManager)(IClientInstance *this);
  LightTexture *(__fastcall *getLightTexture)(IClientInstance *this);
  void (__fastcall *setupLevelRendering)(IClientInstance *this, Level *, Actor *);
  const mce::ViewportInfo *(__fastcall *getViewportInfo)(IClientInstance *this);
  void (__fastcall *setViewportInfo)(IClientInstance *this, const mce::ViewportInfo *);
  Vec2 *(__fastcall *getNormalizedViewportSize)(IClientInstance *this, Vec2 *result);
  void (__fastcall *updateChunkRadius)(IClientInstance *this);
  void (__fastcall *setUITexture)(IClientInstance *this, mce::Texture *);
  mce::Texture *(__fastcall *getUITexture)(IClientInstance *this);
  void (__fastcall *setLevelTexture)(IClientInstance *this, mce::Texture *);
  mce::Texture *(__fastcall *getLevelTexture)(IClientInstance *this);
  void (__fastcall *setUICursorTexture)(IClientInstance *this, mce::TexturePtr);
  mce::TexturePtr *(__fastcall *getUICursorTexture)(IClientInstance *this, mce::TexturePtr *result);
  mce::Camera *(__fastcall *getCamera)(IClientInstance *this);
  ShaderColor *(__fastcall *getShaderColor)(IClientInstance *this);
  ShaderColor *(__fastcall *getDarkShaderColor)(IClientInstance *this);
  void (__fastcall *clearGraphicsCache)(IClientInstance *this);
  void (__fastcall *getNormalizedUICursorTransform)(IClientInstance *this, MatrixStack::MatrixStackRef *, float);
  bool (__fastcall *shouldRenderUICursor)(IClientInstance *this);
  bool (__fastcall *getRenderPlayerModel)(IClientInstance *this);
  bool (__fastcall *getCameraFacesPlayerFront)(IClientInstance *this);
  float (__fastcall *getGuiScale)(IClientInstance *this);
  const Option *(__fastcall *getGuiScaleOption)(IClientInstance *this);
  int (__fastcall *getGuiScaleOffset)(IClientInstance *this);
  void (__fastcall *setGuiScaleOffset)(IClientInstance *this, int);
  void (__fastcall *renderImGui)(IClientInstance *this, ScreenContext *, bool);
  const GuiData *(__fastcall *getGuiData)(IClientInstance *this);
  GuiData *(__fastcall *getGuiData)(IClientInstance *this);
  GuidedFlowManager *(__fastcall *getGuidedFlowManager)(IClientInstance *this);
  const PixelCalc *(__fastcall *getDpadScale)(IClientInstance *this);
  gsl::not_null<Bedrock::NonOwnerPointer<DateManager const > > *(__fastcall *getDateManager)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<DateManager const > > *result);
  void (__fastcall *addOverrideHoursToDateTime)(IClientInstance *this, const unsigned int);
  ToastManager *(__fastcall *getToastManager)(IClientInstance *this);
  const AbstractScene *(__fastcall *getTopScene)(IClientInstance *this);
  AbstractScene *(__fastcall *getTopScene)(IClientInstance *this);
  const AbstractScene *(__fastcall *getActiveScene)(IClientInstance *this);
  AbstractScene *(__fastcall *getActiveScene)(IClientInstance *this);
  SceneFactory *(__fastcall *getSceneFactory)(IClientInstance *this);
  SceneStack *(__fastcall *getClientSceneStack)(IClientInstance *this);
  const SceneStack *(__fastcall *getClientSceneStack)(IClientInstance *this);
  hbui::Router *(__fastcall *getClientUIRouter)(IClientInstance *this);
  const SceneStack *(__fastcall *getMainSceneStack)(IClientInstance *this);
  SceneStack *(__fastcall *getMainSceneStack)(IClientInstance *this);
  SceneStack *(__fastcall *getCurrentSceneStack)(IClientInstance *this);
  const SceneStack *(__fastcall *getCurrentSceneStack)(IClientInstance *this);
  const hbui::Router *(__fastcall *getCurrentUIRouter)(IClientInstance *this);
  hbui::Router *(__fastcall *getCurrentUIRouter)(IClientInstance *this);
  hbui::ITelemetry *(__fastcall *getHBUITelemetry)(IClientInstance *this);
  SceneStack *(__fastcall *prepareSceneFor)(IClientInstance *this, const ui::SceneType, std::function<std::shared_ptr<AbstractScene> __cdecl(void)>);
  CachedScenes *(__fastcall *getCachedScenes)(IClientInstance *this);
  std::string *(__fastcall *getScreenName)(IClientInstance *this, std::string *result);
  std::string *(__fastcall *getScreenTelemetry)(IClientInstance *this, std::string *result);
  ui::SceneType (__fastcall *getTopSceneType)(IClientInstance *this);
  MobEffectsLayout *(__fastcall *getMobEffectsLayout)(IClientInstance *this);
  std::string *(__fastcall *emoticonifyText)(IClientInstance *this, std::string *result, const std::string *, bool);
  std::string *(__fastcall *emoticonifyText)(IClientInstance *this, std::string *result, const std::string *);
  void (__fastcall *onMobEffectsChange)(IClientInstance *this);
  void (__fastcall *setUISizeAndScale)(IClientInstance *this, int, int, float);
  void (__fastcall *forEachVisibleScreen)(IClientInstance *this, std::function<void __cdecl(AbstractScene &)>, bool);
  void (__fastcall *forEachScreen)(IClientInstance *this, std::function<bool __cdecl(AbstractScene &)>, bool);
  void (__fastcall *forEachScreenConst)(IClientInstance *this, std::function<bool __cdecl(AbstractScene const &)>, bool);
  bool (__fastcall *updateSceneStack)(IClientInstance *this);
  void (__fastcall *forEachAlwaysAcceptInputScreen)(IClientInstance *this, std::function<void __cdecl(AbstractScene &)>, const AbstractScene *);
  void (__fastcall *forEachAlwaysAcceptInputScreenWithTop)(IClientInstance *this, std::function<void __cdecl(AbstractScene &)>);
  void (__fastcall *showPlayerProfile)(IClientInstance *this, const std::string *, mce::UUID, const std::string *, const std::string *);
  InputMode (__fastcall *getCurrentInputMode)(IClientInstance *this);
  bool (__fastcall *isTouchGameplayAllowed)(IClientInstance *this);
  MinecraftInputHandler *(__fastcall *getMinecraftInput)(IClientInstance *this);
  void (__fastcall *setHoloInput)(IClientInstance *this, std::unique_ptr<HolographicPlatform>);
  HolographicPlatform *(__fastcall *getHoloInput)(IClientInstance *this);
  VoiceSystem *(__fastcall *getVoiceSystem)(IClientInstance *this);
  KeyboardManager *(__fastcall *getKeyboardManager)(IClientInstance *this);
  void (__fastcall *setVoiceSystem)(IClientInstance *this, std::unique_ptr<VoiceSystem>);
  void (__fastcall *setLastPointerLocation)(IClientInstance *this, float, float, float);
  Vec3 *(__fastcall *getLastPointerLocation)(IClientInstance *this);
  bool (__fastcall *shouldUseLastPointerLocationOnFocusChange)(IClientInstance *this);
  void (__fastcall *adjustGazeCursorByMouse)(IClientInstance *this, float, float);
  bool (__fastcall *currentScreenShouldStealMouse)(IClientInstance *this);
  BuildActionIntention *(__fastcall *getInProgressBAI)(IClientInstance *this);
  bool (__fastcall *newDictationDataAvailable)(IClientInstance *this);
  void (__fastcall *clearDictationDataAvailable)(IClientInstance *this);
  const std::string *(__fastcall *getDictationText)(IClientInstance *this);
  PacketSender *(__fastcall *getPacketSender)(IClientInstance *this);
  const NetworkHandler *(__fastcall *getClientNetworkSystem)(IClientInstance *this);
  NetworkHandler *(__fastcall *getClientNetworkSystem)(IClientInstance *this);
  void (__fastcall *setMoveTurnInput)(IClientInstance *this, std::unique_ptr<MoveInputHandler>);
  MoveInputHandler *(__fastcall *getMoveTurnInput)(IClientInstance *this);
  void (__fastcall *setupPersistentControls)(IClientInstance *this, InputMode);
  void (__fastcall *resetPlayerMovement)(IClientInstance *this);
  void (__fastcall *onClientInputInitComplete)(IClientInstance *this);
  void (__fastcall *setClientInputHandler)(IClientInstance *this, std::unique_ptr<ClientInputHandler>);
  ClientInputHandler *(__fastcall *getInput)(IClientInstance *this);
  int (__fastcall *getControllerId)(IClientInstance *this);
  bool (__fastcall *hasConnectedController)(IClientInstance *this);
  unsigned __int8 (__fastcall *getClientSubId)(IClientInstance *this);
  void (__fastcall *setSuspendInput)(IClientInstance *this, bool);
  void (__fastcall *setDisableInput)(IClientInstance *this, bool);
  void (__fastcall *grabMouse)(IClientInstance *this);
  void (__fastcall *releaseMouse)(IClientInstance *this);
  void (__fastcall *refocusMouse)(IClientInstance *this, bool);
  void (__fastcall *resetBai)(IClientInstance *this, int);
  void (__fastcall *clearInProgressBAI)(IClientInstance *this);
  gsl::not_null<Bedrock::NonOwnerPointer<SoundEngine> > *(__fastcall *getSoundEngine)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<SoundEngine> > *result);
  void (__fastcall *play)(IClientInstance *this, const std::string *, const Vec3 *, float, float);
  void (__fastcall *playUI)(IClientInstance *this, const std::string *, float, float);
  void (__fastcall *muteAudio)(IClientInstance *this);
  void (__fastcall *unMuteAudio)(IClientInstance *this);
  void (__fastcall *fadeOutMusic)(IClientInstance *this);
  TaskGroup *(__fastcall *getTaskGroup)(IClientInstance *this);
  void (__fastcall *onFullVanillaPackOnStack)(IClientInstance *this);
  bool (__fastcall *isFullVanillaPackOnStack)(IClientInstance *this);
  void (__fastcall *onPlayerLoaded)(IClientInstance *this, Player *);
  void (__fastcall *setClientGameMode)(IClientInstance *this, GameType);
  void (__fastcall *resetToDefaultGameMode)(IClientInstance *this);
  void (__fastcall *connectToThirdPartyServer)(IClientInstance *this, const std::string *, const std::string *, int);
  void (__fastcall *startExternalNetworkWorld)(IClientInstance *this, Social::GameConnectionInfo, const std::string *, bool);
  bool (__fastcall *checkForPiracy)(IClientInstance *this);
  void (__fastcall *updateChatFilterStatus)(IClientInstance *this);
  void (__fastcall *updateControllerHandling)(IClientInstance *this);
  void (__fastcall *setBehaviorCommandCallback)(IClientInstance *this, std::function<void __cdecl(std::string const &,enum BehaviorStatus)>);
  void (__fastcall *setBehaviorCommandStatus)(IClientInstance *this, std::string, BehaviorStatus);
  void (__fastcall *setConnectGamepadScreenActive)(IClientInstance *this, bool);
  Core::PathBuffer<std::string > *(__fastcall *requestScreenshot)(IClientInstance *this, Core::PathBuffer<std::string > *result, ScreenshotOptions *);
  DevConsoleLogger *(__fastcall *getDevConsoleLogger)(IClientInstance *this);
  std::shared_ptr<FileDataRequest> *(__fastcall *requestImageFromUrl)(IClientInstance *this, std::shared_ptr<FileDataRequest> *result, const std::string *, std::function<void __cdecl(Core::Path const &)>);
  void (__fastcall *initializeRenderResources)(IClientInstance *this);
  void (__fastcall *postInitRenderResources)(IClientInstance *this);
  void (__fastcall *onAppSuspended)(IClientInstance *this);
  void (__fastcall *onActiveResourcePacksChanged)(IClientInstance *this, const ActorResourceDefinitionGroup *);
  void (__fastcall *reloadEntityRenderers)(IClientInstance *this, const ActorResourceDefinitionGroup *);
  BlockTessellator *(__fastcall *getBlockTessellator)(IClientInstance *this);
  BlockActorRenderDispatcher *(__fastcall *getBlockEntityRenderDispatcher)(IClientInstance *this);
  ActorRenderDispatcher *(__fastcall *getEntityRenderDispatcher)(IClientInstance *this);
  ActorBlockRenderer *(__fastcall *getEntityBlockRenderer)(IClientInstance *this);
  ItemInHandRenderer *(__fastcall *getItemInHandRenderer)(IClientInstance *this);
  ItemRenderer *(__fastcall *getItemRenderer)(IClientInstance *this);
  std::deque<std::string> *(__fastcall *getSentMessageHistory)(IClientInstance *this);
  std::deque<std::string> *(__fastcall *getDevConsoleMessageHistory)(IClientInstance *this);
  const UIProfanityContext *(__fastcall *getUIProfanityContext)(IClientInstance *this);
  void (__fastcall *initTTSClient)(IClientInstance *this, TextToSpeechSystem *);
  std::shared_ptr<TextToSpeechClient const > *(__fastcall *getTTSClient)(IClientInstance *this, std::shared_ptr<TextToSpeechClient const > *result);
  std::shared_ptr<TextToSpeechClient> *(__fastcall *getTTSClient)(IClientInstance *this, std::shared_ptr<TextToSpeechClient> *result);
  std::shared_ptr<ITTSEventManager> *(__fastcall *getTTSEventManager)(IClientInstance *this, std::shared_ptr<ITTSEventManager> *result);
  void (__fastcall *addTTSMessage)(IClientInstance *this, const std::string *, ProfanityFilterContext, bool, bool, bool);
  void (__fastcall *initCommands)(IClientInstance *this);
  unsigned int (__fastcall *getUserId)(IClientInstance *this);
  long double (__fastcall *getServerConnectionTime)(IClientInstance *this);
  const ClientHMDState *(__fastcall *getHMDState)(IClientInstance *this);
  ClientHMDState *(__fastcall *getHMDState)(IClientInstance *this);
  void (__fastcall *setServerPingTime)(IClientInstance *this, int);
  int (__fastcall *getServerPingTime)(IClientInstance *this);
  void (__fastcall *setDefaultPlayscreenTab)(IClientInstance *this, PlayScreenDefaultTab);
  void (__fastcall *setClientInstanceState)(IClientInstance *this, const ClientInstanceState *);
  void (__fastcall *setUIEventCoordinator)(IClientInstance *this, std::unique_ptr<UIEventCoordinator> *);
  gsl::not_null<Bedrock::NonOwnerPointer<UIEventCoordinator> > *(__fastcall *getUIEventCoordinator)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<UIEventCoordinator> > *result);
  gsl::not_null<Bedrock::NonOwnerPointer<ClientInstanceEventCoordinator> > *(__fastcall *getEventCoordinator)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<ClientInstanceEventCoordinator> > *result);
  void (__fastcall *computeScreenCoordsFromScreenNormCoords)(IClientInstance *this, float, float, __int16 *, __int16 *);
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > *(__fastcall *getNoBlockBreakUntil)(IClientInstance *this, std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > *result);
  void (__fastcall *setNoBlockBreakUntil)(IClientInstance *this, std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > >);
  void (__fastcall *setDictation)(IClientInstance *this, const std::string *);
  void (__fastcall *setNewDictationString)(IClientInstance *this, bool);
  GameModuleClient *(__fastcall *getGameModule)(IClientInstance *this);
  GameCallbacks *(__fastcall *getGameCallbacks)(IClientInstance *this);
  Core::StorageAreaStateListener *(__fastcall *getStorageAreaStateListener)(IClientInstance *this);
  MinecraftClientScriptEngine *(__fastcall *getScriptEngine)(IClientInstance *this);
  void (__fastcall *sendClientEnteredLevel)(IClientInstance *this);
  HitDetectSystem *(__fastcall *getHitDetectSystem)(IClientInstance *this);
  int (__fastcall *getScreenWidth)(IClientInstance *this);
  int (__fastcall *getScreenHeight)(IClientInstance *this);
  bool (__fastcall *getResponse)(IClientInstance *this);
  void (__fastcall *setResponse)(IClientInstance *this, bool);
  HitResult *(__fastcall *getPickResult)(IClientInstance *this, HitResult *result, int, int);
  unsigned __int64 (__fastcall *playCustomSound)(IClientInstance *this, const std::string *, Vec3, float, float);
  void (__fastcall *stopCustomSound)(IClientInstance *this, unsigned __int64);
  void (__fastcall *stopCustomSound)(IClientInstance *this, const std::string *);
  void (__fastcall *stopSounds)(IClientInstance *this);
  void (__fastcall *playDeferredCustomSound)(IClientInstance *this, const std::string *, const Vec3 *, float, float);
  void (__fastcall *playRecord)(IClientInstance *this, const std::string *, const Vec3 *, float, float);
  void (__fastcall *stopRecord)(IClientInstance *this, const Vec3 *);
  bool (__fastcall *getCrossHair)(IClientInstance *this);
  void (__fastcall *setCrossHair)(IClientInstance *this, bool);
  bool (__fastcall *isMouseHooked)(IClientInstance *this);
  void (__fastcall *setMouseHook)(IClientInstance *this, bool);
  void (__fastcall *updateMoveStates)(IClientInstance *this);
  void (__fastcall *updateFlyStates)(IClientInstance *this);
  void (__fastcall *updateSwimStates)(IClientInstance *this);
  bool (__fastcall *takeScreenshot)(IClientInstance *this, cg::ImageBuffer *);
  void (__fastcall *setHideSnakeGUI)(IClientInstance *this, bool);
  bool (__fastcall *getHideSnakeGUI)(IClientInstance *this);
  bool (__fastcall *isPlaying)(IClientInstance *this);
  ClientInstanceState (__fastcall *getClientInstanceState)(IClientInstance *this);
  LatencyGraphDisplay *(__fastcall *getLatencyGraphDisplay)(IClientInstance *this);
  std::weak_ptr<IClientInstance> *(__fastcall *getWeakPtrToThis)(IClientInstance *this, std::weak_ptr<IClientInstance> *result);
  const ClientRequirementVerifier *(__fastcall *getClientRequirementVerifier)(IClientInstance *this);
  gsl::not_null<Bedrock::NonOwnerPointer<FogDefinitionRegistry> > *(__fastcall *getFogDefinitionRegistry)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<FogDefinitionRegistry> > *result);
  gsl::not_null<Bedrock::NonOwnerPointer<FogDefinitionRegistry const > > *(__fastcall *getFogDefinitionRegistry)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<FogDefinitionRegistry const > > *result);
  gsl::not_null<Bedrock::NonOwnerPointer<FogManager> > *(__fastcall *getFogManager)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<FogManager> > *result);
  gsl::not_null<Bedrock::NonOwnerPointer<FogManager const > > *(__fastcall *getFogManager)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<FogManager const > > *result);
};

# IWorldRegistriesProvider

struct __cppobj IWorldRegistriesProvider
{
  IWorldRegistriesProvider_vtbl *__vftable /*VFT*/;
};

# IStructurePoolBlockPredicate

struct __cppobj IStructurePoolBlockPredicate
{
  IStructurePoolBlockPredicate_vtbl *__vftable /*VFT*/;
};

# IStructurePoolBlockPredicate_vtbl

struct /*VFT*/ IStructurePoolBlockPredicate_vtbl
{
  void (__fastcall *~IStructurePoolBlockPredicate)(IStructurePoolBlockPredicate *this);
  bool (__fastcall *test)(IStructurePoolBlockPredicate *this, const BlockPos *, const BlockPos *, Random *);
  bool (__fastcall *test)(IStructurePoolBlockPredicate *this, const Block *, Random *);
};

# IStructurePoolBlockTagPredicate

struct __cppobj IStructurePoolBlockTagPredicate
{
  IStructurePoolBlockTagPredicate_vtbl *__vftable /*VFT*/;
};

# IStructurePoolBlockTagPredicate_vtbl

struct /*VFT*/ IStructurePoolBlockTagPredicate_vtbl
{
  void (__fastcall *~IStructurePoolBlockTagPredicate)(IStructurePoolBlockTagPredicate *this);
  bool (__fastcall *test)(IStructurePoolBlockTagPredicate *this, const Block *, const CompoundTag *);
};

# IStructurePoolActorPredicate

struct __cppobj IStructurePoolActorPredicate
{
  IStructurePoolActorPredicate_vtbl *__vftable /*VFT*/;
};

# IStructurePoolActorPredicate_vtbl

struct /*VFT*/ IStructurePoolActorPredicate_vtbl
{
  void (__fastcall *~IStructurePoolActorPredicate)(IStructurePoolActorPredicate *this);
  bool (__fastcall *test)(IStructurePoolActorPredicate *this, const std::string *);
};

# ISurfaceBuilder

struct __cppobj ISurfaceBuilder
{
  ISurfaceBuilder_vtbl *__vftable /*VFT*/;
};

# ISurfaceBuilder_vtbl

struct /*VFT*/ ISurfaceBuilder_vtbl
{
  void (__fastcall *~ISurfaceBuilder)(ISurfaceBuilder *this);
  void (__fastcall *init)(ISurfaceBuilder *this, EntityContext *, unsigned int);
  void (__fastcall *buildSurfaceAt)(ISurfaceBuilder *this, Biome *, Random *, BlockVolume *, const BlockPos *, float, __int16, std::unique_ptr<PerlinSimplexNoise> *);
};

# IWorldRegistriesProvider_vtbl

struct /*VFT*/ IWorldRegistriesProvider_vtbl
{
  void (__fastcall *~IWorldRegistriesProvider)(IWorldRegistriesProvider *this);
  BiomeRegistry *(__fastcall *getBiomeRegistry)(IWorldRegistriesProvider *this);
  const BiomeRegistry *(__fastcall *getBiomeRegistry)(IWorldRegistriesProvider *this);
  BlockPalette *(__fastcall *getBlockPalette)(IWorldRegistriesProvider *this);
  const BlockPalette *(__fastcall *getBlockPalette)(IWorldRegistriesProvider *this);
  FeatureRegistry *(__fastcall *getFeatureRegistry)(IWorldRegistriesProvider *this);
  const FeatureRegistry *(__fastcall *getFeatureRegistry)(IWorldRegistriesProvider *this);
  FeatureTypeFactory *(__fastcall *getFeatureTypeFactory)(IWorldRegistriesProvider *this);
  const FeatureTypeFactory *(__fastcall *getFeatureTypeFactory)(IWorldRegistriesProvider *this);
  JigsawStructureRegistry *(__fastcall *getJigsawStructureRegistry)(IWorldRegistriesProvider *this);
  const JigsawStructureRegistry *(__fastcall *getJigsawStructureRegistry)(IWorldRegistriesProvider *this);
  StructureManager *(__fastcall *getStructureManager)(IWorldRegistriesProvider *this);
  const StructureManager *(__fastcall *getStructureManager)(IWorldRegistriesProvider *this);
  BiomeComponentFactory *(__fastcall *getBiomeComponentFactory)(IWorldRegistriesProvider *this);
  const BiomeComponentFactory *(__fastcall *getBiomeComponentFactory)(IWorldRegistriesProvider *this);
  SurfaceBuilderRegistry *(__fastcall *getSurfaceBuilderRegistry)(IWorldRegistriesProvider *this);
  const SurfaceBuilderRegistry *(__fastcall *getSurfaceBuilderRegistry)(IWorldRegistriesProvider *this);
  Factory<Dimension,Level &,Scheduler &,AutomaticID<Dimension,int> &> *(__fastcall *getDimensionFactory)(IWorldRegistriesProvider *this);
  const Factory<Dimension,Level &,Scheduler &,AutomaticID<Dimension,int> &> *(__fastcall *getDimensionFactory)(IWorldRegistriesProvider *this);
};

# IFeature_vtbl

struct /*VFT*/ IFeature_vtbl
{
  void (__fastcall *~IFeature)(IFeature *this);
  std::optional<BlockPos> *(__fastcall *place)(IFeature *this, std::optional<BlockPos> *result, IBlockWorldGenAPI *, const BlockPos *, Random *, RenderParams *);
  std::string *(__fastcall *getStructureName)(IFeature *this, std::string *result);
  bool (__fastcall *parse)(IFeature *this, const rapidjson::GenericValue<rapidjson::UTF8<char>,rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > *, IWorldRegistriesProvider *);
};

# IBlockWorldGenAPI_vtbl

struct /*VFT*/ IBlockWorldGenAPI_vtbl
{
  void (__fastcall *~IBlockWorldGenAPI)(IBlockWorldGenAPI *this);
  const Block *(__fastcall *getBlock)(IBlockWorldGenAPI *this, const BlockPos *);
  bool (__fastcall *hasBiomeTag)(IBlockWorldGenAPI *this, unsigned __int64, const BlockPos *);
  bool (__fastcall *setBlock)(IBlockWorldGenAPI *this, const BlockPos *, const Block *, int);
  bool (__fastcall *apply)(IBlockWorldGenAPI *this);
  bool (__fastcall *placeStructure)(IBlockWorldGenAPI *this, const BlockPos *, StructureTemplate *, StructureSettings *);
  bool (__fastcall *mayPlace)(IBlockWorldGenAPI *this, const BlockPos *, const Block *);
  bool (__fastcall *canSurvive)(IBlockWorldGenAPI *this, const BlockPos *, const Block *);
  __int16 (__fastcall *getMaxHeight)(IBlockWorldGenAPI *this);
  __int16 (__fastcall *getMinHeight)(IBlockWorldGenAPI *this);
  bool (__fastcall *shimPlaceForOldFeatures)(IBlockWorldGenAPI *this, const Feature *, const BlockPos *, Random *);
  __int16 (__fastcall *getHeightmap)(IBlockWorldGenAPI *this, int, int);
  bool (__fastcall *isLegacyLevel)(IBlockWorldGenAPI *this);
};

# ICameraItemComponent_vtbl

struct /*VFT*/ ICameraItemComponent_vtbl
{
  void (__fastcall *~ICameraItemComponent)(ICameraItemComponent *this);
  float (__fastcall *blackBarsDuration)(ICameraItemComponent *this);
  float (__fastcall *blackBarsScreenRatio)(ICameraItemComponent *this);
  float (__fastcall *shutterScreenRatio)(ICameraItemComponent *this);
  float (__fastcall *shutterDuration)(ICameraItemComponent *this);
  float (__fastcall *pictureDuration)(ICameraItemComponent *this);
  float (__fastcall *slideAwayDuration)(ICameraItemComponent *this);
  bool (__fastcall *canPlace)(ICameraItemComponent *this, const ItemStack *, Actor *, const BlockPos *, unsigned __int8);
  void (__fastcall *takePictureNow)(ICameraItemComponent *this, Player *, Actor *, Actor *);
  void (__fastcall *registerCallbacks)(ICameraItemComponent *this, CameraCallbacks *);
  void (__fastcall *use)(ICameraItemComponent *this, ItemStack *, Player *);
  void (__fastcall *releaseUsing)(ICameraItemComponent *this, ItemStack *, Player *, int);
  bool (__fastcall *useOn)(ICameraItemComponent *this, ItemStack *, Actor *, const BlockPos *, unsigned __int8, const Vec3 *);
};

# IFoodItemComponent

struct __cppobj IFoodItemComponent
{
  IFoodItemComponent_vtbl *__vftable /*VFT*/;
};

# IFoodItemComponent_vtbl

struct /*VFT*/ IFoodItemComponent_vtbl
{
  void (__fastcall *~IFoodItemComponent)(IFoodItemComponent *this);
  int (__fastcall *getNutrition)(IFoodItemComponent *this);
  float (__fastcall *getSaturationModifier)(IFoodItemComponent *this);
  const Item *(__fastcall *eatItem)(IFoodItemComponent *this, ItemStack *, Actor *, Level *);
  bool (__fastcall *use)(IFoodItemComponent *this, ItemStack *, Player *);
  const Item *(__fastcall *useTimeDepleted)(IFoodItemComponent *this, ItemStack *, Player *, Level *);
};

# ItemComponent

struct __cppobj ItemComponent
{
  ItemComponent_vtbl *__vftable /*VFT*/;
  ComponentItem *mOwner;
};

# ItemComponent_vtbl

struct /*VFT*/ ItemComponent_vtbl
{
  void (__fastcall *~ItemComponent)(ItemComponent *this);
  bool (__fastcall *checkComponentDataForContentErrors)(ItemComponent *this);
  void (__fastcall *writeSettings)(ItemComponent *this);
  bool (__fastcall *useOn)(ItemComponent *this, ItemStack *, Actor *, const BlockPos *, unsigned __int8, const Vec3 *);
  bool (__fastcall *isNetworkComponent)(ItemComponent *this);
  std::unique_ptr<CompoundTag> *(__fastcall *buildNetworkTag)(ItemComponent *this, std::unique_ptr<CompoundTag> *result);
  void (__fastcall *initializeFromNetwork)(ItemComponent *this, const CompoundTag *);
};

# ItemState_vtbl

struct /*VFT*/ ItemState_vtbl
{
  void (__fastcall *~ItemState)(ItemState *this);
  void (__fastcall *toNBT)(ItemState *this, CompoundTag *, int);
  bool (__fastcall *fromNBT)(ItemState *this, const CompoundTag *, int *);
};

# ItemModelComponent

struct __cppobj ItemModelComponent
{
  Vec3 mFpsTran;
  Vec3 mFpsRot;
  Vec3 mTpsTran;
  Vec3 mTpsRot;
  float mFpsScale;
  float mTpsScale;
  std::string mModelName;
  const Item *mOwner;
};

# ItemStackBase_vtbl

struct /*VFT*/ ItemStackBase_vtbl
{
  void (__fastcall *~ItemStackBase)(ItemStackBase *this);
  void (__fastcall *reinit)(ItemStackBase *this, const gsl::basic_string_span<char const ,-1>, int, int);
  void (__fastcall *reinit)(ItemStackBase *this, const BlockLegacy *, int);
  void (__fastcall *reinit)(ItemStackBase *this, const Item *, int, int);
  void (__fastcall *setNull)(ItemStackBase *this);
  std::string *(__fastcall *toString)(ItemStackBase *this, std::string *result);
  std::string *(__fastcall *toDebugString)(ItemStackBase *this, std::string *result);
  bool (__fastcall *reviewItemDirty)(ItemStackBase *this, SensitiveWordsManager *, const std::string *);
};

# ItemStack_vtbl

struct /*VFT*/ ItemStack_vtbl
{
  void (__fastcall *~ItemStackBase)(ItemStackBase *this);
  void (__fastcall *reinit)(ItemStackBase *this, const gsl::basic_string_span<char const ,-1>, int, int);
  void (__fastcall *reinit)(ItemStackBase *this, const BlockLegacy *, int);
  void (__fastcall *reinit)(ItemStackBase *this, const Item *, int, int);
  void (__fastcall *setNull)(ItemStackBase *this);
  std::string *(__fastcall *toString)(ItemStackBase *this, std::string *result);
  std::string *(__fastcall *toDebugString)(ItemStackBase *this, std::string *result);
  bool (__fastcall *reviewItemDirty)(ItemStackBase *this, SensitiveWordsManager *, const std::string *);
};

# Inventory

struct __cppobj Inventory : FillingContainer
{
};

# Inventory_vtbl

struct /*VFT*/ Inventory_vtbl
{
  void (__fastcall *~Container)(Container *this);
  void (__fastcall *init)(Container *this);
  void (__fastcall *serverInitItemStackIds)(Container *this, int, int, std::function<void __cdecl(int,ItemStack const &)>);
  void (__fastcall *addContentChangeListener)(Container *this, ContainerContentChangeListener *);
  void (__fastcall *removeContentChangeListener)(Container *this, ContainerContentChangeListener *);
  const ItemStack *(__fastcall *getItem)(Container *this, int);
  bool (__fastcall *hasRoomForItem)(Container *this, const ItemStack *);
  void (__fastcall *addItem)(Container *this, ItemStack *);
  bool (__fastcall *addItemToFirstEmptySlot)(Container *this, ItemStack *);
  void (__fastcall *setItem)(Container *this, int, const ItemStack *);
  void (__fastcall *setItemWithForceBalance)(Container *this, int, const ItemStack *, bool);
  void (__fastcall *removeItem)(Container *this, int, int);
  void (__fastcall *removeAllItems)(Container *this);
  void (__fastcall *dropContents)(Container *this, BlockSource *, const Vec3 *, bool);
  int (__fastcall *getContainerSize)(Container *this);
  int (__fastcall *getMaxStackSize)(Container *this);
  void (__fastcall *startOpen)(Container *this, Player *);
  void (__fastcall *stopOpen)(Container *this, Player *);
  std::vector<ItemStack> *(__fastcall *getSlotCopies)(Container *this, std::vector<ItemStack> *result);
  const std::vector<ItemStack const *> *(__fastcall *getSlots)(Container *this, const std::vector<ItemStack const *> *result);
  int (__fastcall *getItemCount)(Container *this, const ItemStack *);
  int (__fastcall *findFirstSlotForItem)(Container *this, const ItemStack *);
  bool (__fastcall *canPushInItem)(Container *this, BlockSource *, int, int, const ItemInstance *);
  bool (__fastcall *canPullOutItem)(Container *this, BlockSource *, int, int, const ItemInstance *);
  void (__fastcall *setContainerChanged)(Container *this, int);
  void (__fastcall *setContainerMoved)(Container *this);
  void (__fastcall *setCustomName)(Container *this, const std::string *);
  bool (__fastcall *hasCustomName)(Container *this);
  void (__fastcall *readAdditionalSaveData)(Container *this, const CompoundTag *);
  void (__fastcall *addAdditionalSaveData)(Container *this, CompoundTag *);
  void (__fastcall *createTransactionContext)(Container *this, std::function<void __cdecl(Container &,int,ItemStack const &,ItemStack const &)>, std::function<void __cdecl(void)>);
  void (__fastcall *initializeContainerContents)(Container *this, BlockSource *);
  bool (__fastcall *reviewItems)(Container *this, Level *);
  bool (__fastcall *add)(FillingContainer *this, ItemStack *);
  bool (__fastcall *canAdd)(FillingContainer *this, const ItemStack *);
  void (__fastcall *clearSlot)(FillingContainer *this, int);
  int (__fastcall *clearInventory)(FillingContainer *this, int);
  void (__fastcall *load)(FillingContainer *this, const ListTag *, const SemVersion *, Level *);
  int (__fastcall *getEmptySlotsCount)(FillingContainer *this);
  int (__fastcall *getFirstEmptySlot)(Inventory *this);
  void (__fastcall *setContainerSize)(Inventory *this, int);
};

# ItemStackNetManagerBase

struct __cppobj ItemStackNetManagerBase
{
  ItemStackNetManagerBase_vtbl *__vftable /*VFT*/;
  const bool mIsEnabled;
  const bool mIsClientSide;
  Player *mPlayer;
  OwnerPtrT<EntityRegistryRefTraits> mEntityRegistry;
  std::unique_ptr<ItemStackNetManagerScreenStack> mScreenStack;
  bool mCurrentRequestHasCraftAction;
  TypedClientNetId<ItemStackLegacyRequestIdTag,int,0> mLegacyTransactionRequestId;
};

# ItemStackNetManagerScreen

struct __cppobj ItemStackNetManagerScreen
{
  ItemStackNetManagerScreen_vtbl *__vftable /*VFT*/;
  OwnerPtrT<EntityRefTraits> mEntity;
};

# ItemStackNetManagerScreen_vtbl

struct /*VFT*/ ItemStackNetManagerScreen_vtbl
{
  void (__fastcall *~ItemStackNetManagerScreen)(ItemStackNetManagerScreen *this);
};

# ItemStackNetManagerBase_vtbl

struct /*VFT*/ ItemStackNetManagerBase_vtbl
{
  void (__fastcall *~ItemStackNetManagerBase)(ItemStackNetManagerBase *this);
  bool (__fastcall *isEnabled)(ItemStackNetManagerBase *this);
  TypedClientNetId<ItemStackRequestIdTag,int,0> *(__fastcall *getRequestId)(ItemStackNetManagerBase *this, TypedClientNetId<ItemStackRequestIdTag,int,0> *result);
  bool (__fastcall *retainSetItemStackNetIdVariant)(ItemStackNetManagerBase *this);
  bool (__fastcall *allowInventoryTransactionManager)(ItemStackNetManagerBase *this);
  gsl::final_action<std::function<void __cdecl(void)> > *(__fastcall *_tryBeginClientLegacyTransactionRequest)(ItemStackNetManagerBase *this, gsl::final_action<std::function<void __cdecl(void)> > *result);
  void (__fastcall *onContainerScreenOpen)(ItemStackNetManagerBase *this, const ContainerScreenContext *);
  void (__fastcall *onContainerScreenClose)(ItemStackNetManagerBase *this);
  SparseContainer *(__fastcall *initOpenContainer)(ItemStackNetManagerBase *this, BlockSource *, ContainerEnumName, const ContainerWeakRef *);
  void (__fastcall *_addLegacyTransactionRequestSetItemSlot)(ItemStackNetManagerBase *this, ItemStackNetManagerScreen *, ContainerType, int);
  void (__fastcall *_initScreen)(ItemStackNetManagerBase *this, ItemStackNetManagerScreen *);
};

# ItemStackNetManagerScreenStack

struct __cppobj ItemStackNetManagerScreenStack
{
  std::deque<std::unique_ptr<ItemStackNetManagerScreen>> mStack;
};

# InventoryTransactionManager

struct __cppobj InventoryTransactionManager
{
  Player *mPlayer;
  std::unique_ptr<InventoryTransaction> mCurrentTransaction;
  std::vector<InventoryAction> mExpectedActions;
};

# IGameModeTimer

struct __cppobj IGameModeTimer
{
  IGameModeTimer_vtbl *__vftable /*VFT*/;
};

# IGameModeTimer_vtbl

struct /*VFT*/ IGameModeTimer_vtbl
{
  void (__fastcall *~IGameModeTimer)(IGameModeTimer *this);
  long double (__fastcall *getDestroyProgressSeconds)(IGameModeTimer *this);
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > *(__fastcall *getCurrentDestroyDelayTime)(IGameModeTimer *this, std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > *result);
  void (__fastcall *tick)(IGameModeTimer *this);
};

# IGameModeMessenger

struct __cppobj IGameModeMessenger
{
  IGameModeMessenger_vtbl *__vftable /*VFT*/;
};

# IGameModeMessenger_vtbl

struct /*VFT*/ IGameModeMessenger_vtbl
{
  void (__fastcall *~IGameModeMessenger)(IGameModeMessenger *this);
  gsl::final_action<std::function<void __cdecl(void)> > *(__fastcall *createBlockBreakCaptureScope)(IGameModeMessenger *this, gsl::final_action<std::function<void __cdecl(void)> > *result, std::function<void __cdecl(ItemStack const &,ItemStack const &,BlockPos const &)>);
  void (__fastcall *sendDenyDestroyBlock)(IGameModeMessenger *this, const BlockPos *, int);
  void (__fastcall *sendStartDestroyBlock)(IGameModeMessenger *this, const BlockPos *, int);
  bool (__fastcall *sendTryDestroyBlock)(IGameModeMessenger *this, const BlockPos *, int, const std::function<bool __cdecl(std::optional<ItemStack> &)> *);
  void (__fastcall *sendDestroyBlock)(IGameModeMessenger *this, const Block *, const BlockPos *, int, bool);
  void (__fastcall *sendChangeContinueDestroyBlock)(IGameModeMessenger *this, const BlockPos *, int);
  void (__fastcall *sendContinueDestroyAboutToDestroyBlock)(IGameModeMessenger *this, const BlockPos *, int);
  void (__fastcall *sendStopDestroyBlock)(IGameModeMessenger *this, const BlockPos *, float);
  void (__fastcall *sendCreativeDestroyExtinguishFire)(IGameModeMessenger *this, const BlockPos *, int);
};

# ItemStateInstance

struct __cppobj ItemStateInstance
{
  const unsigned int mMaxBits;
  unsigned int mStartBit;
  unsigned int mNumBits;
  unsigned int mVariationCount;
  unsigned int mMask;
  bool mInitialized;
  const ItemState *mState;
};

# IDType<LevelTagIDType>

struct __cppobj IDType<LevelTagIDType>
{
  std::optional<unsigned __int64> mID;
};

# IdentifierDescription_vtbl

struct /*VFT*/ IdentifierDescription_vtbl
{
  void (__fastcall *~DefintionDescription)(DefintionDescription *this);
  const char *(__fastcall *getJsonName)(DefintionDescription *this);
};

# IsSpawnableDescription_vtbl

struct /*VFT*/ IsSpawnableDescription_vtbl
{
  void (__fastcall *~DefintionDescription)(DefintionDescription *this);
  const char *(__fastcall *getJsonName)(DefintionDescription *this);
};

# IsSummonableDescription_vtbl

struct /*VFT*/ IsSummonableDescription_vtbl
{
  void (__fastcall *~DefintionDescription)(DefintionDescription *this);
  const char *(__fastcall *getJsonName)(DefintionDescription *this);
};

# IDefinitionInstance

struct __cppobj __declspec(align(8)) IDefinitionInstance
{
  IDefinitionInstance_vtbl *__vftable /*VFT*/;
  std::string mName;
  unsigned __int16 mTypeId;
};

# IDefinitionInstance_vtbl

struct /*VFT*/ IDefinitionInstance_vtbl
{
  void (__fastcall *~IDefinitionInstance)(IDefinitionInstance *this);
  unsigned __int16 (__fastcall *getRuntimeTypeId)(IDefinitionInstance *this);
  void (__fastcall *create)(IDefinitionInstance *this, const ContextAccessor *);
  void (__fastcall *initialize)(IDefinitionInstance *this, const ContextAccessor *);
  void (__fastcall *uninitialize)(IDefinitionInstance *this, const ContextAccessor *);
  void (__fastcall *destroy)(IDefinitionInstance *this, const ContextAccessor *);
};

# IllagerBeastBlockedDescription

struct __cppobj __declspec(align(8)) IllagerBeastBlockedDescription : ComponentDescription
{
  WeightedChoices<DefinitionTrigger> mReactionChoices;
  float mKnockbackStrength;
};

# IllagerBeastBlockedDescription_vtbl

struct /*VFT*/ IllagerBeastBlockedDescription_vtbl
{
  const char *(__fastcall *getJsonName)(Description *this);
  void (__fastcall *~Description)(Description *this);
  void (__fastcall *deserializeData)(Description *this, DeserializeDataParams);
  void (__fastcall *serializeData)(Description *this, Json::Value *);
};

# IDefinitionSerializer

struct __cppobj IDefinitionSerializer
{
  IDefinitionSerializer_vtbl *__vftable /*VFT*/;
  std::string mName;
};

# IDefinitionSerializer_vtbl

struct /*VFT*/ IDefinitionSerializer_vtbl
{
  void (__fastcall *~IDefinitionSerializer)(IDefinitionSerializer *this);
  std::shared_ptr<IDefinitionInstance> *(__fastcall *serializeDefinitionInstance)(IDefinitionSerializer *this, std::shared_ptr<IDefinitionInstance> *result, const Json::Value *, bool);
};

# ItemEventListener

struct __cppobj ItemEventListener
{
  ItemEventListener_vtbl *__vftable /*VFT*/;
};

# ItemEventListener_vtbl

struct /*VFT*/ ItemEventListener_vtbl
{
  void (__fastcall *~ItemEventListener)(ItemEventListener *this);
  EventResult (__fastcall *onInventoryItemOpened)(ItemEventListener *this, bool);
  EventResult (__fastcall *onInventoryItemClosed)(ItemEventListener *this);
  EventResult (__fastcall *onItemTransferredFromContainer)(ItemEventListener *this, const ItemStackBase *, const std::string *);
  EventResult (__fastcall *onItemTransferredToContainer)(ItemEventListener *this, const ItemStackBase *, const std::string *);
  EventResult (__fastcall *onPreviewItemPopulatedInContainer)(ItemEventListener *this, const ItemStackBase *, const std::string *);
  EventResult (__fastcall *onInventoryLayoutSelected)(ItemEventListener *this, int, int);
  EventResult (__fastcall *onInventoryItemCraftedAutomaticallyByRecipe)(ItemEventListener *this, const ItemStackBase *);
  EventResult (__fastcall *onRecipeSelected)(ItemEventListener *this, const ItemStackBase *);
  EventResult (__fastcall *onItemSmelted)(ItemEventListener *this, Player *, const ItemDescriptor *, const ItemDescriptor *);
  EventResult (__fastcall *onItemSpawningActor)(ItemEventListener *this, const Actor *);
  EventResult (__fastcall *onItemSpawnedActor)(ItemEventListener *this, const ItemStackBase *, const Actor *);
  EventResult (__fastcall *onItemModifiedActor)(ItemEventListener *this, const ItemStackBase *, const Actor *);
  EventResult (__fastcall *onItemSelectedSlot)(ItemEventListener *this, int);
  EventResult (__fastcall *onItemSelected)(ItemEventListener *this, const ItemStackBase *);
  EventResult (__fastcall *onItemDefinitionEventTriggered)(ItemEventListener *this, const ItemStackBase *, const std::string *);
};

# ItemEventCoordinator

struct __cppobj ItemEventCoordinator : EventCoordinator<ItemEventListener>
{
};

# IUnknownBlockTypeRegistry

struct __cppobj IUnknownBlockTypeRegistry
{
  IUnknownBlockTypeRegistry_vtbl *__vftable /*VFT*/;
};

# IUnknownBlockTypeRegistry_vtbl

struct /*VFT*/ IUnknownBlockTypeRegistry_vtbl
{
  void (__fastcall *~IUnknownBlockTypeRegistry)(IUnknownBlockTypeRegistry *this);
  const Block *(__fastcall *getUnknownBlock)(IUnknownBlockTypeRegistry *this, const CompoundTag *);
};

# IEntityInitializer

struct __cppobj IEntityInitializer
{
  IEntityInitializer_vtbl *__vftable /*VFT*/;
};

# IEntityInitializer_vtbl

struct /*VFT*/ IEntityInitializer_vtbl
{
  void (__fastcall *~IEntityInitializer)(IEntityInitializer *this);
  void (__fastcall *entityInitializer)(IEntityInitializer *this, const ActorDefinitionIdentifier *, EntityContext *);
};

# ITickingSystem

struct __cppobj ITickingSystem
{
  ITickingSystem_vtbl *__vftable /*VFT*/;
};

# ITickingSystem_vtbl

struct /*VFT*/ ITickingSystem_vtbl
{
  void (__fastcall *~ITickingSystem)(ITickingSystem *this);
  void (__fastcall *tick)(ITickingSystem *this, EntityRegistry *);
};

# IBoatMovementProxy

struct __cppobj IBoatMovementProxy
{
  IBoatMovementProxy_vtbl *__vftable /*VFT*/;
};

# IBoatMovementProxy_vtbl

struct /*VFT*/ IBoatMovementProxy_vtbl
{
  void (__fastcall *~IBoatMovementProxy)(IBoatMovementProxy *this);
  void (__fastcall *computePaddleForcesBasedOnGaze)(IBoatMovementProxy *this, Vec3 *, float *, float *, float, float);
  ActorUniqueID *(__fastcall *getControllingPlayer)(IBoatMovementProxy *this, ActorUniqueID *result);
  bool (__fastcall *setPaddleForce)(IBoatMovementProxy *this, Side, float);
  bool (__fastcall *setPaddleState)(IBoatMovementProxy *this, Side, bool);
};

# IActorMovementProxy_vtbl

struct /*VFT*/ IActorMovementProxy_vtbl
{
  void (__fastcall *~IActorMovementProxy)(IActorMovementProxy *this);
  float (__fastcall *getGravity)(IActorMovementProxy *this);
  float (__fastcall *getLevelGravity)(IActorMovementProxy *this);
  bool (__fastcall *isRiding)(IActorMovementProxy *this);
  bool (__fastcall *isClientSide)(IActorMovementProxy *this);
  bool (__fastcall *isCreative)(IActorMovementProxy *this);
  bool (__fastcall *isInWater)(IActorMovementProxy *this);
  bool (__fastcall *isInLava)(IActorMovementProxy *this);
  bool (__fastcall *isInScaffolding)(IActorMovementProxy *this);
  bool (__fastcall *isOverScaffolding)(IActorMovementProxy *this);
  bool (__fastcall *isSwimming)(IActorMovementProxy *this);
  bool (__fastcall *isImmersedInWater)(IActorMovementProxy *this);
  bool (__fastcall *onClimbableBlock)(IActorMovementProxy *this);
  bool (__fastcall *onHoverableBlock)(IActorMovementProxy *this);
  bool (__fastcall *isHeadInWater)(IActorMovementProxy *this);
  bool (__fastcall *canBeginOrContinueClimbingLadder)(IActorMovementProxy *this);
  bool (__fastcall *isSwimmer)(IActorMovementProxy *this);
  bool (__fastcall *isImmobile)(IActorMovementProxy *this);
  bool (__fastcall *isControlledByLocalInstance)(IActorMovementProxy *this);
  bool (__fastcall *hasTeleported)(IActorMovementProxy *this);
  bool (__fastcall *usesOneWayCollision)(IActorMovementProxy *this);
  bool (__fastcall *isStuckInCollider)(IActorMovementProxy *this);
  void (__fastcall *setStuckInCollider)(IActorMovementProxy *this, bool);
  bool (__fastcall *isStuckItem)(IActorMovementProxy *this);
  const std::vector<AABB> *(__fastcall *getOnewayPhysicsBlocks)(IActorMovementProxy *this);
  bool (__fastcall *wasPenetratingLastFrame)(IActorMovementProxy *this);
  void (__fastcall *setWasPenetratingLastFrame)(IActorMovementProxy *this, bool);
  bool (__fastcall *isPrimaryLocalPlayer)(IActorMovementProxy *this);
  const std::vector<AABB> *(__fastcall *getSubAABBs)(IActorMovementProxy *this);
  void (__fastcall *setSubAABBs)(IActorMovementProxy *this, const std::vector<AABB> *);
  bool (__fastcall *isStackable)(IActorMovementProxy *this);
  void (__fastcall *testForEntityStacking)(IActorMovementProxy *this, const AABB *, std::vector<AABB> *);
  bool (__fastcall *getCollidableMobNear)(IActorMovementProxy *this);
  void (__fastcall *setCollidableMobNear)(IActorMovementProxy *this, bool);
  void (__fastcall *testForCollidableMobs)(IActorMovementProxy *this, const AABB *, std::vector<AABB> *);
  float (__fastcall *getWalkDist)(IActorMovementProxy *this);
  void (__fastcall *setWalkDist)(IActorMovementProxy *this, float);
  bool (__fastcall *isOnGround)(IActorMovementProxy *this);
  void (__fastcall *setOnGround)(IActorMovementProxy *this, bool);
  bool (__fastcall *wasOnGround)(IActorMovementProxy *this);
  void (__fastcall *setWasOnGround)(IActorMovementProxy *this, bool);
  int (__fastcall *getHealth)(IActorMovementProxy *this);
  bool (__fastcall *getHorizontalCollision)(IActorMovementProxy *this);
  void (__fastcall *setHorizontalCollision)(IActorMovementProxy *this, bool);
  bool (__fastcall *getVerticalCollision)(IActorMovementProxy *this);
  void (__fastcall *setVerticalCollision)(IActorMovementProxy *this, bool);
  bool (__fastcall *getCollision)(IActorMovementProxy *this);
  void (__fastcall *setCollision)(IActorMovementProxy *this, bool);
  float (__fastcall *getUserDefineMaxAutoStep)(IActorMovementProxy *this);
  float (__fastcall *getMaxAutoStep)(IActorMovementProxy *this);
  bool (__fastcall *isFree)(IActorMovementProxy *this, const Vec3 *);
  float (__fastcall *getHeightOffset)(IActorMovementProxy *this);
  Vec2 *(__fastcall *getSlideOffset)(IActorMovementProxy *this, Vec2 *result);
  void (__fastcall *setSlideOffset)(IActorMovementProxy *this, const Vec2 *);
  void (__fastcall *setTerrainSurfaceOffset)(IActorMovementProxy *this, float);
  const Vec3 *(__fastcall *getBlockMovementSlowdownMultiplier)(IActorMovementProxy *this);
  void (__fastcall *setBlockMovementSlowdownMultiplier)(IActorMovementProxy *this, const Vec3 *);
  float (__fastcall *getCurrentSwimAmount)(IActorMovementProxy *this);
  const WaterMovementComponent *(__fastcall *tryGetWaterMovementComponent)(IActorMovementProxy *this);
  const AttributeInstance *(__fastcall *getAttribute)(IActorMovementProxy *this, const Attribute *);
  bool (__fastcall *hasEffect)(IActorMovementProxy *this, const MobEffect *);
  const MobEffectInstance *(__fastcall *getEffect)(IActorMovementProxy *this, const MobEffect *);
  int (__fastcall *getActiveEffectCount)(IActorMovementProxy *this);
  const SynchedActorData *(__fastcall *getEntityData)(IActorMovementProxy *this);
  void (__fastcall *setStatusFlag)(IActorMovementProxy *this, ActorFlags, bool);
  bool (__fastcall *getStatusFlag)(IActorMovementProxy *this, ActorFlags);
  bool (__fastcall *hasCategory)(IActorMovementProxy *this, ActorCategory);
  bool (__fastcall *isType)(IActorMovementProxy *this, ActorType);
  Vec3 *(__fastcall *getPosition)(IActorMovementProxy *this, Vec3 *result);
  void (__fastcall *setPosition)(IActorMovementProxy *this, const Vec3 *);
  Vec2 *(__fastcall *getRotation)(IActorMovementProxy *this, Vec2 *result);
  void (__fastcall *setRotation)(IActorMovementProxy *this, const Vec2 *);
  const StateVectorComponent *(__fastcall *getStateVectorComponent)(IActorMovementProxy *this);
  StateVectorComponent *(__fastcall *getStateVectorComponentNonConst)(IActorMovementProxy *this);
  const AABBShapeComponent *(__fastcall *getAABBShapeComponent)(IActorMovementProxy *this);
  AABBShapeComponent *(__fastcall *getAABBShapeComponentNonConst)(IActorMovementProxy *this);
  void (__fastcall *setFallDistance)(IActorMovementProxy *this, float);
  bool (__fastcall *isSneaking)(IActorMovementProxy *this);
  void (__fastcall *setSneaking)(IActorMovementProxy *this, bool);
  Vec3 *(__fastcall *getHeadLookVector)(IActorMovementProxy *this, Vec3 *result, float);
  Vec3 *(__fastcall *getViewVector)(IActorMovementProxy *this, Vec3 *result, float);
  const BlockSource *(__fastcall *getRegion)(IActorMovementProxy *this);
  BlockSource *(__fastcall *getRegion)(IActorMovementProxy *this);
  std::vector<AABB> *(__fastcall *fetchCollisionShapes)(IActorMovementProxy *this, const AABB *, float *, bool, IActorMovementProxy *);
  const std::vector<std::shared_ptr<IActorMovementProxy>> *(__fastcall *fetchEntities)(IActorMovementProxy *this, const IActorMovementProxy *, const AABB *);
  bool (__fastcall *hasRegion)(IActorMovementProxy *this);
  IActorMovementProxy *(__fastcall *getRide)(IActorMovementProxy *this);
  bool (__fastcall *isWASDControlled)(IActorMovementProxy *this);
  int (__fastcall *getControllingSeat)(IActorMovementProxy *this);
  int (__fastcall *getRiderIndex)(IActorMovementProxy *this, const IActorMovementProxy *);
  IBoatMovementProxy *(__fastcall *tryAsBoat)(IActorMovementProxy *this);
  IMobMovementProxy *(__fastcall *tryAsMob)(IActorMovementProxy *this);
  IPlayerMovementProxy *(__fastcall *tryAsPlayer)(IActorMovementProxy *this);
  const std::vector<ActorUniqueID> *(__fastcall *getRiderIDs)(IActorMovementProxy *this);
  const ActorUniqueID *(__fastcall *getUniqueID)(IActorMovementProxy *this);
  ActorRuntimeID *(__fastcall *getRuntimeID)(IActorMovementProxy *this, ActorRuntimeID *result);
  AABB *(__fastcall *getHandleWaterAABB)(IActorMovementProxy *this, AABB *result);
  BlockPos *(__fastcall *getBlockPosCurrentlyStandingOn)(IActorMovementProxy *this, BlockPos *result, IActorMovementProxy *);
  void (__fastcall *blockOnStandOn)(IActorMovementProxy *this, const Block *, const BlockPos *);
  bool (__fastcall *_containsSneakCollisionShapes)(IActorMovementProxy *this, const AABB *);
  void (__fastcall *move)(IActorMovementProxy *this, const Vec3 *);
  void (__fastcall *moveBBs)(IActorMovementProxy *this, const Vec3 *);
  void (__fastcall *checkFallDamage)(IActorMovementProxy *this, float, bool);
  void (__fastcall *onBounceStarted)(IActorMovementProxy *this, const BlockPos *, const Block *);
  void (__fastcall *updatePrevPosRot)(IActorMovementProxy *this);
  void (__fastcall *sendActorMove)(IActorMovementProxy *this, const Vec3 *);
  void (__fastcall *_teleportTo)(IActorMovementProxy *this, const Vec3 *, bool, int, int);
  Actor *(__fastcall *_getActor)(IActorMovementProxy *this);
  const Actor *(__fastcall *_getRawActor)(IActorMovementProxy *this);
  Actor *(__fastcall *_getRawActor)(IActorMovementProxy *this);
  SynchedActorData *(__fastcall *_getEntityData)(IActorMovementProxy *this);
  const Vec2 *(__fastcall *_getRotPrev)(IActorMovementProxy *this);
  void (__fastcall *_setRotPrev)(IActorMovementProxy *this, const Vec2 *);
  void (__fastcall *_setPreviousPosRot)(IActorMovementProxy *this, const Vec3 *, const Vec2 *);
  void (__fastcall *_setHasTeleported)(IActorMovementProxy *this, bool);
  gsl::not_null<BaseAttributeMap *> *(__fastcall *_getAttributes)(IActorMovementProxy *this, gsl::not_null<BaseAttributeMap *> *result);
  void (__fastcall *_applySnapshot)(IActorMovementProxy *this, const PlayerSnapshot *);
  std::unique_ptr<PlayerSnapshot> *(__fastcall *_createSnapshot)(IActorMovementProxy *this, std::unique_ptr<PlayerSnapshot> *result);
  AdvanceFrameResult (__fastcall *_advanceLiveFrame)(IActorMovementProxy *this, const IReplayableActorInput *);
};

# ItemActor

struct __cppobj __declspec(align(8)) ItemActor : Actor
{
  ItemStack mItem;
  int mAge;
  int mPickupDelay;
  int mThrowTime;
  float mBobOffs;
  int mHealth;
  int mLifeTime;
  bool mIsInItemFrame;
  bool mIsFromFishing;
};

# ISecureStorageKeySystem

struct __cppobj ISecureStorageKeySystem
{
  ISecureStorageKeySystem_vtbl *__vftable /*VFT*/;
};

# ISecureStorageKeySystem_vtbl

struct /*VFT*/ ISecureStorageKeySystem_vtbl
{
  void (__fastcall *~ISecureStorageKeySystem)(ISecureStorageKeySystem *this);
  SecureStorageKey *(__fastcall *getSecureStorageKey)(ISecureStorageKeySystem *this, SecureStorageKey *result, const std::string *);
  void (__fastcall *setSecureStorageKey)(ISecureStorageKeySystem *this, const std::string *, const SecureStorageKey *);
};

# IAppPlatform

struct __cppobj IAppPlatform : Bedrock::EnableNonOwnerReferences
{
  IAppPlatform_vtbl *__vftable /*VFT*/;
};

# IAppPlatform_vtbl

struct /*VFT*/ IAppPlatform_vtbl
{
  void (__fastcall *~IAppPlatform)(IAppPlatform *this);
  bool (__fastcall *restartRequested)(IAppPlatform *this);
  Core::PathBuffer<std::string > *(__fastcall *getLoggingPath)(IAppPlatform *this, Core::PathBuffer<std::string > *result);
  bool (__fastcall *isLowMemoryDevice)(IAppPlatform *this);
};

# ItemStackNetManagerClient

struct __cppobj ItemStackNetManagerClient : ItemStackNetManagerBase
{
  bool mIsHandlingResponse;
  std::unique_ptr<ItemStackRequestData> mRequest;
  std::unique_ptr<ItemStackRequestBatch> mRequestBatch;
  WeakRefT<EntityRefTraits> mRequestScreen;
};

# ItemStackNetManagerClient_vtbl

struct /*VFT*/ ItemStackNetManagerClient_vtbl
{
  void (__fastcall *~ItemStackNetManagerBase)(ItemStackNetManagerBase *this);
  bool (__fastcall *isEnabled)(ItemStackNetManagerBase *this);
  TypedClientNetId<ItemStackRequestIdTag,int,0> *(__fastcall *getRequestId)(ItemStackNetManagerBase *this, TypedClientNetId<ItemStackRequestIdTag,int,0> *result);
  bool (__fastcall *retainSetItemStackNetIdVariant)(ItemStackNetManagerBase *this);
  bool (__fastcall *allowInventoryTransactionManager)(ItemStackNetManagerBase *this);
  gsl::final_action<std::function<void __cdecl(void)> > *(__fastcall *_tryBeginClientLegacyTransactionRequest)(ItemStackNetManagerBase *this, gsl::final_action<std::function<void __cdecl(void)> > *result);
  void (__fastcall *onContainerScreenOpen)(ItemStackNetManagerBase *this, const ContainerScreenContext *);
  void (__fastcall *onContainerScreenClose)(ItemStackNetManagerBase *this);
  SparseContainer *(__fastcall *initOpenContainer)(ItemStackNetManagerBase *this, BlockSource *, ContainerEnumName, const ContainerWeakRef *);
  void (__fastcall *_addLegacyTransactionRequestSetItemSlot)(ItemStackNetManagerBase *this, ItemStackNetManagerScreen *, ContainerType, int);
  void (__fastcall *_initScreen)(ItemStackNetManagerBase *this, ItemStackNetManagerScreen *);
};

# ISubChunkBlockStoragePaletted

const struct __cppobj ISubChunkBlockStoragePaletted : SubChunkBlockStorage
{
};

# IDType<TagSetIDType>

struct __cppobj IDType<TagSetIDType>
{
  std::optional<unsigned __int64> mID;
};

# InheritanceTree<BiomeRegistry::BiomeParent>::InheritanceTreeNode

struct __cppobj __declspec(align(8)) InheritanceTree<BiomeRegistry::BiomeParent>::InheritanceTreeNode
{
  std::string name;
  BiomeRegistry::BiomeParent val;
  std::vector<InheritanceTree<BiomeRegistry::BiomeParent>::InheritanceTreeNode *,std::allocator<InheritanceTree<BiomeRegistry::BiomeParent>::InheritanceTreeNode *> > child;
  bool isVisited;
};

# InvertableFilter<std::string >

struct __cppobj __declspec(align(8)) InvertableFilter<std::string >
{
  std::string value;
  bool inverted;
};

# InvertableFilter<ActorDefinitionIdentifier>

struct __cppobj __declspec(align(8)) InvertableFilter<ActorDefinitionIdentifier>
{
  ActorDefinitionIdentifier value;
  bool inverted;
};

# IntOption_vtbl

struct /*VFT*/ IntOption_vtbl
{
  void (__fastcall *~Option)(Option *this);
  void (__fastcall *save)(Option *this, std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *load)(Option *this, const Json::Value *);
  void (__fastcall *load)(Option *this, std::map<std::string,std::string> *);
  void (__fastcall *load)(Option *this, const std::string *);
};

# ItemEventResponseFactory

struct __cppobj ItemEventResponseFactory : EventResponseFactory
{
};

# ItemEventResponseFactory_vtbl

struct /*VFT*/ ItemEventResponseFactory_vtbl
{
  void (__fastcall *~EventResponseFactory)(EventResponseFactory *this);
  void (__fastcall *initializeFactory)(EventResponseFactory *this, const Experiments *);
};

# ItemRegistry

struct __cppobj ItemRegistry
{
};

# ItemRegistry::ItemAlias

struct __cppobj ItemRegistry::ItemAlias
{
  HashedString currentName;
  BaseGameVersion sinceVersion;
};

# ItemRegistry::ItemHashAlias

struct __cppobj ItemRegistry::ItemHashAlias
{
  unsigned __int64 aliasName;
  BaseGameVersion sinceVersion;
};

# I18n

struct __cppobj I18n
{
};

# IScreenSettings

struct __cppobj IScreenSettings
{
  IScreenSettings_vtbl *__vftable /*VFT*/;
};

# IScreenSettings_vtbl

struct /*VFT*/ IScreenSettings_vtbl
{
  void (__fastcall *~IScreenSettings)(IScreenSettings *this);
  bool (__fastcall *getScreenIsNotFlushable)(IScreenSettings *this);
  void (__fastcall *setScreenIsNotFlushable)(IScreenSettings *this, bool);
  bool (__fastcall *getAlwaysAcceptsInput)(IScreenSettings *this);
  void (__fastcall *setAlwaysAcceptsInput)(IScreenSettings *this, bool);
  bool (__fastcall *getRenderGameBehind)(IScreenSettings *this);
  void (__fastcall *setRenderGameBehind)(IScreenSettings *this, bool);
  bool (__fastcall *getAbsorbsInput)(IScreenSettings *this);
  void (__fastcall *setAbsorbsInput)(IScreenSettings *this, bool);
  bool (__fastcall *getIsShowingMenu)(IScreenSettings *this);
  void (__fastcall *setIsShowingMenu)(IScreenSettings *this, bool);
  bool (__fastcall *getIsModal)(IScreenSettings *this);
  void (__fastcall *setIsModal)(IScreenSettings *this, bool);
  bool (__fastcall *getShouldStealMouse)(IScreenSettings *this);
  void (__fastcall *setShouldStealMouse)(IScreenSettings *this, bool);
  bool (__fastcall *getLowFreqRendering)(IScreenSettings *this);
  void (__fastcall *setLowFreqRendering)(IScreenSettings *this, bool);
  bool (__fastcall *getScreenDrawsLast)(IScreenSettings *this);
  void (__fastcall *setScreenDrawsLast)(IScreenSettings *this, bool);
  bool (__fastcall *getIsVRMode)(IScreenSettings *this);
  void (__fastcall *setIsVRMode)(IScreenSettings *this, bool);
  bool (__fastcall *getForceRenderBelow)(IScreenSettings *this);
  void (__fastcall *setForceRenderBelow)(IScreenSettings *this, bool);
  bool (__fastcall *getShouldSendEvents)(IScreenSettings *this);
  void (__fastcall *setShouldSendEvents)(IScreenSettings *this, bool);
  bool (__fastcall *getCloseOnPlayerHurt)(IScreenSettings *this);
  void (__fastcall *setCloseOnPlayerHurt)(IScreenSettings *this, bool);
  bool (__fastcall *getCacheScreen)(IScreenSettings *this);
  void (__fastcall *setCacheScreen)(IScreenSettings *this, bool);
  bool (__fastcall *getGamepadCursor)(IScreenSettings *this);
  void (__fastcall *setGamepadCursor)(IScreenSettings *this, bool);
  bool (__fastcall *getGamepadCursorDeflectionMode)(IScreenSettings *this);
  void (__fastcall *setGamepadCursorDeflectionMode)(IScreenSettings *this, bool);
  float (__fastcall *getVerticalScrollDelta)(IScreenSettings *this);
  void (__fastcall *setVerticalScrollDelta)(IScreenSettings *this, float);
  bool (__fastcall *loadScreenImmediately)(IScreenSettings *this);
  void (__fastcall *setLoadScreenImmediately)(IScreenSettings *this, bool);
  bool (__fastcall *getRenderOnlyWhenTopmost)(IScreenSettings *this);
  void (__fastcall *setRenderOnlyWhenTopmost)(IScreenSettings *this, bool);
  ui::SceneType (__fastcall *getSceneType)(IScreenSettings *this);
  void (__fastcall *setSceneType)(IScreenSettings *this, ui::SceneType);
};

# IDlcValidationState

struct __cppobj IDlcValidationState
{
  IDlcValidationState_vtbl *__vftable /*VFT*/;
};

# IDlcValidationState_vtbl

struct /*VFT*/ IDlcValidationState_vtbl
{
  void (__fastcall *~IDlcValidationState)(IDlcValidationState *this);
};

# InputComponent::ScreenHoverButtonMapping

struct __declspec(align(4)) InputComponent::ScreenHoverButtonMapping
{
  unsigned int toButtonId;
  ScreenEventScope scope;
};

# InputComponent

struct __cppobj __declspec(align(8)) InputComponent : UIComponent
{
  std::vector<InputComponent::ScreenButtonMapping> mButtonMappings;
  std::vector<InputComponent::ScreenHoverButtonMapping> mHoverButtonMappings;
  ScreenEventScope mRemappingMappingScope;
  bool mAlwaysHandlePointer;
  bool mAlwaysHandleControllerDirection;
  bool mHasRemappingMapping;
  bool mAlwaysListensToInput;
  bool mModal;
  bool mInlineModal;
  bool mIgnoreHoverChange;
  bool mHoverEnabled;
  bool mConsumeHoverEvents;
  bool mRemembersModalFocus;
  bool mPreventsTouchControl;
  std::weak_ptr<UIControl> mPreviousFocusedControl;
  std::unordered_map<unsigned int,InputComponent::PressStats> mPressStats;
  std::set<int> claimeTouches;
  bool mIsEnableMultiTouch;
  bool mIsSwallowTouch;
};

# InputComponent_vtbl

struct /*VFT*/ InputComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
};

# ImageMimeTypeEnumHasher

struct __cppobj ImageMimeTypeEnumHasher
{
};

# ItemStateData

struct __cppobj __declspec(align(4)) ItemStateData
{
  ItemStack mItem;
  std::string mCollectionName;
  int mCollectionIndex;
  bool mMatch;
};

# InvalidPacksFilterGroup

struct __cppobj InvalidPacksFilterGroup
{
  std::vector<enum PackType> packFilters;
};

# InstantaneousAttributeBuff_vtbl

struct /*VFT*/ InstantaneousAttributeBuff_vtbl
{
  void (__fastcall *~AttributeBuff)(AttributeBuff *this);
  bool (__fastcall *isInstantaneous)(AttributeBuff *this);
  bool (__fastcall *isSerializable)(AttributeBuff *this);
  void (__fastcall *setDurationAmplifier)(AttributeBuff *this, std::shared_ptr<Amplifier>);
};

# InstantaneousMobEffect

struct __cppobj InstantaneousMobEffect : MobEffect
{
};

# InstantaneousMobEffect_vtbl

struct /*VFT*/ InstantaneousMobEffect_vtbl
{
  void (__fastcall *~MobEffect)(MobEffect *this);
  void (__fastcall *applyEffects)(MobEffect *this, Actor *, int, int);
  void (__fastcall *removeEffects)(MobEffect *this, Actor *);
  void (__fastcall *applyInstantaneousEffect)(MobEffect *this, Actor *, Actor *, Actor *, int, float, const MobEffectInstance *, bool);
  bool (__fastcall *isInstantaneous)(MobEffect *this);
  float (__fastcall *getAttributeModifierValue)(MobEffect *this, int, const AttributeModifier *);
  bool (__fastcall *isDurationEffectTick)(InstantaneousMobEffect *this, int, int);
};

# IUnknown_vtbl

struct /*VFT*/ IUnknown_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
};

# IHttpNegotiate

struct __cppobj IHttpNegotiate : IUnknown
{
};

# IHttpNegotiate_vtbl

struct /*VFT*/ IHttpNegotiate_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *BeginningTransaction)(IHttpNegotiate *this, const wchar_t *, const wchar_t *, unsigned int, wchar_t **);
  HRESULT (__fastcall *OnResponse)(IHttpNegotiate *this, unsigned int, const wchar_t *, const wchar_t *, wchar_t **);
};

# IViewObject

struct __cppobj IViewObject : IUnknown
{
};

# ISequentialStream

struct __cppobj ISequentialStream : IUnknown
{
};

# ISequentialStream_vtbl

struct /*VFT*/ ISequentialStream_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Read)(ISequentialStream *this, void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Write)(ISequentialStream *this, const void *, unsigned int, unsigned int *);
};

# IStream

struct __cppobj IStream : ISequentialStream
{
};

# IStream_vtbl

struct /*VFT*/ IStream_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Read)(ISequentialStream *this, void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Write)(ISequentialStream *this, const void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Seek)(IStream *this, _LARGE_INTEGER, unsigned int, _ULARGE_INTEGER *);
  HRESULT (__fastcall *SetSize)(IStream *this, _ULARGE_INTEGER);
  HRESULT (__fastcall *CopyTo)(IStream *this, IStream *, _ULARGE_INTEGER, _ULARGE_INTEGER *, _ULARGE_INTEGER *);
  HRESULT (__fastcall *Commit)(IStream *this, unsigned int);
  HRESULT (__fastcall *Revert)(IStream *this);
  HRESULT (__fastcall *LockRegion)(IStream *this, _ULARGE_INTEGER, _ULARGE_INTEGER, unsigned int);
  HRESULT (__fastcall *UnlockRegion)(IStream *this, _ULARGE_INTEGER, _ULARGE_INTEGER, unsigned int);
  HRESULT (__fastcall *Stat)(IStream *this, tagSTATSTG *, unsigned int);
  HRESULT (__fastcall *Clone)(IStream *this, IStream **);
};

# IStorage

struct __cppobj IStorage : IUnknown
{
};

# IEnumSTATSTG

struct __cppobj IEnumSTATSTG : IUnknown
{
};

# IEnumSTATSTG_vtbl

struct /*VFT*/ IEnumSTATSTG_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Next)(IEnumSTATSTG *this, unsigned int, tagSTATSTG *, unsigned int *);
  HRESULT (__fastcall *Skip)(IEnumSTATSTG *this, unsigned int);
  HRESULT (__fastcall *Reset)(IEnumSTATSTG *this);
  HRESULT (__fastcall *Clone)(IEnumSTATSTG *this, IEnumSTATSTG **);
};

# IStorage_vtbl

struct /*VFT*/ IStorage_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CreateStream)(IStorage *this, const wchar_t *, unsigned int, unsigned int, unsigned int, IStream **);
  HRESULT (__fastcall *OpenStream)(IStorage *this, const wchar_t *, void *, unsigned int, unsigned int, IStream **);
  HRESULT (__fastcall *CreateStorage)(IStorage *this, const wchar_t *, unsigned int, unsigned int, unsigned int, IStorage **);
  HRESULT (__fastcall *OpenStorage)(IStorage *this, const wchar_t *, IStorage *, unsigned int, wchar_t **, unsigned int, IStorage **);
  HRESULT (__fastcall *CopyTo)(IStorage *this, unsigned int, const _GUID *, wchar_t **, IStorage *);
  HRESULT (__fastcall *MoveElementTo)(IStorage *this, const wchar_t *, IStorage *, const wchar_t *, unsigned int);
  HRESULT (__fastcall *Commit)(IStorage *this, unsigned int);
  HRESULT (__fastcall *Revert)(IStorage *this);
  HRESULT (__fastcall *EnumElements)(IStorage *this, unsigned int, void *, unsigned int, IEnumSTATSTG **);
  HRESULT (__fastcall *DestroyElement)(IStorage *this, const wchar_t *);
  HRESULT (__fastcall *RenameElement)(IStorage *this, const wchar_t *, const wchar_t *);
  HRESULT (__fastcall *SetElementTimes)(IStorage *this, const wchar_t *, const _FILETIME *, const _FILETIME *, const _FILETIME *);
  HRESULT (__fastcall *SetClass)(IStorage *this, const _GUID *);
  HRESULT (__fastcall *SetStateBits)(IStorage *this, unsigned int, unsigned int);
  HRESULT (__fastcall *Stat)(IStorage *this, tagSTATSTG *, unsigned int);
};

# IAdviseSink

struct __cppobj IAdviseSink : IUnknown
{
};

# IPersist

struct __cppobj IPersist : IUnknown
{
};

# IPersist_vtbl

struct /*VFT*/ IPersist_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetClassID)(IPersist *this, _GUID *);
};

# IPersistStream

struct __cppobj IPersistStream : IPersist
{
};

# IPersistStream_vtbl

struct /*VFT*/ IPersistStream_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetClassID)(IPersist *this, _GUID *);
  HRESULT (__fastcall *IsDirty)(IPersistStream *this);
  HRESULT (__fastcall *Load)(IPersistStream *this, IStream *);
  HRESULT (__fastcall *Save)(IPersistStream *this, IStream *, int);
  HRESULT (__fastcall *GetSizeMax)(IPersistStream *this, _ULARGE_INTEGER *);
};

# IBindCtx

struct __cppobj IBindCtx : IUnknown
{
};

# IMoniker

struct __cppobj IMoniker : IPersistStream
{
};

# IRunningObjectTable

struct __cppobj IRunningObjectTable : IUnknown
{
};

# IEnumMoniker

struct __cppobj IEnumMoniker : IUnknown
{
};

# IEnumMoniker_vtbl

struct /*VFT*/ IEnumMoniker_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Next)(IEnumMoniker *this, unsigned int, IMoniker **, unsigned int *);
  HRESULT (__fastcall *Skip)(IEnumMoniker *this, unsigned int);
  HRESULT (__fastcall *Reset)(IEnumMoniker *this);
  HRESULT (__fastcall *Clone)(IEnumMoniker *this, IEnumMoniker **);
};

# IRunningObjectTable_vtbl

struct /*VFT*/ IRunningObjectTable_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Register)(IRunningObjectTable *this, unsigned int, IUnknown *, IMoniker *, unsigned int *);
  HRESULT (__fastcall *Revoke)(IRunningObjectTable *this, unsigned int);
  HRESULT (__fastcall *IsRunning)(IRunningObjectTable *this, IMoniker *);
  HRESULT (__fastcall *GetObjectA)(IRunningObjectTable *this, IMoniker *, IUnknown **);
  HRESULT (__fastcall *NoteChangeTime)(IRunningObjectTable *this, unsigned int, _FILETIME *);
  HRESULT (__fastcall *GetTimeOfLastChange)(IRunningObjectTable *this, IMoniker *, _FILETIME *);
  HRESULT (__fastcall *EnumRunning)(IRunningObjectTable *this, IEnumMoniker **);
};

# IEnumString

struct __cppobj IEnumString : IUnknown
{
};

# IEnumString_vtbl

struct /*VFT*/ IEnumString_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Next)(IEnumString *this, unsigned int, wchar_t **, unsigned int *);
  HRESULT (__fastcall *Skip)(IEnumString *this, unsigned int);
  HRESULT (__fastcall *Reset)(IEnumString *this);
  HRESULT (__fastcall *Clone)(IEnumString *this, IEnumString **);
};

# IBindCtx_vtbl

struct /*VFT*/ IBindCtx_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *RegisterObjectBound)(IBindCtx *this, IUnknown *);
  HRESULT (__fastcall *RevokeObjectBound)(IBindCtx *this, IUnknown *);
  HRESULT (__fastcall *ReleaseBoundObjects)(IBindCtx *this);
  HRESULT (__fastcall *SetBindOptions)(IBindCtx *this, tagBIND_OPTS *);
  HRESULT (__fastcall *GetBindOptions)(IBindCtx *this, tagBIND_OPTS *);
  HRESULT (__fastcall *GetRunningObjectTable)(IBindCtx *this, IRunningObjectTable **);
  HRESULT (__fastcall *RegisterObjectParam)(IBindCtx *this, wchar_t *, IUnknown *);
  HRESULT (__fastcall *GetObjectParam)(IBindCtx *this, wchar_t *, IUnknown **);
  HRESULT (__fastcall *EnumObjectParam)(IBindCtx *this, IEnumString **);
  HRESULT (__fastcall *RevokeObjectParam)(IBindCtx *this, wchar_t *);
};

# IMoniker_vtbl

struct /*VFT*/ IMoniker_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetClassID)(IPersist *this, _GUID *);
  HRESULT (__fastcall *IsDirty)(IPersistStream *this);
  HRESULT (__fastcall *Load)(IPersistStream *this, IStream *);
  HRESULT (__fastcall *Save)(IPersistStream *this, IStream *, int);
  HRESULT (__fastcall *GetSizeMax)(IPersistStream *this, _ULARGE_INTEGER *);
  HRESULT (__fastcall *BindToObject)(IMoniker *this, IBindCtx *, IMoniker *, const _GUID *, void **);
  HRESULT (__fastcall *BindToStorage)(IMoniker *this, IBindCtx *, IMoniker *, const _GUID *, void **);
  HRESULT (__fastcall *Reduce)(IMoniker *this, IBindCtx *, unsigned int, IMoniker **, IMoniker **);
  HRESULT (__fastcall *ComposeWith)(IMoniker *this, IMoniker *, int, IMoniker **);
  HRESULT (__fastcall *Enum)(IMoniker *this, int, IEnumMoniker **);
  HRESULT (__fastcall *IsEqual)(IMoniker *this, IMoniker *);
  HRESULT (__fastcall *Hash)(IMoniker *this, unsigned int *);
  HRESULT (__fastcall *IsRunning)(IMoniker *this, IBindCtx *, IMoniker *, IMoniker *);
  HRESULT (__fastcall *GetTimeOfLastChange)(IMoniker *this, IBindCtx *, IMoniker *, _FILETIME *);
  HRESULT (__fastcall *Inverse)(IMoniker *this, IMoniker **);
  HRESULT (__fastcall *CommonPrefixWith)(IMoniker *this, IMoniker *, IMoniker **);
  HRESULT (__fastcall *RelativePathTo)(IMoniker *this, IMoniker *, IMoniker **);
  HRESULT (__fastcall *GetDisplayName)(IMoniker *this, IBindCtx *, IMoniker *, wchar_t **);
  HRESULT (__fastcall *ParseDisplayName)(IMoniker *this, IBindCtx *, IMoniker *, wchar_t *, unsigned int *, IMoniker **);
  HRESULT (__fastcall *IsSystemMoniker)(IMoniker *this, unsigned int *);
};

# IAdviseSink_vtbl

struct /*VFT*/ IAdviseSink_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  void (__fastcall *OnDataChange)(IAdviseSink *this, tagFORMATETC *, tagSTGMEDIUM *);
  void (__fastcall *OnViewChange)(IAdviseSink *this, unsigned int, int);
  void (__fastcall *OnRename)(IAdviseSink *this, IMoniker *);
  void (__fastcall *OnSave)(IAdviseSink *this);
  void (__fastcall *OnClose)(IAdviseSink *this);
};

# IViewObject_vtbl

struct /*VFT*/ IViewObject_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Draw)(IViewObject *this, unsigned int, int, void *, tagDVTARGETDEVICE *, HDC__ *, HDC__ *, const _RECTL *, const _RECTL *, int (__fastcall *)(unsigned __int64), unsigned __int64);
  HRESULT (__fastcall *GetColorSet)(IViewObject *this, unsigned int, int, void *, tagDVTARGETDEVICE *, HDC__ *, tagLOGPALETTE **);
  HRESULT (__fastcall *Freeze)(IViewObject *this, unsigned int, int, void *, unsigned int *);
  HRESULT (__fastcall *Unfreeze)(IViewObject *this, unsigned int);
  HRESULT (__fastcall *SetAdvise)(IViewObject *this, unsigned int, unsigned int, IAdviseSink *);
  HRESULT (__fastcall *GetAdvise)(IViewObject *this, unsigned int *, unsigned int *, IAdviseSink **);
};

# IServiceProvider

struct __cppobj IServiceProvider : IUnknown
{
};

# IServiceProvider_vtbl

struct /*VFT*/ IServiceProvider_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *QueryService)(IServiceProvider *this, const _GUID *, const _GUID *, void **);
};

# IOleClientSite

struct __cppobj IOleClientSite : IUnknown
{
};

# IParseDisplayName

struct __cppobj IParseDisplayName : IUnknown
{
};

# IParseDisplayName_vtbl

struct /*VFT*/ IParseDisplayName_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *ParseDisplayName)(IParseDisplayName *this, IBindCtx *, wchar_t *, unsigned int *, IMoniker **);
};

# IEnumUnknown

struct __cppobj IEnumUnknown : IUnknown
{
};

# IEnumUnknown_vtbl

struct /*VFT*/ IEnumUnknown_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Next)(IEnumUnknown *this, unsigned int, IUnknown **, unsigned int *);
  HRESULT (__fastcall *Skip)(IEnumUnknown *this, unsigned int);
  HRESULT (__fastcall *Reset)(IEnumUnknown *this);
  HRESULT (__fastcall *Clone)(IEnumUnknown *this, IEnumUnknown **);
};

# IOleContainer

struct __cppobj IOleContainer : IParseDisplayName
{
};

# IOleContainer_vtbl

struct /*VFT*/ IOleContainer_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *ParseDisplayName)(IParseDisplayName *this, IBindCtx *, wchar_t *, unsigned int *, IMoniker **);
  HRESULT (__fastcall *EnumObjects)(IOleContainer *this, unsigned int, IEnumUnknown **);
  HRESULT (__fastcall *LockContainer)(IOleContainer *this, int);
};

# IOleClientSite_vtbl

struct /*VFT*/ IOleClientSite_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SaveObject)(IOleClientSite *this);
  HRESULT (__fastcall *GetMoniker)(IOleClientSite *this, unsigned int, unsigned int, IMoniker **);
  HRESULT (__fastcall *GetContainer)(IOleClientSite *this, IOleContainer **);
  HRESULT (__fastcall *ShowObject)(IOleClientSite *this);
  HRESULT (__fastcall *OnShowWindow)(IOleClientSite *this, int);
  HRESULT (__fastcall *RequestNewObjectLayout)(IOleClientSite *this);
};

# IAgileReference

struct __cppobj IAgileReference : IUnknown
{
};

# IAgileReference_vtbl

struct /*VFT*/ IAgileReference_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Resolve)(IAgileReference *this, const _GUID *, void **);
};

# ITypeLib

struct __cppobj ITypeLib : IUnknown
{
};

# ITypeInfo

struct __cppobj ITypeInfo : IUnknown
{
};

# IDispatch

struct __cppobj IDispatch : IUnknown
{
};

# IDispatch_vtbl

struct /*VFT*/ IDispatch_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
};

# IRecordInfo

struct __cppobj IRecordInfo : IUnknown
{
};

# IRecordInfo_vtbl

struct /*VFT*/ IRecordInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *RecordInit)(IRecordInfo *this, void *);
  HRESULT (__fastcall *RecordClear)(IRecordInfo *this, void *);
  HRESULT (__fastcall *RecordCopy)(IRecordInfo *this, void *, void *);
  HRESULT (__fastcall *GetGuid)(IRecordInfo *this, _GUID *);
  HRESULT (__fastcall *GetName)(IRecordInfo *this, wchar_t **);
  HRESULT (__fastcall *GetSize)(IRecordInfo *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IRecordInfo *this, ITypeInfo **);
  HRESULT (__fastcall *GetField)(IRecordInfo *this, void *, const wchar_t *, tagVARIANT *);
  HRESULT (__fastcall *GetFieldNoCopy)(IRecordInfo *this, void *, const wchar_t *, tagVARIANT *, void **);
  HRESULT (__fastcall *PutField)(IRecordInfo *this, unsigned int, void *, const wchar_t *, tagVARIANT *);
  HRESULT (__fastcall *PutFieldNoCopy)(IRecordInfo *this, unsigned int, void *, const wchar_t *, tagVARIANT *);
  HRESULT (__fastcall *GetFieldNames)(IRecordInfo *this, unsigned int *, wchar_t **);
  int (__fastcall *IsMatchingType)(IRecordInfo *this, IRecordInfo *);
  void *(__fastcall *RecordCreate)(IRecordInfo *this);
  HRESULT (__fastcall *RecordCreateCopy)(IRecordInfo *this, void *, void **);
  HRESULT (__fastcall *RecordDestroy)(IRecordInfo *this, void *);
};

# ITypeComp

struct __cppobj ITypeComp : IUnknown
{
};

# ITypeComp_vtbl

struct /*VFT*/ ITypeComp_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Bind)(ITypeComp *this, wchar_t *, unsigned int, unsigned __int16, ITypeInfo **, tagDESCKIND *, tagBINDPTR *);
  BindType *BindType;
};

# ITypeInfo_vtbl

struct /*VFT*/ ITypeInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeAttr)(ITypeInfo *this, tagTYPEATTR **);
  HRESULT (__fastcall *GetTypeComp)(ITypeInfo *this, ITypeComp **);
  HRESULT (__fastcall *GetFuncDesc)(ITypeInfo *this, unsigned int, tagFUNCDESC **);
  HRESULT (__fastcall *GetVarDesc)(ITypeInfo *this, unsigned int, tagVARDESC **);
  HRESULT (__fastcall *GetNames)(ITypeInfo *this, int, wchar_t **, unsigned int, unsigned int *);
  HRESULT (__fastcall *GetRefTypeOfImplType)(ITypeInfo *this, unsigned int, unsigned int *);
  HRESULT (__fastcall *GetImplTypeFlags)(ITypeInfo *this, unsigned int, int *);
  HRESULT (__fastcall *GetIDsOfNames)(ITypeInfo *this, wchar_t **, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(ITypeInfo *this, void *, int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *GetDocumentation)(ITypeInfo *this, int, wchar_t **, wchar_t **, unsigned int *, wchar_t **);
  HRESULT (__fastcall *GetDllEntry)(ITypeInfo *this, int, tagINVOKEKIND, wchar_t **, wchar_t **, unsigned __int16 *);
  HRESULT (__fastcall *GetRefTypeInfo)(ITypeInfo *this, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *AddressOfMember)(ITypeInfo *this, int, tagINVOKEKIND, void **);
  HRESULT (__fastcall *CreateInstance)(ITypeInfo *this, IUnknown *, const _GUID *, void **);
  HRESULT (__fastcall *GetMops)(ITypeInfo *this, int, wchar_t **);
  HRESULT (__fastcall *GetContainingTypeLib)(ITypeInfo *this, ITypeLib **, unsigned int *);
  void (__fastcall *ReleaseTypeAttr)(ITypeInfo *this, tagTYPEATTR *);
  void (__fastcall *ReleaseFuncDesc)(ITypeInfo *this, tagFUNCDESC *);
  void (__fastcall *ReleaseVarDesc)(ITypeInfo *this, tagVARDESC *);
};

# ITypeLib_vtbl

struct /*VFT*/ ITypeLib_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  unsigned int (__fastcall *GetTypeInfoCount)(ITypeLib *this);
  HRESULT (__fastcall *GetTypeInfo)(ITypeLib *this, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetTypeInfoType)(ITypeLib *this, unsigned int, tagTYPEKIND *);
  HRESULT (__fastcall *GetTypeInfoOfGuid)(ITypeLib *this, const _GUID *, ITypeInfo **);
  HRESULT (__fastcall *GetLibAttr)(ITypeLib *this, tagTLIBATTR **);
  HRESULT (__fastcall *GetTypeComp)(ITypeLib *this, ITypeComp **);
  HRESULT (__fastcall *GetDocumentation)(ITypeLib *this, int, wchar_t **, wchar_t **, unsigned int *, wchar_t **);
  HRESULT (__fastcall *IsName)(ITypeLib *this, wchar_t *, unsigned int, int *);
  HRESULT (__fastcall *FindName)(ITypeLib *this, wchar_t *, unsigned int, ITypeInfo **, int *, unsigned __int16 *);
  void (__fastcall *ReleaseTLibAttr)(ITypeLib *this, tagTLIBATTR *);
};

# IInspectable

struct __cppobj IInspectable : IUnknown
{
};

# IInspectable_vtbl

struct /*VFT*/ IInspectable_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetIids)(IInspectable *this, unsigned int *, _GUID **);
  HRESULT (__fastcall *GetRuntimeClassName)(IInspectable *this, HSTRING__ **);
  HRESULT (__fastcall *GetTrustLevel)(IInspectable *this, TrustLevel *);
};

# IActivationFactory

struct __cppobj IActivationFactory : IInspectable
{
};

# IActivationFactory_vtbl

struct /*VFT*/ IActivationFactory_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetIids)(IInspectable *this, unsigned int *, _GUID **);
  HRESULT (__fastcall *GetRuntimeClassName)(IInspectable *this, HSTRING__ **);
  HRESULT (__fastcall *GetTrustLevel)(IInspectable *this, TrustLevel *);
  HRESULT (__fastcall *ActivateInstance)(IActivationFactory *this, IInspectable **);
};

# IXMLDOMNode

struct __cppobj IXMLDOMNode : IDispatch
{
};

# IXMLDOMNodeList

struct __cppobj IXMLDOMNodeList : IDispatch
{
};

# IXMLDOMNodeList_vtbl

struct /*VFT*/ IXMLDOMNodeList_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *get_item)(IXMLDOMNodeList *this, int, IXMLDOMNode **);
  HRESULT (__fastcall *get_length)(IXMLDOMNodeList *this, int *);
  HRESULT (__fastcall *nextNode)(IXMLDOMNodeList *this, IXMLDOMNode **);
  HRESULT (__fastcall *reset)(IXMLDOMNodeList *this);
  HRESULT (__fastcall *get__newEnum)(IXMLDOMNodeList *this, IUnknown **);
};

# IXMLDOMNamedNodeMap

struct __cppobj IXMLDOMNamedNodeMap : IDispatch
{
};

# IXMLDOMNamedNodeMap_vtbl

struct /*VFT*/ IXMLDOMNamedNodeMap_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *getNamedItem)(IXMLDOMNamedNodeMap *this, wchar_t *, IXMLDOMNode **);
  HRESULT (__fastcall *setNamedItem)(IXMLDOMNamedNodeMap *this, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *removeNamedItem)(IXMLDOMNamedNodeMap *this, wchar_t *, IXMLDOMNode **);
  HRESULT (__fastcall *get_item)(IXMLDOMNamedNodeMap *this, int, IXMLDOMNode **);
  HRESULT (__fastcall *get_length)(IXMLDOMNamedNodeMap *this, int *);
  HRESULT (__fastcall *getQualifiedItem)(IXMLDOMNamedNodeMap *this, wchar_t *, wchar_t *, IXMLDOMNode **);
  HRESULT (__fastcall *removeQualifiedItem)(IXMLDOMNamedNodeMap *this, wchar_t *, wchar_t *, IXMLDOMNode **);
  HRESULT (__fastcall *nextNode)(IXMLDOMNamedNodeMap *this, IXMLDOMNode **);
  HRESULT (__fastcall *reset)(IXMLDOMNamedNodeMap *this);
  HRESULT (__fastcall *get__newEnum)(IXMLDOMNamedNodeMap *this, IUnknown **);
};

# IXMLDOMDocumentType

struct __cppobj IXMLDOMDocumentType : IXMLDOMNode
{
};

# IXMLDOMDocument

struct __cppobj IXMLDOMDocument : IXMLDOMNode
{
};

# IXMLDOMImplementation

struct __cppobj IXMLDOMImplementation : IDispatch
{
};

# IXMLDOMImplementation_vtbl

struct /*VFT*/ IXMLDOMImplementation_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *hasFeature)(IXMLDOMImplementation *this, wchar_t *, wchar_t *, __int16 *);
};

# IXMLDOMElement

struct __cppobj IXMLDOMElement : IXMLDOMNode
{
};

# IXMLDOMAttribute

struct __cppobj IXMLDOMAttribute : IXMLDOMNode
{
};

# IXMLDOMDocumentFragment

struct __cppobj IXMLDOMDocumentFragment : IXMLDOMNode
{
};

# IXMLDOMCharacterData

struct __cppobj IXMLDOMCharacterData : IXMLDOMNode
{
};

# IXMLDOMText

struct __cppobj IXMLDOMText : IXMLDOMCharacterData
{
};

# IXMLDOMComment

struct __cppobj IXMLDOMComment : IXMLDOMCharacterData
{
};

# IXMLDOMCDATASection

struct __cppobj IXMLDOMCDATASection : IXMLDOMText
{
};

# IXMLDOMProcessingInstruction

struct __cppobj IXMLDOMProcessingInstruction : IXMLDOMNode
{
};

# IXMLDOMEntityReference

struct __cppobj IXMLDOMEntityReference : IXMLDOMNode
{
};

# IXMLDOMParseError

struct __cppobj IXMLDOMParseError : IDispatch
{
};

# IXMLDOMParseError_vtbl

struct /*VFT*/ IXMLDOMParseError_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *get_errorCode)(IXMLDOMParseError *this, int *);
  HRESULT (__fastcall *get_url)(IXMLDOMParseError *this, wchar_t **);
  HRESULT (__fastcall *get_reason)(IXMLDOMParseError *this, wchar_t **);
  HRESULT (__fastcall *get_srcText)(IXMLDOMParseError *this, wchar_t **);
  HRESULT (__fastcall *get_line)(IXMLDOMParseError *this, int *);
  HRESULT (__fastcall *get_linepos)(IXMLDOMParseError *this, int *);
  HRESULT (__fastcall *get_filepos)(IXMLDOMParseError *this, int *);
};

# IXMLDOMNode_vtbl

struct /*VFT*/ IXMLDOMNode_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *get_nodeName)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_nodeValue)(IXMLDOMNode *this, tagVARIANT *);
  HRESULT (__fastcall *put_nodeValue)(IXMLDOMNode *this, tagVARIANT);
  HRESULT (__fastcall *get_nodeType)(IXMLDOMNode *this, tagDOMNodeType *);
  HRESULT (__fastcall *get_parentNode)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_childNodes)(IXMLDOMNode *this, IXMLDOMNodeList **);
  HRESULT (__fastcall *get_firstChild)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_lastChild)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_previousSibling)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_nextSibling)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_attributes)(IXMLDOMNode *this, IXMLDOMNamedNodeMap **);
  HRESULT (__fastcall *insertBefore)(IXMLDOMNode *this, IXMLDOMNode *, tagVARIANT, IXMLDOMNode **);
  HRESULT (__fastcall *replaceChild)(IXMLDOMNode *this, IXMLDOMNode *, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *removeChild)(IXMLDOMNode *this, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *appendChild)(IXMLDOMNode *this, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *hasChildNodes)(IXMLDOMNode *this, __int16 *);
  HRESULT (__fastcall *get_ownerDocument)(IXMLDOMNode *this, IXMLDOMDocument **);
  HRESULT (__fastcall *cloneNode)(IXMLDOMNode *this, __int16, IXMLDOMNode **);
  HRESULT (__fastcall *get_nodeTypeString)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_text)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *put_text)(IXMLDOMNode *this, wchar_t *);
  HRESULT (__fastcall *get_specified)(IXMLDOMNode *this, __int16 *);
  HRESULT (__fastcall *get_definition)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_nodeTypedValue)(IXMLDOMNode *this, tagVARIANT *);
  HRESULT (__fastcall *put_nodeTypedValue)(IXMLDOMNode *this, tagVARIANT);
  HRESULT (__fastcall *get_dataType)(IXMLDOMNode *this, tagVARIANT *);
  HRESULT (__fastcall *put_dataType)(IXMLDOMNode *this, wchar_t *);
  HRESULT (__fastcall *get_xml)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *transformNode)(IXMLDOMNode *this, IXMLDOMNode *, wchar_t **);
  HRESULT (__fastcall *selectNodes)(IXMLDOMNode *this, wchar_t *, IXMLDOMNodeList **);
  HRESULT (__fastcall *selectSingleNode)(IXMLDOMNode *this, wchar_t *, IXMLDOMNode **);
  HRESULT (__fastcall *get_parsed)(IXMLDOMNode *this, __int16 *);
  HRESULT (__fastcall *get_namespaceURI)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_prefix)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_baseName)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *transformNodeToObject)(IXMLDOMNode *this, IXMLDOMNode *, tagVARIANT);
};

# IWrappedProtocol

struct __cppobj IWrappedProtocol : IUnknown
{
};

# IWrappedProtocol_vtbl

struct /*VFT*/ IWrappedProtocol_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetWrapperCode)(IWrappedProtocol *this, int *, unsigned __int64);
};

# IWindowForBindingUI

struct __cppobj IWindowForBindingUI : IUnknown
{
};

# IWindowForBindingUI_vtbl

struct /*VFT*/ IWindowForBindingUI_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetWindow)(IWindowForBindingUI *this, const _GUID *, HWND__ **);
};

# ICancelMethodCalls

struct __cppobj ICancelMethodCalls : IUnknown
{
};

# ICancelMethodCalls_vtbl

struct /*VFT*/ ICancelMethodCalls_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Cancel)(ICancelMethodCalls *this, unsigned int);
  HRESULT (__fastcall *TestCancel)(ICancelMethodCalls *this);
};

# IErrorInfo

struct __cppobj IErrorInfo : IUnknown
{
};

# IErrorInfo_vtbl

struct /*VFT*/ IErrorInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetGUID)(IErrorInfo *this, _GUID *);
  HRESULT (__fastcall *GetSource)(IErrorInfo *this, wchar_t **);
  HRESULT (__fastcall *GetDescription)(IErrorInfo *this, wchar_t **);
  HRESULT (__fastcall *GetHelpFile)(IErrorInfo *this, wchar_t **);
  HRESULT (__fastcall *GetHelpContext)(IErrorInfo *this, unsigned int *);
};

# IMAGE_AUX_SYMBOL_TOKEN_DEF

struct __unaligned __declspec(align(2)) IMAGE_AUX_SYMBOL_TOKEN_DEF
{
  unsigned __int8 bAuxType;
  unsigned __int8 bReserved;
  unsigned int SymbolTableIndex;
  unsigned __int8 rgbReserved[12];
};

# IInternetSecurityMgrSite

struct __cppobj IInternetSecurityMgrSite : IUnknown
{
};

# IInternetSecurityMgrSite_vtbl

struct /*VFT*/ IInternetSecurityMgrSite_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetWindow)(IInternetSecurityMgrSite *this, HWND__ **);
  HRESULT (__fastcall *EnableModeless)(IInternetSecurityMgrSite *this, int);
};

# IComThreadingInfo

struct __cppobj IComThreadingInfo : IUnknown
{
};

# IComThreadingInfo_vtbl

struct /*VFT*/ IComThreadingInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetCurrentApartmentType)(IComThreadingInfo *this, _APTTYPE *);
  HRESULT (__fastcall *GetCurrentThreadType)(IComThreadingInfo *this, _THDTYPE *);
  HRESULT (__fastcall *GetCurrentLogicalThreadId)(IComThreadingInfo *this, _GUID *);
  HRESULT (__fastcall *SetCurrentLogicalThreadId)(IComThreadingInfo *this, const _GUID *);
};

# IRunnableObject

struct __cppobj IRunnableObject : IUnknown
{
};

# IRunnableObject_vtbl

struct /*VFT*/ IRunnableObject_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetRunningClass)(IRunnableObject *this, _GUID *);
  HRESULT (__fastcall *Run)(IRunnableObject *this, IBindCtx *);
  int (__fastcall *IsRunning)(IRunnableObject *this);
  HRESULT (__fastcall *LockRunning)(IRunnableObject *this, int, int);
  HRESULT (__fastcall *SetContainedObject)(IRunnableObject *this, int);
};

# IMonikerProp

struct __cppobj IMonikerProp : IUnknown
{
};

# IMonikerProp_vtbl

struct /*VFT*/ IMonikerProp_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *PutProperty)(IMonikerProp *this, __MIDL_IMonikerProp_0001, const wchar_t *);
};

# IHttpSecurity

struct __cppobj IHttpSecurity : IWindowForBindingUI
{
};

# IHttpSecurity_vtbl

struct /*VFT*/ IHttpSecurity_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetWindow)(IWindowForBindingUI *this, const _GUID *, HWND__ **);
  HRESULT (__fastcall *OnSecurityProblem)(IHttpSecurity *this, unsigned int);
};

# IBindHttpSecurity

struct __cppobj IBindHttpSecurity : IUnknown
{
};

# IBindHttpSecurity_vtbl

struct /*VFT*/ IBindHttpSecurity_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetIgnoreCertMask)(IBindHttpSecurity *this, unsigned int *);
};

# ICreateTypeInfo

struct __cppobj ICreateTypeInfo : IUnknown
{
};

# ICreateTypeInfo_vtbl

struct /*VFT*/ ICreateTypeInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetGuid)(ICreateTypeInfo *this, const _GUID *);
  HRESULT (__fastcall *SetTypeFlags)(ICreateTypeInfo *this, unsigned int);
  HRESULT (__fastcall *SetDocString)(ICreateTypeInfo *this, wchar_t *);
  HRESULT (__fastcall *SetHelpContext)(ICreateTypeInfo *this, unsigned int);
  HRESULT (__fastcall *SetVersion)(ICreateTypeInfo *this, unsigned __int16, unsigned __int16);
  HRESULT (__fastcall *AddRefTypeInfo)(ICreateTypeInfo *this, ITypeInfo *, unsigned int *);
  HRESULT (__fastcall *AddFuncDesc)(ICreateTypeInfo *this, unsigned int, tagFUNCDESC *);
  HRESULT (__fastcall *AddImplType)(ICreateTypeInfo *this, unsigned int, unsigned int);
  HRESULT (__fastcall *SetImplTypeFlags)(ICreateTypeInfo *this, unsigned int, int);
  HRESULT (__fastcall *SetAlignment)(ICreateTypeInfo *this, unsigned __int16);
  HRESULT (__fastcall *SetSchema)(ICreateTypeInfo *this, wchar_t *);
  HRESULT (__fastcall *AddVarDesc)(ICreateTypeInfo *this, unsigned int, tagVARDESC *);
  HRESULT (__fastcall *SetFuncAndParamNames)(ICreateTypeInfo *this, unsigned int, wchar_t **, unsigned int);
  HRESULT (__fastcall *SetVarName)(ICreateTypeInfo *this, unsigned int, wchar_t *);
  HRESULT (__fastcall *SetTypeDescAlias)(ICreateTypeInfo *this, tagTYPEDESC *);
  HRESULT (__fastcall *DefineFuncAsDllEntry)(ICreateTypeInfo *this, unsigned int, wchar_t *, wchar_t *);
  HRESULT (__fastcall *SetFuncDocString)(ICreateTypeInfo *this, unsigned int, wchar_t *);
  HRESULT (__fastcall *SetVarDocString)(ICreateTypeInfo *this, unsigned int, wchar_t *);
  HRESULT (__fastcall *SetFuncHelpContext)(ICreateTypeInfo *this, unsigned int, unsigned int);
  HRESULT (__fastcall *SetVarHelpContext)(ICreateTypeInfo *this, unsigned int, unsigned int);
  HRESULT (__fastcall *SetMops)(ICreateTypeInfo *this, unsigned int, wchar_t *);
  HRESULT (__fastcall *SetTypeIdldesc)(ICreateTypeInfo *this, tagIDLDESC *);
  HRESULT (__fastcall *LayOut)(ICreateTypeInfo *this);
};

# ICreateTypeInfo2

struct __cppobj ICreateTypeInfo2 : ICreateTypeInfo
{
};

# ICreateTypeInfo2_vtbl

struct /*VFT*/ ICreateTypeInfo2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetGuid)(ICreateTypeInfo *this, const _GUID *);
  HRESULT (__fastcall *SetTypeFlags)(ICreateTypeInfo *this, unsigned int);
  HRESULT (__fastcall *SetDocString)(ICreateTypeInfo *this, wchar_t *);
  HRESULT (__fastcall *SetHelpContext)(ICreateTypeInfo *this, unsigned int);
  HRESULT (__fastcall *SetVersion)(ICreateTypeInfo *this, unsigned __int16, unsigned __int16);
  HRESULT (__fastcall *AddRefTypeInfo)(ICreateTypeInfo *this, ITypeInfo *, unsigned int *);
  HRESULT (__fastcall *AddFuncDesc)(ICreateTypeInfo *this, unsigned int, tagFUNCDESC *);
  HRESULT (__fastcall *AddImplType)(ICreateTypeInfo *this, unsigned int, unsigned int);
  HRESULT (__fastcall *SetImplTypeFlags)(ICreateTypeInfo *this, unsigned int, int);
  HRESULT (__fastcall *SetAlignment)(ICreateTypeInfo *this, unsigned __int16);
  HRESULT (__fastcall *SetSchema)(ICreateTypeInfo *this, wchar_t *);
  HRESULT (__fastcall *AddVarDesc)(ICreateTypeInfo *this, unsigned int, tagVARDESC *);
  HRESULT (__fastcall *SetFuncAndParamNames)(ICreateTypeInfo *this, unsigned int, wchar_t **, unsigned int);
  HRESULT (__fastcall *SetVarName)(ICreateTypeInfo *this, unsigned int, wchar_t *);
  HRESULT (__fastcall *SetTypeDescAlias)(ICreateTypeInfo *this, tagTYPEDESC *);
  HRESULT (__fastcall *DefineFuncAsDllEntry)(ICreateTypeInfo *this, unsigned int, wchar_t *, wchar_t *);
  HRESULT (__fastcall *SetFuncDocString)(ICreateTypeInfo *this, unsigned int, wchar_t *);
  HRESULT (__fastcall *SetVarDocString)(ICreateTypeInfo *this, unsigned int, wchar_t *);
  HRESULT (__fastcall *SetFuncHelpContext)(ICreateTypeInfo *this, unsigned int, unsigned int);
  HRESULT (__fastcall *SetVarHelpContext)(ICreateTypeInfo *this, unsigned int, unsigned int);
  HRESULT (__fastcall *SetMops)(ICreateTypeInfo *this, unsigned int, wchar_t *);
  HRESULT (__fastcall *SetTypeIdldesc)(ICreateTypeInfo *this, tagIDLDESC *);
  HRESULT (__fastcall *LayOut)(ICreateTypeInfo *this);
  HRESULT (__fastcall *DeleteFuncDesc)(ICreateTypeInfo2 *this, unsigned int);
  HRESULT (__fastcall *DeleteFuncDescByMemId)(ICreateTypeInfo2 *this, int, tagINVOKEKIND);
  HRESULT (__fastcall *DeleteVarDesc)(ICreateTypeInfo2 *this, unsigned int);
  HRESULT (__fastcall *DeleteVarDescByMemId)(ICreateTypeInfo2 *this, int);
  HRESULT (__fastcall *DeleteImplType)(ICreateTypeInfo2 *this, unsigned int);
  HRESULT (__fastcall *SetCustData)(ICreateTypeInfo2 *this, const _GUID *, tagVARIANT *);
  HRESULT (__fastcall *SetFuncCustData)(ICreateTypeInfo2 *this, unsigned int, const _GUID *, tagVARIANT *);
  HRESULT (__fastcall *SetParamCustData)(ICreateTypeInfo2 *this, unsigned int, unsigned int, const _GUID *, tagVARIANT *);
  HRESULT (__fastcall *SetVarCustData)(ICreateTypeInfo2 *this, unsigned int, const _GUID *, tagVARIANT *);
  HRESULT (__fastcall *SetImplTypeCustData)(ICreateTypeInfo2 *this, unsigned int, const _GUID *, tagVARIANT *);
  HRESULT (__fastcall *SetHelpStringContext)(ICreateTypeInfo2 *this, unsigned int);
  HRESULT (__fastcall *SetFuncHelpStringContext)(ICreateTypeInfo2 *this, unsigned int, unsigned int);
  HRESULT (__fastcall *SetVarHelpStringContext)(ICreateTypeInfo2 *this, unsigned int, unsigned int);
  HRESULT (__fastcall *Invalidate)(ICreateTypeInfo2 *this);
  HRESULT (__fastcall *SetName)(ICreateTypeInfo2 *this, wchar_t *);
};

# IRpcChannelBuffer

struct __cppobj IRpcChannelBuffer : IUnknown
{
};

# IRpcChannelBuffer_vtbl

struct /*VFT*/ IRpcChannelBuffer_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetBuffer)(IRpcChannelBuffer *this, tagRPCOLEMESSAGE *, const _GUID *);
  HRESULT (__fastcall *SendReceive)(IRpcChannelBuffer *this, tagRPCOLEMESSAGE *, unsigned int *);
  HRESULT (__fastcall *FreeBuffer)(IRpcChannelBuffer *this, tagRPCOLEMESSAGE *);
  HRESULT (__fastcall *GetDestCtx)(IRpcChannelBuffer *this, unsigned int *, void **);
  HRESULT (__fastcall *IsConnected)(IRpcChannelBuffer *this);
};

# IEnumSTATPROPSTG

struct __cppobj IEnumSTATPROPSTG : IUnknown
{
};

# IEnumSTATPROPSTG_vtbl

struct /*VFT*/ IEnumSTATPROPSTG_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Next)(IEnumSTATPROPSTG *this, unsigned int, tagSTATPROPSTG *, unsigned int *);
  HRESULT (__fastcall *Skip)(IEnumSTATPROPSTG *this, unsigned int);
  HRESULT (__fastcall *Reset)(IEnumSTATPROPSTG *this);
  HRESULT (__fastcall *Clone)(IEnumSTATPROPSTG *this, IEnumSTATPROPSTG **);
};

# IOleCache

struct __cppobj IOleCache : IUnknown
{
};

# IEnumSTATDATA

struct __cppobj IEnumSTATDATA : IUnknown
{
};

# IEnumSTATDATA_vtbl

struct /*VFT*/ IEnumSTATDATA_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Next)(IEnumSTATDATA *this, unsigned int, tagSTATDATA *, unsigned int *);
  HRESULT (__fastcall *Skip)(IEnumSTATDATA *this, unsigned int);
  HRESULT (__fastcall *Reset)(IEnumSTATDATA *this);
  HRESULT (__fastcall *Clone)(IEnumSTATDATA *this, IEnumSTATDATA **);
};

# IDataObject

struct __cppobj IDataObject : IUnknown
{
};

# IEnumFORMATETC

struct __cppobj IEnumFORMATETC : IUnknown
{
};

# IEnumFORMATETC_vtbl

struct /*VFT*/ IEnumFORMATETC_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Next)(IEnumFORMATETC *this, unsigned int, tagFORMATETC *, unsigned int *);
  HRESULT (__fastcall *Skip)(IEnumFORMATETC *this, unsigned int);
  HRESULT (__fastcall *Reset)(IEnumFORMATETC *this);
  HRESULT (__fastcall *Clone)(IEnumFORMATETC *this, IEnumFORMATETC **);
};

# IDataObject_vtbl

struct /*VFT*/ IDataObject_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetData)(IDataObject *this, tagFORMATETC *, tagSTGMEDIUM *);
  HRESULT (__fastcall *GetDataHere)(IDataObject *this, tagFORMATETC *, tagSTGMEDIUM *);
  HRESULT (__fastcall *QueryGetData)(IDataObject *this, tagFORMATETC *);
  HRESULT (__fastcall *GetCanonicalFormatEtc)(IDataObject *this, tagFORMATETC *, tagFORMATETC *);
  HRESULT (__fastcall *SetData)(IDataObject *this, tagFORMATETC *, tagSTGMEDIUM *, int);
  HRESULT (__fastcall *EnumFormatEtc)(IDataObject *this, unsigned int, IEnumFORMATETC **);
  HRESULT (__fastcall *DAdvise)(IDataObject *this, tagFORMATETC *, unsigned int, IAdviseSink *, unsigned int *);
  HRESULT (__fastcall *DUnadvise)(IDataObject *this, unsigned int);
  HRESULT (__fastcall *EnumDAdvise)(IDataObject *this, IEnumSTATDATA **);
};

# IOleCache_vtbl

struct /*VFT*/ IOleCache_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Cache)(IOleCache *this, tagFORMATETC *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Uncache)(IOleCache *this, unsigned int);
  HRESULT (__fastcall *EnumCache)(IOleCache *this, IEnumSTATDATA **);
  HRESULT (__fastcall *InitCache)(IOleCache *this, IDataObject *);
  HRESULT (__fastcall *SetData)(IOleCache *this, tagFORMATETC *, tagSTGMEDIUM *, int);
};

# IWinInetInfo

struct __cppobj IWinInetInfo : IUnknown
{
};

# IWinInetInfo_vtbl

struct /*VFT*/ IWinInetInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *QueryOption)(IWinInetInfo *this, unsigned int, void *, unsigned int *);
};

# IClassFactory

struct __cppobj IClassFactory : IUnknown
{
};

# IClassFactory_vtbl

struct /*VFT*/ IClassFactory_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CreateInstance)(IClassFactory *this, IUnknown *, const _GUID *, void **);
  HRESULT (__fastcall *LockServer)(IClassFactory *this, int);
};

# IInternetSession

struct __cppobj IInternetSession : IUnknown
{
};

# IInternetProtocolSink

struct __cppobj IInternetProtocolSink : IUnknown
{
};

# IInternetProtocolSink_vtbl

struct /*VFT*/ IInternetProtocolSink_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Switch)(IInternetProtocolSink *this, _tagPROTOCOLDATA *);
  HRESULT (__fastcall *ReportProgress)(IInternetProtocolSink *this, unsigned int, const wchar_t *);
  HRESULT (__fastcall *ReportData)(IInternetProtocolSink *this, unsigned int, unsigned int, unsigned int);
  HRESULT (__fastcall *ReportResult)(IInternetProtocolSink *this, HRESULT, unsigned int, const wchar_t *);
};

# IInternetBindInfo

struct __cppobj IInternetBindInfo : IUnknown
{
};

# IInternetBindInfo_vtbl

struct /*VFT*/ IInternetBindInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetBindInfo)(IInternetBindInfo *this, unsigned int *, _tagBINDINFO *);
  HRESULT (__fastcall *GetBindString)(IInternetBindInfo *this, unsigned int, wchar_t **, unsigned int, unsigned int *);
};

# IInternetProtocolRoot

struct __cppobj IInternetProtocolRoot : IUnknown
{
};

# IInternetProtocolRoot_vtbl

struct /*VFT*/ IInternetProtocolRoot_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Start)(IInternetProtocolRoot *this, const wchar_t *, IInternetProtocolSink *, IInternetBindInfo *, unsigned int, unsigned __int64);
  HRESULT (__fastcall *Continue)(IInternetProtocolRoot *this, _tagPROTOCOLDATA *);
  HRESULT (__fastcall *Abort)(IInternetProtocolRoot *this, HRESULT, unsigned int);
  HRESULT (__fastcall *Terminate)(IInternetProtocolRoot *this, unsigned int);
  HRESULT (__fastcall *Suspend)(IInternetProtocolRoot *this);
  HRESULT (__fastcall *Resume)(IInternetProtocolRoot *this);
};

# IInternetProtocol

struct __cppobj IInternetProtocol : IInternetProtocolRoot
{
};

# IInternetProtocol_vtbl

struct /*VFT*/ IInternetProtocol_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Start)(IInternetProtocolRoot *this, const wchar_t *, IInternetProtocolSink *, IInternetBindInfo *, unsigned int, unsigned __int64);
  HRESULT (__fastcall *Continue)(IInternetProtocolRoot *this, _tagPROTOCOLDATA *);
  HRESULT (__fastcall *Abort)(IInternetProtocolRoot *this, HRESULT, unsigned int);
  HRESULT (__fastcall *Terminate)(IInternetProtocolRoot *this, unsigned int);
  HRESULT (__fastcall *Suspend)(IInternetProtocolRoot *this);
  HRESULT (__fastcall *Resume)(IInternetProtocolRoot *this);
  HRESULT (__fastcall *Read)(IInternetProtocol *this, void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Seek)(IInternetProtocol *this, _LARGE_INTEGER, unsigned int, _ULARGE_INTEGER *);
  HRESULT (__fastcall *LockRequest)(IInternetProtocol *this, unsigned int);
  HRESULT (__fastcall *UnlockRequest)(IInternetProtocol *this);
};

# IInternetSession_vtbl

struct /*VFT*/ IInternetSession_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *RegisterNameSpace)(IInternetSession *this, IClassFactory *, const _GUID *, const wchar_t *, unsigned int, const wchar_t *const *, unsigned int);
  HRESULT (__fastcall *UnregisterNameSpace)(IInternetSession *this, IClassFactory *, const wchar_t *);
  HRESULT (__fastcall *RegisterMimeFilter)(IInternetSession *this, IClassFactory *, const _GUID *, const wchar_t *);
  HRESULT (__fastcall *UnregisterMimeFilter)(IInternetSession *this, IClassFactory *, const wchar_t *);
  HRESULT (__fastcall *CreateBinding)(IInternetSession *this, IBindCtx *, const wchar_t *, IUnknown *, IUnknown **, IInternetProtocol **, unsigned int);
  HRESULT (__fastcall *SetSessionOption)(IInternetSession *this, unsigned int, void *, unsigned int, unsigned int);
  HRESULT (__fastcall *GetSessionOption)(IInternetSession *this, unsigned int, void *, unsigned int *, unsigned int);
};

# IDropTarget

struct __cppobj IDropTarget : IUnknown
{
};

# IDropTarget_vtbl

struct /*VFT*/ IDropTarget_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *DragEnter)(IDropTarget *this, IDataObject *, unsigned int, _POINTL, unsigned int *);
  HRESULT (__fastcall *DragOver)(IDropTarget *this, unsigned int, _POINTL, unsigned int *);
  HRESULT (__fastcall *DragLeave)(IDropTarget *this);
  HRESULT (__fastcall *Drop)(IDropTarget *this, IDataObject *, unsigned int, _POINTL, unsigned int *);
};

# IGetBindHandle

struct __cppobj IGetBindHandle : IUnknown
{
};

# IGetBindHandle_vtbl

struct /*VFT*/ IGetBindHandle_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetBindHandle)(IGetBindHandle *this, __MIDL_IGetBindHandle_0001, void **);
};

# ISynchronize

struct __cppobj ISynchronize : IUnknown
{
};

# ISynchronize_vtbl

struct /*VFT*/ ISynchronize_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Wait)(ISynchronize *this, unsigned int, unsigned int);
  HRESULT (__fastcall *Signal)(ISynchronize *this);
  HRESULT (__fastcall *Reset)(ISynchronize *this);
};

# ISynchronizeContainer

struct __cppobj ISynchronizeContainer : IUnknown
{
};

# ISynchronizeContainer_vtbl

struct /*VFT*/ ISynchronizeContainer_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *AddSynchronize)(ISynchronizeContainer *this, ISynchronize *);
  HRESULT (__fastcall *WaitMultiple)(ISynchronizeContainer *this, unsigned int, unsigned int, ISynchronize **);
};

# in_pktinfo

struct in_pktinfo
{
  in_addr ipi_addr;
  unsigned int ipi_ifindex;
};

# in_pktinfo_ex

struct in_pktinfo_ex
{
  in_pktinfo pkt_info;
  SCOPE_ID scope_id;
};

# IDataFilter

struct __cppobj IDataFilter : IUnknown
{
};

# IDataFilter_vtbl

struct /*VFT*/ IDataFilter_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *DoEncode)(IDataFilter *this, unsigned int, int, unsigned __int8 *, int, unsigned __int8 *, int, int *, int *, unsigned int);
  HRESULT (__fastcall *DoDecode)(IDataFilter *this, unsigned int, int, unsigned __int8 *, int, unsigned __int8 *, int, int *, int *, unsigned int);
  HRESULT (__fastcall *SetEncodingLevel)(IDataFilter *this, unsigned int);
};

# ITimeAndNoticeControl

struct __cppobj ITimeAndNoticeControl : IUnknown
{
};

# ITimeAndNoticeControl_vtbl

struct /*VFT*/ ITimeAndNoticeControl_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SuppressChanges)(ITimeAndNoticeControl *this, unsigned int, unsigned int);
};

# IBindCallbackRedirect

struct __cppobj IBindCallbackRedirect : IUnknown
{
};

# IBindCallbackRedirect_vtbl

struct /*VFT*/ IBindCallbackRedirect_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Redirect)(IBindCallbackRedirect *this, const wchar_t *, __int16 *);
};

# IBinding

struct __cppobj IBinding : IUnknown
{
};

# IBinding_vtbl

struct /*VFT*/ IBinding_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Abort)(IBinding *this);
  HRESULT (__fastcall *Suspend)(IBinding *this);
  HRESULT (__fastcall *Resume)(IBinding *this);
  HRESULT (__fastcall *SetPriority)(IBinding *this, int);
  HRESULT (__fastcall *GetPriority)(IBinding *this, int *);
  HRESULT (__fastcall *GetBindResult)(IBinding *this, _GUID *, unsigned int *, wchar_t **, unsigned int *);
};

# IBindProtocol

struct __cppobj IBindProtocol : IUnknown
{
};

# IBindProtocol_vtbl

struct /*VFT*/ IBindProtocol_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CreateBinding)(IBindProtocol *this, const wchar_t *, IBindCtx *, IBinding **);
};

# IInternetBindInfoEx

struct __cppobj IInternetBindInfoEx : IInternetBindInfo
{
};

# IInternetBindInfoEx_vtbl

struct /*VFT*/ IInternetBindInfoEx_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetBindInfo)(IInternetBindInfo *this, unsigned int *, _tagBINDINFO *);
  HRESULT (__fastcall *GetBindString)(IInternetBindInfo *this, unsigned int, wchar_t **, unsigned int, unsigned int *);
  HRESULT (__fastcall *GetBindInfoEx)(IInternetBindInfoEx *this, unsigned int *, _tagBINDINFO *, unsigned int *, unsigned int *);
};

# IInternetThreadSwitch

struct __cppobj IInternetThreadSwitch : IUnknown
{
};

# IInternetThreadSwitch_vtbl

struct /*VFT*/ IInternetThreadSwitch_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Prepare)(IInternetThreadSwitch *this);
  HRESULT (__fastcall *Continue)(IInternetThreadSwitch *this);
};

# ip_mreq_source

struct ip_mreq_source
{
  in_addr imr_multiaddr;
  in_addr imr_sourceaddr;
  in_addr imr_interface;
};

# ip_mreq

struct ip_mreq
{
  in_addr imr_multiaddr;
  in_addr imr_interface;
};

# IWeakReference

struct __cppobj IWeakReference : IUnknown
{
};

# IWeakReference_vtbl

struct /*VFT*/ IWeakReference_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Resolve)(IWeakReference *this, const _GUID *, IInspectable **);
};

# IMarshal

struct __cppobj IMarshal : IUnknown
{
};

# IMarshal_vtbl

struct /*VFT*/ IMarshal_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetUnmarshalClass)(IMarshal *this, const _GUID *, void *, unsigned int, void *, unsigned int, _GUID *);
  HRESULT (__fastcall *GetMarshalSizeMax)(IMarshal *this, const _GUID *, void *, unsigned int, void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *MarshalInterface)(IMarshal *this, IStream *, const _GUID *, void *, unsigned int, void *, unsigned int);
  HRESULT (__fastcall *UnmarshalInterface)(IMarshal *this, IStream *, const _GUID *, void **);
  HRESULT (__fastcall *ReleaseMarshalData)(IMarshal *this, IStream *);
  HRESULT (__fastcall *DisconnectObject)(IMarshal *this, unsigned int);
};

# IGlobalInterfaceTable

struct __cppobj IGlobalInterfaceTable : IUnknown
{
};

# IGlobalInterfaceTable_vtbl

struct /*VFT*/ IGlobalInterfaceTable_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *RegisterInterfaceInGlobal)(IGlobalInterfaceTable *this, IUnknown *, const _GUID *, unsigned int *);
  HRESULT (__fastcall *RevokeInterfaceFromGlobal)(IGlobalInterfaceTable *this, unsigned int);
  HRESULT (__fastcall *GetInterfaceFromGlobal)(IGlobalInterfaceTable *this, unsigned int, const _GUID *, void **);
};

struct __cppobj IOleLink : IUnknown
{
};

struct /*VFT*/ IOleLink_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetUpdateOptions)(IOleLink *this, unsigned int);
  HRESULT (__fastcall *GetUpdateOptions)(IOleLink *this, unsigned int *);
  HRESULT (__fastcall *SetSourceMoniker)(IOleLink *this, IMoniker *, const _GUID *);
  HRESULT (__fastcall *GetSourceMoniker)(IOleLink *this, IMoniker **);
  HRESULT (__fastcall *SetSourceDisplayName)(IOleLink *this, const wchar_t *);
  HRESULT (__fastcall *GetSourceDisplayName)(IOleLink *this, wchar_t **);
  HRESULT (__fastcall *BindToSource)(IOleLink *this, unsigned int, IBindCtx *);
  HRESULT (__fastcall *BindIfRunning)(IOleLink *this);
  HRESULT (__fastcall *GetBoundSource)(IOleLink *this, IUnknown **);
  HRESULT (__fastcall *UnbindSource)(IOleLink *this);
  HRESULT (__fastcall *Update)(IOleLink *this, IBindCtx *);
};

# ILanguageExceptionErrorInfo

struct __cppobj ILanguageExceptionErrorInfo : IUnknown
{
};

# ILanguageExceptionErrorInfo_vtbl

struct /*VFT*/ ILanguageExceptionErrorInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetLanguageException)(ILanguageExceptionErrorInfo *this, IUnknown **);
};

# ILanguageExceptionErrorInfo2

struct __cppobj ILanguageExceptionErrorInfo2 : ILanguageExceptionErrorInfo
{
};

# ILanguageExceptionErrorInfo2_vtbl

struct /*VFT*/ ILanguageExceptionErrorInfo2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetLanguageException)(ILanguageExceptionErrorInfo *this, IUnknown **);
  HRESULT (__fastcall *GetPreviousLanguageExceptionErrorInfo)(ILanguageExceptionErrorInfo2 *this, ILanguageExceptionErrorInfo2 **);
  HRESULT (__fastcall *CapturePropagationContext)(ILanguageExceptionErrorInfo2 *this, IUnknown *);
  HRESULT (__fastcall *GetPropagationContextHead)(ILanguageExceptionErrorInfo2 *this, ILanguageExceptionErrorInfo2 **);
};

# in_recverr

struct __declspec(align(4)) in_recverr
{
  IPPROTO protocol;
  unsigned int info;
  unsigned __int8 type;
  unsigned __int8 code;
};

# IInternetHostSecurityManager

struct __cppobj IInternetHostSecurityManager : IUnknown
{
};

# IInternetHostSecurityManager_vtbl

struct /*VFT*/ IInternetHostSecurityManager_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetSecurityId)(IInternetHostSecurityManager *this, unsigned __int8 *, unsigned int *, unsigned __int64);
  HRESULT (__fastcall *ProcessUrlAction)(IInternetHostSecurityManager *this, unsigned int, unsigned __int8 *, unsigned int, unsigned __int8 *, unsigned int, unsigned int, unsigned int);
  HRESULT (__fastcall *QueryCustomPolicy)(IInternetHostSecurityManager *this, const _GUID *, unsigned __int8 **, unsigned int *, unsigned __int8 *, unsigned int, unsigned int);
};

# IOleAdviseHolder

struct __cppobj IOleAdviseHolder : IUnknown
{
};

# IOleAdviseHolder_vtbl

struct /*VFT*/ IOleAdviseHolder_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Advise)(IOleAdviseHolder *this, IAdviseSink *, unsigned int *);
  HRESULT (__fastcall *Unadvise)(IOleAdviseHolder *this, unsigned int);
  HRESULT (__fastcall *EnumAdvise)(IOleAdviseHolder *this, IEnumSTATDATA **);
  HRESULT (__fastcall *SendOnRename)(IOleAdviseHolder *this, IMoniker *);
  HRESULT (__fastcall *SendOnSave)(IOleAdviseHolder *this);
  HRESULT (__fastcall *SendOnClose)(IOleAdviseHolder *this);
};

# in6_pktinfo

struct in6_pktinfo
{
  in6_addr ipi6_addr;
  unsigned int ipi6_ifindex;
};

# IWinInetFileStream

struct __cppobj IWinInetFileStream : IUnknown
{
};

# IWinInetFileStream_vtbl

struct /*VFT*/ IWinInetFileStream_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetHandleForUnlock)(IWinInetFileStream *this, unsigned __int64, unsigned __int64);
  HRESULT (__fastcall *SetDeleteFile)(IWinInetFileStream *this, unsigned __int64);
};

# IInternetZoneManager

struct __cppobj IInternetZoneManager : IUnknown
{
};

# IInternetZoneManager_vtbl

struct /*VFT*/ IInternetZoneManager_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetZoneAttributes)(IInternetZoneManager *this, unsigned int, _ZONEATTRIBUTES *);
  HRESULT (__fastcall *SetZoneAttributes)(IInternetZoneManager *this, unsigned int, _ZONEATTRIBUTES *);
  HRESULT (__fastcall *GetZoneCustomPolicy)(IInternetZoneManager *this, unsigned int, const _GUID *, unsigned __int8 **, unsigned int *, _URLZONEREG);
  HRESULT (__fastcall *SetZoneCustomPolicy)(IInternetZoneManager *this, unsigned int, const _GUID *, unsigned __int8 *, unsigned int, _URLZONEREG);
  HRESULT (__fastcall *GetZoneActionPolicy)(IInternetZoneManager *this, unsigned int, unsigned int, unsigned __int8 *, unsigned int, _URLZONEREG);
  HRESULT (__fastcall *SetZoneActionPolicy)(IInternetZoneManager *this, unsigned int, unsigned int, unsigned __int8 *, unsigned int, _URLZONEREG);
  HRESULT (__fastcall *PromptAction)(IInternetZoneManager *this, unsigned int, HWND__ *, const wchar_t *, const wchar_t *, unsigned int);
  HRESULT (__fastcall *LogAction)(IInternetZoneManager *this, unsigned int, const wchar_t *, const wchar_t *, unsigned int);
  HRESULT (__fastcall *CreateZoneEnumerator)(IInternetZoneManager *this, unsigned int *, unsigned int *, unsigned int);
  HRESULT (__fastcall *GetZoneAt)(IInternetZoneManager *this, unsigned int, unsigned int, unsigned int *);
  HRESULT (__fastcall *DestroyZoneEnumerator)(IInternetZoneManager *this, unsigned int);
  HRESULT (__fastcall *CopyTemplatePoliciesToZone)(IInternetZoneManager *this, unsigned int, unsigned int, unsigned int);
};

# IInternetZoneManagerEx

struct __cppobj IInternetZoneManagerEx : IInternetZoneManager
{
};

# IInternetZoneManagerEx_vtbl

struct /*VFT*/ IInternetZoneManagerEx_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetZoneAttributes)(IInternetZoneManager *this, unsigned int, _ZONEATTRIBUTES *);
  HRESULT (__fastcall *SetZoneAttributes)(IInternetZoneManager *this, unsigned int, _ZONEATTRIBUTES *);
  HRESULT (__fastcall *GetZoneCustomPolicy)(IInternetZoneManager *this, unsigned int, const _GUID *, unsigned __int8 **, unsigned int *, _URLZONEREG);
  HRESULT (__fastcall *SetZoneCustomPolicy)(IInternetZoneManager *this, unsigned int, const _GUID *, unsigned __int8 *, unsigned int, _URLZONEREG);
  HRESULT (__fastcall *GetZoneActionPolicy)(IInternetZoneManager *this, unsigned int, unsigned int, unsigned __int8 *, unsigned int, _URLZONEREG);
  HRESULT (__fastcall *SetZoneActionPolicy)(IInternetZoneManager *this, unsigned int, unsigned int, unsigned __int8 *, unsigned int, _URLZONEREG);
  HRESULT (__fastcall *PromptAction)(IInternetZoneManager *this, unsigned int, HWND__ *, const wchar_t *, const wchar_t *, unsigned int);
  HRESULT (__fastcall *LogAction)(IInternetZoneManager *this, unsigned int, const wchar_t *, const wchar_t *, unsigned int);
  HRESULT (__fastcall *CreateZoneEnumerator)(IInternetZoneManager *this, unsigned int *, unsigned int *, unsigned int);
  HRESULT (__fastcall *GetZoneAt)(IInternetZoneManager *this, unsigned int, unsigned int, unsigned int *);
  HRESULT (__fastcall *DestroyZoneEnumerator)(IInternetZoneManager *this, unsigned int);
  HRESULT (__fastcall *CopyTemplatePoliciesToZone)(IInternetZoneManager *this, unsigned int, unsigned int, unsigned int);
  HRESULT (__fastcall *GetZoneActionPolicyEx)(IInternetZoneManagerEx *this, unsigned int, unsigned int, unsigned __int8 *, unsigned int, _URLZONEREG, unsigned int);
  HRESULT (__fastcall *SetZoneActionPolicyEx)(IInternetZoneManagerEx *this, unsigned int, unsigned int, unsigned __int8 *, unsigned int, _URLZONEREG, unsigned int);
};

# ILockBytes

struct __cppobj ILockBytes : IUnknown
{
};

# ILockBytes_vtbl

struct /*VFT*/ ILockBytes_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *ReadAt)(ILockBytes *this, _ULARGE_INTEGER, void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *WriteAt)(ILockBytes *this, _ULARGE_INTEGER, const void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Flush)(ILockBytes *this);
  HRESULT (__fastcall *SetSize)(ILockBytes *this, _ULARGE_INTEGER);
  HRESULT (__fastcall *LockRegion)(ILockBytes *this, _ULARGE_INTEGER, _ULARGE_INTEGER, unsigned int);
  HRESULT (__fastcall *UnlockRegion)(ILockBytes *this, _ULARGE_INTEGER, _ULARGE_INTEGER, unsigned int);
  HRESULT (__fastcall *Stat)(ILockBytes *this, tagSTATSTG *, unsigned int);
};

# IRpcProxyBuffer

struct __cppobj IRpcProxyBuffer : IUnknown
{
};

# IRpcProxyBuffer_vtbl

struct /*VFT*/ IRpcProxyBuffer_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Connect)(IRpcProxyBuffer *this, IRpcChannelBuffer *);
  void (__fastcall *Disconnect)(IRpcProxyBuffer *this);
};

# IPSFactoryBuffer

struct __cppobj IPSFactoryBuffer : IUnknown
{
};

# IRpcStubBuffer

struct __cppobj IRpcStubBuffer : IUnknown
{
};

# IRpcStubBuffer_vtbl

struct /*VFT*/ IRpcStubBuffer_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Connect)(IRpcStubBuffer *this, IUnknown *);
  void (__fastcall *Disconnect)(IRpcStubBuffer *this);
  HRESULT (__fastcall *Invoke)(IRpcStubBuffer *this, tagRPCOLEMESSAGE *, IRpcChannelBuffer *);
  IRpcStubBuffer *(__fastcall *IsIIDSupported)(IRpcStubBuffer *this, const _GUID *);
  unsigned int (__fastcall *CountRefs)(IRpcStubBuffer *this);
  HRESULT (__fastcall *DebugServerQueryInterface)(IRpcStubBuffer *this, void **);
  void (__fastcall *DebugServerRelease)(IRpcStubBuffer *this, void *);
};

# IPSFactoryBuffer_vtbl

struct /*VFT*/ IPSFactoryBuffer_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CreateProxy)(IPSFactoryBuffer *this, IUnknown *, const _GUID *, IRpcProxyBuffer **, void **);
  HRESULT (__fastcall *CreateStub)(IPSFactoryBuffer *this, const _GUID *, IUnknown *, IRpcStubBuffer **);
};

# ICodeInstall

struct __cppobj ICodeInstall : IWindowForBindingUI
{
};

# ICodeInstall_vtbl

struct /*VFT*/ ICodeInstall_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetWindow)(IWindowForBindingUI *this, const _GUID *, HWND__ **);
  HRESULT (__fastcall *OnCodeInstallProblem)(ICodeInstall *this, unsigned int, const wchar_t *, const wchar_t *, unsigned int);
};

# IOleCache2

struct __cppobj IOleCache2 : IOleCache
{
};

# IOleCache2_vtbl

struct /*VFT*/ IOleCache2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Cache)(IOleCache *this, tagFORMATETC *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Uncache)(IOleCache *this, unsigned int);
  HRESULT (__fastcall *EnumCache)(IOleCache *this, IEnumSTATDATA **);
  HRESULT (__fastcall *InitCache)(IOleCache *this, IDataObject *);
  HRESULT (__fastcall *SetData)(IOleCache *this, tagFORMATETC *, tagSTGMEDIUM *, int);
  HRESULT (__fastcall *UpdateCache)(IOleCache2 *this, IDataObject *, unsigned int, void *);
  HRESULT (__fastcall *DiscardCache)(IOleCache2 *this, unsigned int);
};

# IMultiQI

struct __cppobj IMultiQI : IUnknown
{
};

# IMultiQI_vtbl

struct /*VFT*/ IMultiQI_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *QueryMultipleInterfaces)(IMultiQI *this, unsigned int, tagMULTI_QI *);
};

# IRpcSyntaxNegotiate

struct __cppobj IRpcSyntaxNegotiate : IUnknown
{
};

# IRpcSyntaxNegotiate_vtbl

struct /*VFT*/ IRpcSyntaxNegotiate_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *NegotiateSyntax)(IRpcSyntaxNegotiate *this, tagRPCOLEMESSAGE *);
};

# ip_msfilter

struct ip_msfilter
{
  in_addr imsf_multiaddr;
  in_addr imsf_interface;
  MULTICAST_MODE_TYPE imsf_fmode;
  unsigned int imsf_numsrc;
  in_addr imsf_slist[1];
};

# IMessageFilter

struct __cppobj IMessageFilter : IUnknown
{
};

# IMessageFilter_vtbl

struct /*VFT*/ IMessageFilter_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  unsigned int (__fastcall *HandleInComingCall)(IMessageFilter *this, unsigned int, HTASK__ *, unsigned int, tagINTERFACEINFO *);
  unsigned int (__fastcall *RetryRejectedCall)(IMessageFilter *this, HTASK__ *, unsigned int, unsigned int);
  unsigned int (__fastcall *MessagePending)(IMessageFilter *this, HTASK__ *, unsigned int, unsigned int);
};

# IZoneIdentifier

struct __cppobj IZoneIdentifier : IUnknown
{
};

# IZoneIdentifier_vtbl

struct /*VFT*/ IZoneIdentifier_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetId)(IZoneIdentifier *this, unsigned int *);
  HRESULT (__fastcall *SetId)(IZoneIdentifier *this, unsigned int);
  HRESULT (__fastcall *Remove)(IZoneIdentifier *this);
};

# ITypeMarshal

struct __cppobj ITypeMarshal : IUnknown
{
};

# ITypeMarshal_vtbl

struct /*VFT*/ ITypeMarshal_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Size)(ITypeMarshal *this, void *, unsigned int, void *, unsigned int *);
  HRESULT (__fastcall *Marshal)(ITypeMarshal *this, void *, unsigned int, void *, unsigned int, unsigned __int8 *, unsigned int *);
  HRESULT (__fastcall *Unmarshal)(ITypeMarshal *this, void *, unsigned int, unsigned int, unsigned __int8 *, unsigned int *);
  HRESULT (__fastcall *Free)(ITypeMarshal *this, void *);
};

# IWinInetCacheHints

struct __cppobj IWinInetCacheHints : IUnknown
{
};

# IWinInetCacheHints_vtbl

struct /*VFT*/ IWinInetCacheHints_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetCacheExtension)(IWinInetCacheHints *this, const wchar_t *, void *, unsigned int *, unsigned int *, unsigned int *);
};

# ICallFactory

struct __cppobj ICallFactory : IUnknown
{
};

# ICallFactory_vtbl

struct /*VFT*/ ICallFactory_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CreateCall)(ICallFactory *this, const _GUID *, IUnknown *, const _GUID *, IUnknown **);
};

# IInternetProtocolInfo

struct __cppobj IInternetProtocolInfo : IUnknown
{
};

# IInternetProtocolInfo_vtbl

struct /*VFT*/ IInternetProtocolInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *ParseUrl)(IInternetProtocolInfo *this, const wchar_t *, _tagPARSEACTION, unsigned int, wchar_t *, unsigned int, unsigned int *, unsigned int);
  HRESULT (__fastcall *CombineUrl)(IInternetProtocolInfo *this, const wchar_t *, const wchar_t *, unsigned int, wchar_t *, unsigned int, unsigned int *, unsigned int);
  HRESULT (__fastcall *CompareUrl)(IInternetProtocolInfo *this, const wchar_t *, const wchar_t *, unsigned int);
  HRESULT (__fastcall *QueryInfo)(IInternetProtocolInfo *this, const wchar_t *, _tagQUERYOPTION, unsigned int, void *, unsigned int, unsigned int *, unsigned int);
};

# IStdMarshalInfo

struct __cppobj IStdMarshalInfo : IUnknown
{
};

# IStdMarshalInfo_vtbl

struct /*VFT*/ IStdMarshalInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetClassForHandler)(IStdMarshalInfo *this, unsigned int, void *, _GUID *);
};

# ipv6_mreq

struct ipv6_mreq
{
  in6_addr ipv6mr_multiaddr;
  unsigned int ipv6mr_interface;
};

# IMallocSpy

struct __cppobj IMallocSpy : IUnknown
{
};

# IMallocSpy_vtbl

struct /*VFT*/ IMallocSpy_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  unsigned __int64 (__fastcall *PreAlloc)(IMallocSpy *this, unsigned __int64);
  void *(__fastcall *PostAlloc)(IMallocSpy *this, void *);
  void *(__fastcall *PreFree)(IMallocSpy *this, void *, int);
  void (__fastcall *PostFree)(IMallocSpy *this, int);
  unsigned __int64 (__fastcall *PreRealloc)(IMallocSpy *this, void *, unsigned __int64, void **, int);
  void *(__fastcall *PostRealloc)(IMallocSpy *this, void *, int);
  void *(__fastcall *PreGetSize)(IMallocSpy *this, void *, int);
  unsigned __int64 (__fastcall *PostGetSize)(IMallocSpy *this, unsigned __int64, int);
  void *(__fastcall *PreDidAlloc)(IMallocSpy *this, void *, int);
  int (__fastcall *PostDidAlloc)(IMallocSpy *this, void *, int, int);
  void (__fastcall *PreHeapMinimize)(IMallocSpy *this);
  void (__fastcall *PostHeapMinimize)(IMallocSpy *this);
};

# ISurrogate

struct __cppobj ISurrogate : IUnknown
{
};

# ISurrogate_vtbl

struct /*VFT*/ ISurrogate_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *LoadDllServer)(ISurrogate *this, const _GUID *);
  HRESULT (__fastcall *FreeSurrogate)(ISurrogate *this);
};

# in6_pktinfo_ex

struct in6_pktinfo_ex
{
  in6_pktinfo pkt_info;
  SCOPE_ID scope_id;
};

# IInternet_vtbl

struct /*VFT*/ IInternet_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
};

# IInternet

struct __cppobj IInternet : IUnknown
{
};

# IXMLHttpRequest

struct __cppobj IXMLHttpRequest : IDispatch
{
};

# IXMLHttpRequest_vtbl

struct /*VFT*/ IXMLHttpRequest_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *open)(IXMLHttpRequest *this, wchar_t *, wchar_t *, tagVARIANT, tagVARIANT, tagVARIANT);
  HRESULT (__fastcall *setRequestHeader)(IXMLHttpRequest *this, wchar_t *, wchar_t *);
  HRESULT (__fastcall *getResponseHeader)(IXMLHttpRequest *this, wchar_t *, wchar_t **);
  HRESULT (__fastcall *getAllResponseHeaders)(IXMLHttpRequest *this, wchar_t **);
  HRESULT (__fastcall *send)(IXMLHttpRequest *this, tagVARIANT);
  HRESULT (__fastcall *abort)(IXMLHttpRequest *this);
  HRESULT (__fastcall *get_status)(IXMLHttpRequest *this, int *);
  HRESULT (__fastcall *get_statusText)(IXMLHttpRequest *this, wchar_t **);
  HRESULT (__fastcall *get_responseXML)(IXMLHttpRequest *this, IDispatch **);
  HRESULT (__fastcall *get_responseText)(IXMLHttpRequest *this, wchar_t **);
  HRESULT (__fastcall *get_responseBody)(IXMLHttpRequest *this, tagVARIANT *);
  HRESULT (__fastcall *get_responseStream)(IXMLHttpRequest *this, tagVARIANT *);
  HRESULT (__fastcall *get_readyState)(IXMLHttpRequest *this, int *);
  HRESULT (__fastcall *put_onreadystatechange)(IXMLHttpRequest *this, IDispatch *);
};

# IOleWindow

struct __cppobj IOleWindow : IUnknown
{
};

# IOleWindow_vtbl

struct /*VFT*/ IOleWindow_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetWindow)(IOleWindow *this, HWND__ **);
  HRESULT (__fastcall *ContextSensitiveHelp)(IOleWindow *this, int);
};

# IOleInPlaceUIWindow

struct __cppobj IOleInPlaceUIWindow : IOleWindow
{
};

# IOleInPlaceActiveObject

struct __cppobj IOleInPlaceActiveObject : IOleWindow
{
};

# IOleInPlaceActiveObject_vtbl

struct /*VFT*/ IOleInPlaceActiveObject_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetWindow)(IOleWindow *this, HWND__ **);
  HRESULT (__fastcall *ContextSensitiveHelp)(IOleWindow *this, int);
  HRESULT (__fastcall *TranslateAcceleratorA)(IOleInPlaceActiveObject *this, tagMSG *);
  HRESULT (__fastcall *OnFrameWindowActivate)(IOleInPlaceActiveObject *this, int);
  HRESULT (__fastcall *OnDocWindowActivate)(IOleInPlaceActiveObject *this, int);
  HRESULT (__fastcall *ResizeBorder)(IOleInPlaceActiveObject *this, const tagRECT *, IOleInPlaceUIWindow *, int);
  HRESULT (__fastcall *EnableModeless)(IOleInPlaceActiveObject *this, int);
};

# IOleInPlaceUIWindow_vtbl

struct /*VFT*/ IOleInPlaceUIWindow_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetWindow)(IOleWindow *this, HWND__ **);
  HRESULT (__fastcall *ContextSensitiveHelp)(IOleWindow *this, int);
  HRESULT (__fastcall *GetBorder)(IOleInPlaceUIWindow *this, tagRECT *);
  HRESULT (__fastcall *RequestBorderSpace)(IOleInPlaceUIWindow *this, const tagRECT *);
  HRESULT (__fastcall *SetBorderSpace)(IOleInPlaceUIWindow *this, const tagRECT *);
  HRESULT (__fastcall *SetActiveObject)(IOleInPlaceUIWindow *this, IOleInPlaceActiveObject *, const wchar_t *);
};

# IOleInPlaceFrame

struct __cppobj IOleInPlaceFrame : IOleInPlaceUIWindow
{
};

# IOleInPlaceFrame_vtbl

struct /*VFT*/ IOleInPlaceFrame_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetWindow)(IOleWindow *this, HWND__ **);
  HRESULT (__fastcall *ContextSensitiveHelp)(IOleWindow *this, int);
  HRESULT (__fastcall *GetBorder)(IOleInPlaceUIWindow *this, tagRECT *);
  HRESULT (__fastcall *RequestBorderSpace)(IOleInPlaceUIWindow *this, const tagRECT *);
  HRESULT (__fastcall *SetBorderSpace)(IOleInPlaceUIWindow *this, const tagRECT *);
  HRESULT (__fastcall *SetActiveObject)(IOleInPlaceUIWindow *this, IOleInPlaceActiveObject *, const wchar_t *);
  HRESULT (__fastcall *InsertMenus)(IOleInPlaceFrame *this, HMENU__ *, tagOleMenuGroupWidths *);
  HRESULT (__fastcall *SetMenu)(IOleInPlaceFrame *this, HMENU__ *, void *, HWND__ *);
  HRESULT (__fastcall *RemoveMenus)(IOleInPlaceFrame *this, HMENU__ *);
  HRESULT (__fastcall *SetStatusText)(IOleInPlaceFrame *this, const wchar_t *);
  HRESULT (__fastcall *EnableModeless)(IOleInPlaceFrame *this, int);
  HRESULT (__fastcall *TranslateAcceleratorA)(IOleInPlaceFrame *this, tagMSG *, unsigned __int16);
};

# IPersistStorage

struct __cppobj IPersistStorage : IPersist
{
};

# IPersistStorage_vtbl

struct /*VFT*/ IPersistStorage_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetClassID)(IPersist *this, _GUID *);
  HRESULT (__fastcall *IsDirty)(IPersistStorage *this);
  HRESULT (__fastcall *InitNew)(IPersistStorage *this, IStorage *);
  HRESULT (__fastcall *Load)(IPersistStorage *this, IStorage *);
  HRESULT (__fastcall *Save)(IPersistStorage *this, IStorage *, int);
  HRESULT (__fastcall *SaveCompleted)(IPersistStorage *this, IStorage *);
  HRESULT (__fastcall *HandsOffStorage)(IPersistStorage *this);
};

# IUri

struct __cppobj IUri : IUnknown
{
};

# IUri_vtbl

struct /*VFT*/ IUri_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetPropertyBSTR)(IUri *this, __MIDL_IUri_0001, wchar_t **, unsigned int);
  HRESULT (__fastcall *GetPropertyLength)(IUri *this, __MIDL_IUri_0001, unsigned int *, unsigned int);
  HRESULT (__fastcall *GetPropertyDWORD)(IUri *this, __MIDL_IUri_0001, unsigned int *, unsigned int);
  HRESULT (__fastcall *HasProperty)(IUri *this, __MIDL_IUri_0001, int *);
  HRESULT (__fastcall *GetAbsoluteUri)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetAuthority)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetDisplayUri)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetDomain)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetExtension)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetFragment)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetHost)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetPassword)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetPath)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetPathAndQuery)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetQuery)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetRawUri)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetSchemeName)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetUserInfo)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetUserNameA)(IUri *this, wchar_t **);
  HRESULT (__fastcall *GetHostType)(IUri *this, unsigned int *);
  HRESULT (__fastcall *GetPort)(IUri *this, unsigned int *);
  HRESULT (__fastcall *GetScheme)(IUri *this, unsigned int *);
  HRESULT (__fastcall *GetZone)(IUri *this, unsigned int *);
  HRESULT (__fastcall *GetProperties)(IUri *this, unsigned int *);
  HRESULT (__fastcall *IsEqual)(IUri *this, IUri *, int *);
};

# IUriBuilder

struct __cppobj IUriBuilder : IUnknown
{
};

# IUriBuilder_vtbl

struct /*VFT*/ IUriBuilder_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CreateUriSimple)(IUriBuilder *this, unsigned int, unsigned __int64, IUri **);
  HRESULT (__fastcall *CreateUri)(IUriBuilder *this, unsigned int, unsigned int, unsigned __int64, IUri **);
  HRESULT (__fastcall *CreateUriWithFlags)(IUriBuilder *this, unsigned int, unsigned int, unsigned int, unsigned __int64, IUri **);
  HRESULT (__fastcall *GetIUri)(IUriBuilder *this, IUri **);
  HRESULT (__fastcall *SetIUri)(IUriBuilder *this, IUri *);
  HRESULT (__fastcall *GetFragment)(IUriBuilder *this, unsigned int *, const wchar_t **);
  HRESULT (__fastcall *GetHost)(IUriBuilder *this, unsigned int *, const wchar_t **);
  HRESULT (__fastcall *GetPassword)(IUriBuilder *this, unsigned int *, const wchar_t **);
  HRESULT (__fastcall *GetPath)(IUriBuilder *this, unsigned int *, const wchar_t **);
  HRESULT (__fastcall *GetPort)(IUriBuilder *this, int *, unsigned int *);
  HRESULT (__fastcall *GetQuery)(IUriBuilder *this, unsigned int *, const wchar_t **);
  HRESULT (__fastcall *GetSchemeName)(IUriBuilder *this, unsigned int *, const wchar_t **);
  HRESULT (__fastcall *GetUserNameA)(IUriBuilder *this, unsigned int *, const wchar_t **);
  HRESULT (__fastcall *SetFragment)(IUriBuilder *this, const wchar_t *);
  HRESULT (__fastcall *SetHost)(IUriBuilder *this, const wchar_t *);
  HRESULT (__fastcall *SetPassword)(IUriBuilder *this, const wchar_t *);
  HRESULT (__fastcall *SetPath)(IUriBuilder *this, const wchar_t *);
  HRESULT (__fastcall *SetPort)(IUriBuilder *this, int, unsigned int);
  HRESULT (__fastcall *SetQuery)(IUriBuilder *this, const wchar_t *);
  HRESULT (__fastcall *SetSchemeName)(IUriBuilder *this, const wchar_t *);
  HRESULT (__fastcall *SetUserName)(IUriBuilder *this, const wchar_t *);
  HRESULT (__fastcall *RemoveProperties)(IUriBuilder *this, unsigned int);
  HRESULT (__fastcall *HasBeenModified)(IUriBuilder *this, int *);
};

# IUriBuilderFactory

struct __cppobj IUriBuilderFactory : IUnknown
{
};

# IUriBuilderFactory_vtbl

struct /*VFT*/ IUriBuilderFactory_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CreateIUriBuilder)(IUriBuilderFactory *this, unsigned int, unsigned __int64, IUriBuilder **);
  HRESULT (__fastcall *CreateInitializedIUriBuilder)(IUriBuilderFactory *this, unsigned int, unsigned __int64, IUriBuilder **);
};

# IEnumOLEVERB

struct __cppobj IEnumOLEVERB : IUnknown
{
};

# IEnumOLEVERB_vtbl

struct /*VFT*/ IEnumOLEVERB_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Next)(IEnumOLEVERB *this, unsigned int, tagOLEVERB *, unsigned int *);
  HRESULT (__fastcall *Skip)(IEnumOLEVERB *this, unsigned int);
  HRESULT (__fastcall *Reset)(IEnumOLEVERB *this);
  HRESULT (__fastcall *Clone)(IEnumOLEVERB *this, IEnumOLEVERB **);
};

# IOleInPlaceObject

struct __cppobj IOleInPlaceObject : IOleWindow
{
};

# IOleInPlaceObject_vtbl

struct /*VFT*/ IOleInPlaceObject_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetWindow)(IOleWindow *this, HWND__ **);
  HRESULT (__fastcall *ContextSensitiveHelp)(IOleWindow *this, int);
  HRESULT (__fastcall *InPlaceDeactivate)(IOleInPlaceObject *this);
  HRESULT (__fastcall *UIDeactivate)(IOleInPlaceObject *this);
  HRESULT (__fastcall *SetObjectRects)(IOleInPlaceObject *this, const tagRECT *, const tagRECT *);
  HRESULT (__fastcall *ReactivateAndUndo)(IOleInPlaceObject *this);
};

# IPersistFile

struct __cppobj IPersistFile : IPersist
{
};

# IPersistFile_vtbl

struct /*VFT*/ IPersistFile_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetClassID)(IPersist *this, _GUID *);
  HRESULT (__fastcall *IsDirty)(IPersistFile *this);
  HRESULT (__fastcall *Load)(IPersistFile *this, const wchar_t *, unsigned int);
  HRESULT (__fastcall *Save)(IPersistFile *this, const wchar_t *, int);
  HRESULT (__fastcall *SaveCompleted)(IPersistFile *this, const wchar_t *);
  HRESULT (__fastcall *GetCurFile)(IPersistFile *this, wchar_t **);
};

# IOleInPlaceSite

struct __cppobj IOleInPlaceSite : IOleWindow
{
};

# IOleInPlaceSite_vtbl

struct /*VFT*/ IOleInPlaceSite_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetWindow)(IOleWindow *this, HWND__ **);
  HRESULT (__fastcall *ContextSensitiveHelp)(IOleWindow *this, int);
  HRESULT (__fastcall *CanInPlaceActivate)(IOleInPlaceSite *this);
  HRESULT (__fastcall *OnInPlaceActivate)(IOleInPlaceSite *this);
  HRESULT (__fastcall *OnUIActivate)(IOleInPlaceSite *this);
  HRESULT (__fastcall *GetWindowContext)(IOleInPlaceSite *this, IOleInPlaceFrame **, IOleInPlaceUIWindow **, tagRECT *, tagRECT *, tagOIFI *);
  HRESULT (__fastcall *Scroll)(IOleInPlaceSite *this, tagSIZE);
  HRESULT (__fastcall *OnUIDeactivate)(IOleInPlaceSite *this, int);
  HRESULT (__fastcall *OnInPlaceDeactivate)(IOleInPlaceSite *this);
  HRESULT (__fastcall *DiscardUndoState)(IOleInPlaceSite *this);
  HRESULT (__fastcall *DeactivateAndUndo)(IOleInPlaceSite *this);
  HRESULT (__fastcall *OnPosRectChange)(IOleInPlaceSite *this, const tagRECT *);
};

# IForegroundTransfer

struct __cppobj IForegroundTransfer : IUnknown
{
};

# IForegroundTransfer_vtbl

struct /*VFT*/ IForegroundTransfer_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *AllowForegroundTransfer)(IForegroundTransfer *this, void *);
};

# IOleCacheControl

struct __cppobj IOleCacheControl : IUnknown
{
};

# IOleCacheControl_vtbl

struct /*VFT*/ IOleCacheControl_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *OnRun)(IOleCacheControl *this, IDataObject *);
  HRESULT (__fastcall *OnStop)(IOleCacheControl *this);
};

# IErrorLog

struct __cppobj IErrorLog : IUnknown
{
};

# IErrorLog_vtbl

struct /*VFT*/ IErrorLog_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *AddError)(IErrorLog *this, const wchar_t *, tagEXCEPINFO *);
};

# IInternetProtocolSinkStackable

struct __cppobj IInternetProtocolSinkStackable : IUnknown
{
};

# IInternetProtocolSinkStackable_vtbl

struct /*VFT*/ IInternetProtocolSinkStackable_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SwitchSink)(IInternetProtocolSinkStackable *this, IInternetProtocolSink *);
  HRESULT (__fastcall *CommitSwitch)(IInternetProtocolSinkStackable *this);
  HRESULT (__fastcall *RollbackSwitch)(IInternetProtocolSinkStackable *this);
};

# IViewObject2

struct __cppobj IViewObject2 : IViewObject
{
};

# IViewObject2_vtbl

struct /*VFT*/ IViewObject2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Draw)(IViewObject *this, unsigned int, int, void *, tagDVTARGETDEVICE *, HDC__ *, HDC__ *, const _RECTL *, const _RECTL *, int (__fastcall *)(unsigned __int64), unsigned __int64);
  HRESULT (__fastcall *GetColorSet)(IViewObject *this, unsigned int, int, void *, tagDVTARGETDEVICE *, HDC__ *, tagLOGPALETTE **);
  HRESULT (__fastcall *Freeze)(IViewObject *this, unsigned int, int, void *, unsigned int *);
  HRESULT (__fastcall *Unfreeze)(IViewObject *this, unsigned int);
  HRESULT (__fastcall *SetAdvise)(IViewObject *this, unsigned int, unsigned int, IAdviseSink *);
  HRESULT (__fastcall *GetAdvise)(IViewObject *this, unsigned int *, unsigned int *, IAdviseSink **);
  HRESULT (__fastcall *GetExtent)(IViewObject2 *this, unsigned int, int, tagDVTARGETDEVICE *, tagSIZE *);
};

# ISupportErrorInfo

struct __cppobj ISupportErrorInfo : IUnknown
{
};

# ISupportErrorInfo_vtbl

struct /*VFT*/ ISupportErrorInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *InterfaceSupportsErrorInfo)(ISupportErrorInfo *this, const _GUID *);
};

# ICreateErrorInfo

struct __cppobj ICreateErrorInfo : IUnknown
{
};

# ICreateErrorInfo_vtbl

struct /*VFT*/ ICreateErrorInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetGUID)(ICreateErrorInfo *this, const _GUID *);
  HRESULT (__fastcall *SetSource)(ICreateErrorInfo *this, wchar_t *);
  HRESULT (__fastcall *SetDescription)(ICreateErrorInfo *this, wchar_t *);
  HRESULT (__fastcall *SetHelpFile)(ICreateErrorInfo *this, wchar_t *);
  HRESULT (__fastcall *SetHelpContext)(ICreateErrorInfo *this, unsigned int);
};

# IDataAdviseHolder

struct __cppobj IDataAdviseHolder : IUnknown
{
};

# IDataAdviseHolder_vtbl

struct /*VFT*/ IDataAdviseHolder_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Advise)(IDataAdviseHolder *this, IDataObject *, tagFORMATETC *, unsigned int, IAdviseSink *, unsigned int *);
  HRESULT (__fastcall *Unadvise)(IDataAdviseHolder *this, unsigned int);
  HRESULT (__fastcall *EnumAdvise)(IDataAdviseHolder *this, IEnumSTATDATA **);
  HRESULT (__fastcall *SendOnDataChange)(IDataAdviseHolder *this, IDataObject *, unsigned int, unsigned int);
};

# IRpcChannelBuffer2

struct __cppobj IRpcChannelBuffer2 : IRpcChannelBuffer
{
};

# IRpcChannelBuffer2_vtbl

struct /*VFT*/ IRpcChannelBuffer2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetBuffer)(IRpcChannelBuffer *this, tagRPCOLEMESSAGE *, const _GUID *);
  HRESULT (__fastcall *SendReceive)(IRpcChannelBuffer *this, tagRPCOLEMESSAGE *, unsigned int *);
  HRESULT (__fastcall *FreeBuffer)(IRpcChannelBuffer *this, tagRPCOLEMESSAGE *);
  HRESULT (__fastcall *GetDestCtx)(IRpcChannelBuffer *this, unsigned int *, void **);
  HRESULT (__fastcall *IsConnected)(IRpcChannelBuffer *this);
  HRESULT (__fastcall *GetProtocolVersion)(IRpcChannelBuffer2 *this, unsigned int *);
};

# IRpcChannelBuffer3

struct __cppobj IRpcChannelBuffer3 : IRpcChannelBuffer2
{
};

# IAsyncManager

struct __cppobj IAsyncManager : IUnknown
{
};

# IAsyncManager_vtbl

struct /*VFT*/ IAsyncManager_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CompleteCall)(IAsyncManager *this, HRESULT);
  HRESULT (__fastcall *GetCallContext)(IAsyncManager *this, const _GUID *, void **);
  HRESULT (__fastcall *GetState)(IAsyncManager *this, unsigned int *);
};

# IRpcChannelBuffer3_vtbl

struct /*VFT*/ IRpcChannelBuffer3_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetBuffer)(IRpcChannelBuffer *this, tagRPCOLEMESSAGE *, const _GUID *);
  HRESULT (__fastcall *SendReceive)(IRpcChannelBuffer *this, tagRPCOLEMESSAGE *, unsigned int *);
  HRESULT (__fastcall *FreeBuffer)(IRpcChannelBuffer *this, tagRPCOLEMESSAGE *);
  HRESULT (__fastcall *GetDestCtx)(IRpcChannelBuffer *this, unsigned int *, void **);
  HRESULT (__fastcall *IsConnected)(IRpcChannelBuffer *this);
  HRESULT (__fastcall *GetProtocolVersion)(IRpcChannelBuffer2 *this, unsigned int *);
  HRESULT (__fastcall *Send)(IRpcChannelBuffer3 *this, tagRPCOLEMESSAGE *, unsigned int *);
  HRESULT (__fastcall *Receive)(IRpcChannelBuffer3 *this, tagRPCOLEMESSAGE *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Cancel)(IRpcChannelBuffer3 *this, tagRPCOLEMESSAGE *);
  HRESULT (__fastcall *GetCallContext)(IRpcChannelBuffer3 *this, tagRPCOLEMESSAGE *, const _GUID *, void **);
  HRESULT (__fastcall *GetDestCtxEx)(IRpcChannelBuffer3 *this, tagRPCOLEMESSAGE *, unsigned int *, void **);
  HRESULT (__fastcall *GetState)(IRpcChannelBuffer3 *this, tagRPCOLEMESSAGE *, unsigned int *);
  HRESULT (__fastcall *RegisterAsync)(IRpcChannelBuffer3 *this, tagRPCOLEMESSAGE *, IAsyncManager *);
};

# IPropertyBag

struct __cppobj IPropertyBag : IUnknown
{
};

# IPropertyBag_vtbl

struct /*VFT*/ IPropertyBag_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Read)(IPropertyBag *this, const wchar_t *, tagVARIANT *, IErrorLog *);
  HRESULT (__fastcall *Write)(IPropertyBag *this, const wchar_t *, tagVARIANT *);
};

# IEnumVARIANT

struct __cppobj IEnumVARIANT : IUnknown
{
};

# IEnumVARIANT_vtbl

struct /*VFT*/ IEnumVARIANT_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Next)(IEnumVARIANT *this, unsigned int, tagVARIANT *, unsigned int *);
  HRESULT (__fastcall *Skip)(IEnumVARIANT *this, unsigned int);
  HRESULT (__fastcall *Reset)(IEnumVARIANT *this);
  HRESULT (__fastcall *Clone)(IEnumVARIANT *this, IEnumVARIANT **);
};

# IGlobalOptions

struct __cppobj IGlobalOptions : IUnknown
{
};

# IGlobalOptions_vtbl

struct /*VFT*/ IGlobalOptions_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Set)(IGlobalOptions *this, tagGLOBALOPT_PROPERTIES, unsigned __int64);
  HRESULT (__fastcall *Query)(IGlobalOptions *this, tagGLOBALOPT_PROPERTIES, unsigned __int64 *);
};

# IXMLElement

struct __cppobj IXMLElement : IDispatch
{
};

# IXMLElementCollection

struct __cppobj IXMLElementCollection : IDispatch
{
};

# IXMLElementCollection_vtbl

struct /*VFT*/ IXMLElementCollection_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *put_length)(IXMLElementCollection *this, int);
  HRESULT (__fastcall *get_length)(IXMLElementCollection *this, int *);
  HRESULT (__fastcall *get__newEnum)(IXMLElementCollection *this, IUnknown **);
  HRESULT (__fastcall *item)(IXMLElementCollection *this, tagVARIANT, tagVARIANT, IDispatch **);
};

# IXMLElement_vtbl

struct /*VFT*/ IXMLElement_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *get_tagName)(IXMLElement *this, wchar_t **);
  HRESULT (__fastcall *put_tagName)(IXMLElement *this, wchar_t *);
  HRESULT (__fastcall *get_parent)(IXMLElement *this, IXMLElement **);
  HRESULT (__fastcall *setAttribute)(IXMLElement *this, wchar_t *, tagVARIANT);
  HRESULT (__fastcall *getAttribute)(IXMLElement *this, wchar_t *, tagVARIANT *);
  HRESULT (__fastcall *removeAttribute)(IXMLElement *this, wchar_t *);
  HRESULT (__fastcall *get_children)(IXMLElement *this, IXMLElementCollection **);
  HRESULT (__fastcall *get_type)(IXMLElement *this, int *);
  HRESULT (__fastcall *get_text)(IXMLElement *this, wchar_t **);
  HRESULT (__fastcall *put_text)(IXMLElement *this, wchar_t *);
  HRESULT (__fastcall *addChild)(IXMLElement *this, IXMLElement *, int, int);
  HRESULT (__fastcall *removeChild)(IXMLElement *this, IXMLElement *);
};

# ISoftDistExt

struct __cppobj ISoftDistExt : IUnknown
{
};

# ISoftDistExt_vtbl

struct /*VFT*/ ISoftDistExt_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *ProcessSoftDist)(ISoftDistExt *this, const wchar_t *, IXMLElement *, _tagSOFTDISTINFO *);
  HRESULT (__fastcall *GetFirstCodeBase)(ISoftDistExt *this, wchar_t **, unsigned int *);
  HRESULT (__fastcall *GetNextCodeBase)(ISoftDistExt *this, wchar_t **, unsigned int *);
  HRESULT (__fastcall *AsyncInstallDistributionUnit)(ISoftDistExt *this, IBindCtx *, void *, unsigned int, _tagCODEBASEHOLD *);
};

# IInternetPriority

struct __cppobj IInternetPriority : IUnknown
{
};

# IInternetPriority_vtbl

struct /*VFT*/ IInternetPriority_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetPriority)(IInternetPriority *this, int);
  HRESULT (__fastcall *GetPriority)(IInternetPriority *this, int *);
};

# ICreateTypeLib

struct __cppobj ICreateTypeLib : IUnknown
{
};

# ICreateTypeLib_vtbl

struct /*VFT*/ ICreateTypeLib_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CreateTypeInfo)(ICreateTypeLib *this, wchar_t *, tagTYPEKIND, ICreateTypeInfo **);
  HRESULT (__fastcall *SetName)(ICreateTypeLib *this, wchar_t *);
  HRESULT (__fastcall *SetVersion)(ICreateTypeLib *this, unsigned __int16, unsigned __int16);
  HRESULT (__fastcall *SetGuid)(ICreateTypeLib *this, const _GUID *);
  HRESULT (__fastcall *SetDocString)(ICreateTypeLib *this, wchar_t *);
  HRESULT (__fastcall *SetHelpFileName)(ICreateTypeLib *this, wchar_t *);
  HRESULT (__fastcall *SetHelpContext)(ICreateTypeLib *this, unsigned int);
  HRESULT (__fastcall *SetLcid)(ICreateTypeLib *this, unsigned int);
  HRESULT (__fastcall *SetLibFlags)(ICreateTypeLib *this, unsigned int);
  HRESULT (__fastcall *SaveAllChanges)(ICreateTypeLib *this);
};

# ICreateTypeLib2

struct __cppobj ICreateTypeLib2 : ICreateTypeLib
{
};

# ICreateTypeLib2_vtbl

struct /*VFT*/ ICreateTypeLib2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CreateTypeInfo)(ICreateTypeLib *this, wchar_t *, tagTYPEKIND, ICreateTypeInfo **);
  HRESULT (__fastcall *SetName)(ICreateTypeLib *this, wchar_t *);
  HRESULT (__fastcall *SetVersion)(ICreateTypeLib *this, unsigned __int16, unsigned __int16);
  HRESULT (__fastcall *SetGuid)(ICreateTypeLib *this, const _GUID *);
  HRESULT (__fastcall *SetDocString)(ICreateTypeLib *this, wchar_t *);
  HRESULT (__fastcall *SetHelpFileName)(ICreateTypeLib *this, wchar_t *);
  HRESULT (__fastcall *SetHelpContext)(ICreateTypeLib *this, unsigned int);
  HRESULT (__fastcall *SetLcid)(ICreateTypeLib *this, unsigned int);
  HRESULT (__fastcall *SetLibFlags)(ICreateTypeLib *this, unsigned int);
  HRESULT (__fastcall *SaveAllChanges)(ICreateTypeLib *this);
  HRESULT (__fastcall *DeleteTypeInfo)(ICreateTypeLib2 *this, wchar_t *);
  HRESULT (__fastcall *SetCustData)(ICreateTypeLib2 *this, const _GUID *, tagVARIANT *);
  HRESULT (__fastcall *SetHelpStringContext)(ICreateTypeLib2 *this, unsigned int);
  HRESULT (__fastcall *SetHelpStringDll)(ICreateTypeLib2 *this, wchar_t *);
};

# IInternetSecurityManager

struct __cppobj IInternetSecurityManager : IUnknown
{
};

# IInternetSecurityManager_vtbl

struct /*VFT*/ IInternetSecurityManager_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetSecuritySite)(IInternetSecurityManager *this, IInternetSecurityMgrSite *);
  HRESULT (__fastcall *GetSecuritySite)(IInternetSecurityManager *this, IInternetSecurityMgrSite **);
  HRESULT (__fastcall *MapUrlToZone)(IInternetSecurityManager *this, const wchar_t *, unsigned int *, unsigned int);
  HRESULT (__fastcall *GetSecurityId)(IInternetSecurityManager *this, const wchar_t *, unsigned __int8 *, unsigned int *, unsigned __int64);
  HRESULT (__fastcall *ProcessUrlAction)(IInternetSecurityManager *this, const wchar_t *, unsigned int, unsigned __int8 *, unsigned int, unsigned __int8 *, unsigned int, unsigned int, unsigned int);
  HRESULT (__fastcall *QueryCustomPolicy)(IInternetSecurityManager *this, const wchar_t *, const _GUID *, unsigned __int8 **, unsigned int *, unsigned __int8 *, unsigned int, unsigned int);
  HRESULT (__fastcall *SetZoneMapping)(IInternetSecurityManager *this, unsigned int, const wchar_t *, unsigned int);
  HRESULT (__fastcall *GetZoneMappings)(IInternetSecurityManager *this, unsigned int, IEnumString **, unsigned int);
};

# icmp_error_info

struct __declspec(align(4)) icmp_error_info
{
  _SOCKADDR_INET srcaddress;
  IPPROTO protocol;
  unsigned __int8 type;
  unsigned __int8 code;
};

# IAdviseSink2

struct __cppobj IAdviseSink2 : IAdviseSink
{
};

# IAdviseSink2_vtbl

struct /*VFT*/ IAdviseSink2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  void (__fastcall *OnDataChange)(IAdviseSink *this, tagFORMATETC *, tagSTGMEDIUM *);
  void (__fastcall *OnViewChange)(IAdviseSink *this, unsigned int, int);
  void (__fastcall *OnRename)(IAdviseSink *this, IMoniker *);
  void (__fastcall *OnSave)(IAdviseSink *this);
  void (__fastcall *OnClose)(IAdviseSink *this);
  void (__fastcall *OnLinkSrcChange)(IAdviseSink2 *this, IMoniker *);
};

# IXMLElement2

struct __cppobj IXMLElement2 : IDispatch
{
};

# IXMLElement2_vtbl

struct /*VFT*/ IXMLElement2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *get_tagName)(IXMLElement2 *this, wchar_t **);
  HRESULT (__fastcall *put_tagName)(IXMLElement2 *this, wchar_t *);
  HRESULT (__fastcall *get_parent)(IXMLElement2 *this, IXMLElement2 **);
  HRESULT (__fastcall *setAttribute)(IXMLElement2 *this, wchar_t *, tagVARIANT);
  HRESULT (__fastcall *getAttribute)(IXMLElement2 *this, wchar_t *, tagVARIANT *);
  HRESULT (__fastcall *removeAttribute)(IXMLElement2 *this, wchar_t *);
  HRESULT (__fastcall *get_children)(IXMLElement2 *this, IXMLElementCollection **);
  HRESULT (__fastcall *get_type)(IXMLElement2 *this, int *);
  HRESULT (__fastcall *get_text)(IXMLElement2 *this, wchar_t **);
  HRESULT (__fastcall *put_text)(IXMLElement2 *this, wchar_t *);
  HRESULT (__fastcall *addChild)(IXMLElement2 *this, IXMLElement2 *, int, int);
  HRESULT (__fastcall *removeChild)(IXMLElement2 *this, IXMLElement2 *);
  HRESULT (__fastcall *get_attributes)(IXMLElement2 *this, IXMLElementCollection **);
};

# IOleObject

struct __cppobj IOleObject : IUnknown
{
};

# IOleObject_vtbl

struct /*VFT*/ IOleObject_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetClientSite)(IOleObject *this, IOleClientSite *);
  HRESULT (__fastcall *GetClientSite)(IOleObject *this, IOleClientSite **);
  HRESULT (__fastcall *SetHostNames)(IOleObject *this, const wchar_t *, const wchar_t *);
  HRESULT (__fastcall *Close)(IOleObject *this, unsigned int);
  HRESULT (__fastcall *SetMoniker)(IOleObject *this, unsigned int, IMoniker *);
  HRESULT (__fastcall *GetMoniker)(IOleObject *this, unsigned int, unsigned int, IMoniker **);
  HRESULT (__fastcall *InitFromData)(IOleObject *this, IDataObject *, int, unsigned int);
  HRESULT (__fastcall *GetClipboardData)(IOleObject *this, unsigned int, IDataObject **);
  HRESULT (__fastcall *DoVerb)(IOleObject *this, int, tagMSG *, IOleClientSite *, int, HWND__ *, const tagRECT *);
  HRESULT (__fastcall *EnumVerbs)(IOleObject *this, IEnumOLEVERB **);
  HRESULT (__fastcall *Update)(IOleObject *this);
  HRESULT (__fastcall *IsUpToDate)(IOleObject *this);
  HRESULT (__fastcall *GetUserClassID)(IOleObject *this, _GUID *);
  HRESULT (__fastcall *GetUserType)(IOleObject *this, unsigned int, wchar_t **);
  HRESULT (__fastcall *SetExtent)(IOleObject *this, unsigned int, tagSIZE *);
  HRESULT (__fastcall *GetExtent)(IOleObject *this, unsigned int, tagSIZE *);
  HRESULT (__fastcall *Advise)(IOleObject *this, IAdviseSink *, unsigned int *);
  HRESULT (__fastcall *Unadvise)(IOleObject *this, unsigned int);
  HRESULT (__fastcall *EnumAdvise)(IOleObject *this, IEnumSTATDATA **);
  HRESULT (__fastcall *GetMiscStatus)(IOleObject *this, unsigned int, unsigned int *);
  HRESULT (__fastcall *SetColorScheme)(IOleObject *this, tagLOGPALETTE *);
};

# ITypeInfo2

struct __cppobj ITypeInfo2 : ITypeInfo
{
};

# ITypeInfo2_vtbl

struct /*VFT*/ ITypeInfo2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeAttr)(ITypeInfo *this, tagTYPEATTR **);
  HRESULT (__fastcall *GetTypeComp)(ITypeInfo *this, ITypeComp **);
  HRESULT (__fastcall *GetFuncDesc)(ITypeInfo *this, unsigned int, tagFUNCDESC **);
  HRESULT (__fastcall *GetVarDesc)(ITypeInfo *this, unsigned int, tagVARDESC **);
  HRESULT (__fastcall *GetNames)(ITypeInfo *this, int, wchar_t **, unsigned int, unsigned int *);
  HRESULT (__fastcall *GetRefTypeOfImplType)(ITypeInfo *this, unsigned int, unsigned int *);
  HRESULT (__fastcall *GetImplTypeFlags)(ITypeInfo *this, unsigned int, int *);
  HRESULT (__fastcall *GetIDsOfNames)(ITypeInfo *this, wchar_t **, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(ITypeInfo *this, void *, int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *GetDocumentation)(ITypeInfo *this, int, wchar_t **, wchar_t **, unsigned int *, wchar_t **);
  HRESULT (__fastcall *GetDllEntry)(ITypeInfo *this, int, tagINVOKEKIND, wchar_t **, wchar_t **, unsigned __int16 *);
  HRESULT (__fastcall *GetRefTypeInfo)(ITypeInfo *this, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *AddressOfMember)(ITypeInfo *this, int, tagINVOKEKIND, void **);
  HRESULT (__fastcall *CreateInstance)(ITypeInfo *this, IUnknown *, const _GUID *, void **);
  HRESULT (__fastcall *GetMops)(ITypeInfo *this, int, wchar_t **);
  HRESULT (__fastcall *GetContainingTypeLib)(ITypeInfo *this, ITypeLib **, unsigned int *);
  void (__fastcall *ReleaseTypeAttr)(ITypeInfo *this, tagTYPEATTR *);
  void (__fastcall *ReleaseFuncDesc)(ITypeInfo *this, tagFUNCDESC *);
  void (__fastcall *ReleaseVarDesc)(ITypeInfo *this, tagVARDESC *);
  HRESULT (__fastcall *GetTypeKind)(ITypeInfo2 *this, tagTYPEKIND *);
  HRESULT (__fastcall *GetTypeFlags)(ITypeInfo2 *this, unsigned int *);
  HRESULT (__fastcall *GetFuncIndexOfMemId)(ITypeInfo2 *this, int, tagINVOKEKIND, unsigned int *);
  HRESULT (__fastcall *GetVarIndexOfMemId)(ITypeInfo2 *this, int, unsigned int *);
  HRESULT (__fastcall *GetCustData)(ITypeInfo2 *this, const _GUID *, tagVARIANT *);
  HRESULT (__fastcall *GetFuncCustData)(ITypeInfo2 *this, unsigned int, const _GUID *, tagVARIANT *);
  HRESULT (__fastcall *GetParamCustData)(ITypeInfo2 *this, unsigned int, unsigned int, const _GUID *, tagVARIANT *);
  HRESULT (__fastcall *GetVarCustData)(ITypeInfo2 *this, unsigned int, const _GUID *, tagVARIANT *);
  HRESULT (__fastcall *GetImplTypeCustData)(ITypeInfo2 *this, unsigned int, const _GUID *, tagVARIANT *);
  HRESULT (__fastcall *GetDocumentation2)(ITypeInfo2 *this, int, unsigned int, wchar_t **, unsigned int *, wchar_t **);
  HRESULT (__fastcall *GetAllCustData)(ITypeInfo2 *this, tagCUSTDATA *);
  HRESULT (__fastcall *GetAllFuncCustData)(ITypeInfo2 *this, unsigned int, tagCUSTDATA *);
  HRESULT (__fastcall *GetAllParamCustData)(ITypeInfo2 *this, unsigned int, unsigned int, tagCUSTDATA *);
  HRESULT (__fastcall *GetAllVarCustData)(ITypeInfo2 *this, unsigned int, tagCUSTDATA *);
  HRESULT (__fastcall *GetAllImplTypeCustData)(ITypeInfo2 *this, unsigned int, tagCUSTDATA *);
};

# IPropertyStorage

struct __cppobj IPropertyStorage : IUnknown
{
};

# IPropertyStorage_vtbl

struct /*VFT*/ IPropertyStorage_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *ReadMultiple)(IPropertyStorage *this, unsigned int, const tagPROPSPEC *, tagPROPVARIANT *);
  HRESULT (__fastcall *WriteMultiple)(IPropertyStorage *this, unsigned int, const tagPROPSPEC *, const tagPROPVARIANT *, unsigned int);
  HRESULT (__fastcall *DeleteMultiple)(IPropertyStorage *this, unsigned int, const tagPROPSPEC *);
  HRESULT (__fastcall *ReadPropertyNames)(IPropertyStorage *this, unsigned int, const unsigned int *, wchar_t **);
  HRESULT (__fastcall *WritePropertyNames)(IPropertyStorage *this, unsigned int, const unsigned int *, wchar_t *const *);
  HRESULT (__fastcall *DeletePropertyNames)(IPropertyStorage *this, unsigned int, const unsigned int *);
  HRESULT (__fastcall *Commit)(IPropertyStorage *this, unsigned int);
  HRESULT (__fastcall *Revert)(IPropertyStorage *this);
  HRESULT (__fastcall *Enum)(IPropertyStorage *this, IEnumSTATPROPSTG **);
  HRESULT (__fastcall *SetTimes)(IPropertyStorage *this, const _FILETIME *, const _FILETIME *, const _FILETIME *);
  HRESULT (__fastcall *SetClass)(IPropertyStorage *this, const _GUID *);
  HRESULT (__fastcall *Stat)(IPropertyStorage *this, tagSTATPROPSETSTG *);
};

# IPropertySetStorage

struct __cppobj IPropertySetStorage : IUnknown
{
};

# IEnumSTATPROPSETSTG

struct __cppobj IEnumSTATPROPSETSTG : IUnknown
{
};

# IEnumSTATPROPSETSTG_vtbl

struct /*VFT*/ IEnumSTATPROPSETSTG_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Next)(IEnumSTATPROPSETSTG *this, unsigned int, tagSTATPROPSETSTG *, unsigned int *);
  HRESULT (__fastcall *Skip)(IEnumSTATPROPSETSTG *this, unsigned int);
  HRESULT (__fastcall *Reset)(IEnumSTATPROPSETSTG *this);
  HRESULT (__fastcall *Clone)(IEnumSTATPROPSETSTG *this, IEnumSTATPROPSETSTG **);
};

# IPropertySetStorage_vtbl

struct /*VFT*/ IPropertySetStorage_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Create)(IPropertySetStorage *this, const _GUID *, const _GUID *, unsigned int, unsigned int, IPropertyStorage **);
  HRESULT (__fastcall *Open)(IPropertySetStorage *this, const _GUID *, unsigned int, IPropertyStorage **);
  HRESULT (__fastcall *Delete)(IPropertySetStorage *this, const _GUID *);
  HRESULT (__fastcall *Enum)(IPropertySetStorage *this, IEnumSTATPROPSETSTG **);
};

# IHttpNegotiate2

struct __cppobj IHttpNegotiate2 : IHttpNegotiate
{
};

# IHttpNegotiate2_vtbl

struct /*VFT*/ IHttpNegotiate2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *BeginningTransaction)(IHttpNegotiate *this, const wchar_t *, const wchar_t *, unsigned int, wchar_t **);
  HRESULT (__fastcall *OnResponse)(IHttpNegotiate *this, unsigned int, const wchar_t *, const wchar_t *, wchar_t **);
  HRESULT (__fastcall *GetRootSecurityId)(IHttpNegotiate2 *this, unsigned __int8 *, unsigned int *, unsigned __int64);
};

# IAddrTrackingControl

struct __cppobj IAddrTrackingControl : IUnknown
{
};

# IAddrTrackingControl_vtbl

struct /*VFT*/ IAddrTrackingControl_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *EnableCOMDynamicAddrTracking)(IAddrTrackingControl *this);
  HRESULT (__fastcall *DisableCOMDynamicAddrTracking)(IAddrTrackingControl *this);
};

# IFillLockBytes

struct __cppobj IFillLockBytes : IUnknown
{
};

# IFillLockBytes_vtbl

struct /*VFT*/ IFillLockBytes_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *FillAppend)(IFillLockBytes *this, const void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *FillAt)(IFillLockBytes *this, _ULARGE_INTEGER, const void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *SetFillSize)(IFillLockBytes *this, _ULARGE_INTEGER);
  HRESULT (__fastcall *Terminate)(IFillLockBytes *this, int);
};

# IPrintDialogCallback

struct __cppobj IPrintDialogCallback : IUnknown
{
};

# IPrintDialogCallback_vtbl

struct /*VFT*/ IPrintDialogCallback_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *InitDone)(IPrintDialogCallback *this);
  HRESULT (__fastcall *SelectionChange)(IPrintDialogCallback *this);
  HRESULT (__fastcall *HandleMessage)(IPrintDialogCallback *this, HWND__ *, unsigned int, unsigned __int64, __int64, __int64 *);
};

# IAddrExclusionControl

struct __cppobj IAddrExclusionControl : IUnknown
{
};

# IAddrExclusionControl_vtbl

struct /*VFT*/ IAddrExclusionControl_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetCurrentAddrExclusionList)(IAddrExclusionControl *this, const _GUID *, void **);
  HRESULT (__fastcall *UpdateAddrExclusionList)(IAddrExclusionControl *this, IUnknown *);
};

# IBindStatusCallback

struct __cppobj IBindStatusCallback : IUnknown
{
};

# IBindStatusCallback_vtbl

struct /*VFT*/ IBindStatusCallback_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *OnStartBinding)(IBindStatusCallback *this, unsigned int, IBinding *);
  HRESULT (__fastcall *GetPriority)(IBindStatusCallback *this, int *);
  HRESULT (__fastcall *OnLowResource)(IBindStatusCallback *this, unsigned int);
  HRESULT (__fastcall *OnProgress)(IBindStatusCallback *this, unsigned int, unsigned int, unsigned int, const wchar_t *);
  HRESULT (__fastcall *OnStopBinding)(IBindStatusCallback *this, HRESULT, const wchar_t *);
  HRESULT (__fastcall *GetBindInfo)(IBindStatusCallback *this, unsigned int *, _tagBINDINFO *);
  HRESULT (__fastcall *OnDataAvailable)(IBindStatusCallback *this, unsigned int, unsigned int, tagFORMATETC *, tagSTGMEDIUM *);
  HRESULT (__fastcall *OnObjectAvailable)(IBindStatusCallback *this, const _GUID *, IUnknown *);
};

# IAuthenticate

struct __cppobj IAuthenticate : IUnknown
{
};

# IAuthenticate_vtbl

struct /*VFT*/ IAuthenticate_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Authenticate)(IAuthenticate *this, HWND__ **, wchar_t **, wchar_t **);
};

# IAuthenticateEx

struct __cppobj IAuthenticateEx : IAuthenticate
{
};

# IAuthenticateEx_vtbl

struct /*VFT*/ IAuthenticateEx_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Authenticate)(IAuthenticate *this, HWND__ **, wchar_t **, wchar_t **);
  HRESULT (__fastcall *AuthenticateEx)(IAuthenticateEx *this, HWND__ **, wchar_t **, wchar_t **, _tagAUTHENTICATEINFO *);
};

# IXMLDocument2

struct __cppobj IXMLDocument2 : IDispatch
{
};

# IXMLDocument2_vtbl

struct /*VFT*/ IXMLDocument2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *get_root)(IXMLDocument2 *this, IXMLElement2 **);
  HRESULT (__fastcall *get_fileSize)(IXMLDocument2 *this, wchar_t **);
  HRESULT (__fastcall *get_fileModifiedDate)(IXMLDocument2 *this, wchar_t **);
  HRESULT (__fastcall *get_fileUpdatedDate)(IXMLDocument2 *this, wchar_t **);
  HRESULT (__fastcall *get_URL)(IXMLDocument2 *this, wchar_t **);
  HRESULT (__fastcall *put_URL)(IXMLDocument2 *this, wchar_t *);
  HRESULT (__fastcall *get_mimeType)(IXMLDocument2 *this, wchar_t **);
  HRESULT (__fastcall *get_readyState)(IXMLDocument2 *this, int *);
  HRESULT (__fastcall *get_charset)(IXMLDocument2 *this, wchar_t **);
  HRESULT (__fastcall *put_charset)(IXMLDocument2 *this, wchar_t *);
  HRESULT (__fastcall *get_version)(IXMLDocument2 *this, wchar_t **);
  HRESULT (__fastcall *get_doctype)(IXMLDocument2 *this, wchar_t **);
  HRESULT (__fastcall *get_dtdURL)(IXMLDocument2 *this, wchar_t **);
  HRESULT (__fastcall *createElement)(IXMLDocument2 *this, tagVARIANT, tagVARIANT, IXMLElement2 **);
  HRESULT (__fastcall *get_async)(IXMLDocument2 *this, __int16 *);
  HRESULT (__fastcall *put_async)(IXMLDocument2 *this, __int16);
};

# IProcessLock

struct __cppobj IProcessLock : IUnknown
{
};

# IProcessLock_vtbl

struct /*VFT*/ IProcessLock_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  unsigned int (__fastcall *AddRefOnProcess)(IProcessLock *this);
  unsigned int (__fastcall *ReleaseRefOnProcess)(IProcessLock *this);
};

# IWinInetHttpInfo

struct __cppobj IWinInetHttpInfo : IWinInetInfo
{
};

# IWinInetHttpInfo_vtbl

struct /*VFT*/ IWinInetHttpInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *QueryOption)(IWinInetInfo *this, unsigned int, void *, unsigned int *);
  HRESULT (__fastcall *QueryInfo)(IWinInetHttpInfo *this, unsigned int, void *, unsigned int *, unsigned int *, unsigned int *);
};

# IWeakReferenceSource

struct __cppobj IWeakReferenceSource : IUnknown
{
};

# IWeakReferenceSource_vtbl

struct /*VFT*/ IWeakReferenceSource_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetWeakReference)(IWeakReferenceSource *this, IWeakReference **);
};

# IRpcOptions

struct __cppobj IRpcOptions : IUnknown
{
};

# IRpcOptions_vtbl

struct /*VFT*/ IRpcOptions_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Set)(IRpcOptions *this, IUnknown *, tagRPCOPT_PROPERTIES, unsigned __int64);
  HRESULT (__fastcall *Query)(IRpcOptions *this, IUnknown *, tagRPCOPT_PROPERTIES, unsigned __int64 *);
};

# IChannelHook

struct __cppobj IChannelHook : IUnknown
{
};

# IChannelHook_vtbl

struct /*VFT*/ IChannelHook_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  void (__fastcall *ClientGetSize)(IChannelHook *this, const _GUID *, const _GUID *, unsigned int *);
  void (__fastcall *ClientFillBuffer)(IChannelHook *this, const _GUID *, const _GUID *, unsigned int *, void *);
  void (__fastcall *ClientNotify)(IChannelHook *this, const _GUID *, const _GUID *, unsigned int, void *, unsigned int, HRESULT);
  void (__fastcall *ServerNotify)(IChannelHook *this, const _GUID *, const _GUID *, unsigned int, void *, unsigned int);
  void (__fastcall *ServerGetSize)(IChannelHook *this, const _GUID *, const _GUID *, HRESULT, unsigned int *);
  void (__fastcall *ServerFillBuffer)(IChannelHook *this, const _GUID *, const _GUID *, unsigned int *, void *, HRESULT);
};

# IBindStatusCallbackEx

struct __cppobj IBindStatusCallbackEx : IBindStatusCallback
{
};

# IBindStatusCallbackEx_vtbl

struct /*VFT*/ IBindStatusCallbackEx_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *OnStartBinding)(IBindStatusCallback *this, unsigned int, IBinding *);
  HRESULT (__fastcall *GetPriority)(IBindStatusCallback *this, int *);
  HRESULT (__fastcall *OnLowResource)(IBindStatusCallback *this, unsigned int);
  HRESULT (__fastcall *OnProgress)(IBindStatusCallback *this, unsigned int, unsigned int, unsigned int, const wchar_t *);
  HRESULT (__fastcall *OnStopBinding)(IBindStatusCallback *this, HRESULT, const wchar_t *);
  HRESULT (__fastcall *GetBindInfo)(IBindStatusCallback *this, unsigned int *, _tagBINDINFO *);
  HRESULT (__fastcall *OnDataAvailable)(IBindStatusCallback *this, unsigned int, unsigned int, tagFORMATETC *, tagSTGMEDIUM *);
  HRESULT (__fastcall *OnObjectAvailable)(IBindStatusCallback *this, const _GUID *, IUnknown *);
  HRESULT (__fastcall *GetBindInfoEx)(IBindStatusCallbackEx *this, unsigned int *, _tagBINDINFO *, unsigned int *, unsigned int *);
};

# IContinue

struct __cppobj IContinue : IUnknown
{
};

# IContinue_vtbl

struct /*VFT*/ IContinue_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *FContinue)(IContinue *this);
};

# IROTData

struct __cppobj IROTData : IUnknown
{
};

# IROTData_vtbl

struct /*VFT*/ IROTData_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetComparisonData)(IROTData *this, unsigned __int8 *, unsigned int, unsigned int *);
};

# ILayoutStorage

struct __cppobj ILayoutStorage : IUnknown
{
};

# ILayoutStorage_vtbl

struct /*VFT*/ ILayoutStorage_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *LayoutScript)(ILayoutStorage *this, tagStorageLayout *, unsigned int, unsigned int);
  HRESULT (__fastcall *BeginMonitor)(ILayoutStorage *this);
  HRESULT (__fastcall *EndMonitor)(ILayoutStorage *this);
  HRESULT (__fastcall *ReLayoutDocfile)(ILayoutStorage *this, wchar_t *);
  HRESULT (__fastcall *ReLayoutDocfileOnILockBytes)(ILayoutStorage *this, ILockBytes *);
};

# IEnterpriseDropTarget

struct __cppobj IEnterpriseDropTarget : IUnknown
{
};

# IEnterpriseDropTarget_vtbl

struct /*VFT*/ IEnterpriseDropTarget_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetDropSourceEnterpriseId)(IEnterpriseDropTarget *this, const wchar_t *);
  HRESULT (__fastcall *IsEvaluatingEdpPolicy)(IEnterpriseDropTarget *this, int *);
};

# IOleItemContainer

struct __cppobj IOleItemContainer : IOleContainer
{
};

# IOleItemContainer_vtbl

struct /*VFT*/ IOleItemContainer_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *ParseDisplayName)(IParseDisplayName *this, IBindCtx *, wchar_t *, unsigned int *, IMoniker **);
  HRESULT (__fastcall *EnumObjects)(IOleContainer *this, unsigned int, IEnumUnknown **);
  HRESULT (__fastcall *LockContainer)(IOleContainer *this, int);
  HRESULT (__fastcall *GetObjectA)(IOleItemContainer *this, wchar_t *, unsigned int, IBindCtx *, const _GUID *, void **);
  HRESULT (__fastcall *GetObjectStorage)(IOleItemContainer *this, wchar_t *, IBindCtx *, const _GUID *, void **);
  HRESULT (__fastcall *IsRunning)(IOleItemContainer *this, wchar_t *);
};

# ICatalogFileInfo

struct __cppobj ICatalogFileInfo : IUnknown
{
};

# ICatalogFileInfo_vtbl

struct /*VFT*/ ICatalogFileInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetCatalogFile)(ICatalogFileInfo *this, char **);
  HRESULT (__fastcall *GetJavaTrust)(ICatalogFileInfo *this, void **);
};

# IInternetZoneManagerEx2

struct __cppobj IInternetZoneManagerEx2 : IInternetZoneManagerEx
{
};

# IInternetZoneManagerEx2_vtbl

struct /*VFT*/ IInternetZoneManagerEx2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetZoneAttributes)(IInternetZoneManager *this, unsigned int, _ZONEATTRIBUTES *);
  HRESULT (__fastcall *SetZoneAttributes)(IInternetZoneManager *this, unsigned int, _ZONEATTRIBUTES *);
  HRESULT (__fastcall *GetZoneCustomPolicy)(IInternetZoneManager *this, unsigned int, const _GUID *, unsigned __int8 **, unsigned int *, _URLZONEREG);
  HRESULT (__fastcall *SetZoneCustomPolicy)(IInternetZoneManager *this, unsigned int, const _GUID *, unsigned __int8 *, unsigned int, _URLZONEREG);
  HRESULT (__fastcall *GetZoneActionPolicy)(IInternetZoneManager *this, unsigned int, unsigned int, unsigned __int8 *, unsigned int, _URLZONEREG);
  HRESULT (__fastcall *SetZoneActionPolicy)(IInternetZoneManager *this, unsigned int, unsigned int, unsigned __int8 *, unsigned int, _URLZONEREG);
  HRESULT (__fastcall *PromptAction)(IInternetZoneManager *this, unsigned int, HWND__ *, const wchar_t *, const wchar_t *, unsigned int);
  HRESULT (__fastcall *LogAction)(IInternetZoneManager *this, unsigned int, const wchar_t *, const wchar_t *, unsigned int);
  HRESULT (__fastcall *CreateZoneEnumerator)(IInternetZoneManager *this, unsigned int *, unsigned int *, unsigned int);
  HRESULT (__fastcall *GetZoneAt)(IInternetZoneManager *this, unsigned int, unsigned int, unsigned int *);
  HRESULT (__fastcall *DestroyZoneEnumerator)(IInternetZoneManager *this, unsigned int);
  HRESULT (__fastcall *CopyTemplatePoliciesToZone)(IInternetZoneManager *this, unsigned int, unsigned int, unsigned int);
  HRESULT (__fastcall *GetZoneActionPolicyEx)(IInternetZoneManagerEx *this, unsigned int, unsigned int, unsigned __int8 *, unsigned int, _URLZONEREG, unsigned int);
  HRESULT (__fastcall *SetZoneActionPolicyEx)(IInternetZoneManagerEx *this, unsigned int, unsigned int, unsigned __int8 *, unsigned int, _URLZONEREG, unsigned int);
  HRESULT (__fastcall *GetZoneAttributesEx)(IInternetZoneManagerEx2 *this, unsigned int, _ZONEATTRIBUTES *, unsigned int);
  HRESULT (__fastcall *GetZoneSecurityState)(IInternetZoneManagerEx2 *this, unsigned int, int, unsigned int *, int *);
  HRESULT (__fastcall *GetIESecurityState)(IInternetZoneManagerEx2 *this, int, unsigned int *, int *, int);
  HRESULT (__fastcall *FixUnsecureSettings)(IInternetZoneManagerEx2 *this);
};

# ITypeLib2

struct __cppobj ITypeLib2 : ITypeLib
{
};

# ITypeLib2_vtbl

struct /*VFT*/ ITypeLib2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  unsigned int (__fastcall *GetTypeInfoCount)(ITypeLib *this);
  HRESULT (__fastcall *GetTypeInfo)(ITypeLib *this, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetTypeInfoType)(ITypeLib *this, unsigned int, tagTYPEKIND *);
  HRESULT (__fastcall *GetTypeInfoOfGuid)(ITypeLib *this, const _GUID *, ITypeInfo **);
  HRESULT (__fastcall *GetLibAttr)(ITypeLib *this, tagTLIBATTR **);
  HRESULT (__fastcall *GetTypeComp)(ITypeLib *this, ITypeComp **);
  HRESULT (__fastcall *GetDocumentation)(ITypeLib *this, int, wchar_t **, wchar_t **, unsigned int *, wchar_t **);
  HRESULT (__fastcall *IsName)(ITypeLib *this, wchar_t *, unsigned int, int *);
  HRESULT (__fastcall *FindName)(ITypeLib *this, wchar_t *, unsigned int, ITypeInfo **, int *, unsigned __int16 *);
  void (__fastcall *ReleaseTLibAttr)(ITypeLib *this, tagTLIBATTR *);
  HRESULT (__fastcall *GetCustData)(ITypeLib2 *this, const _GUID *, tagVARIANT *);
  HRESULT (__fastcall *GetLibStatistics)(ITypeLib2 *this, unsigned int *, unsigned int *);
  HRESULT (__fastcall *GetDocumentation2)(ITypeLib2 *this, int, unsigned int, wchar_t **, unsigned int *, wchar_t **);
  HRESULT (__fastcall *GetAllCustData)(ITypeLib2 *this, tagCUSTDATA *);
};

# ISynchronizeHandle

struct __cppobj ISynchronizeHandle : IUnknown
{
};

# ISynchronizeHandle_vtbl

struct /*VFT*/ ISynchronizeHandle_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetHandle)(ISynchronizeHandle *this, void **);
};

# ISynchronizeEvent

struct __cppobj ISynchronizeEvent : ISynchronizeHandle
{
};

# ISynchronizeEvent_vtbl

struct /*VFT*/ ISynchronizeEvent_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetHandle)(ISynchronizeHandle *this, void **);
  HRESULT (__fastcall *SetEventHandle)(ISynchronizeEvent *this, void **);
};

# IClassActivator

struct __cppobj IClassActivator : IUnknown
{
};

# IClassActivator_vtbl

struct /*VFT*/ IClassActivator_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetClassObject)(IClassActivator *this, const _GUID *, unsigned int, unsigned int, const _GUID *, void **);
};

# IProcessInitControl

struct __cppobj IProcessInitControl : IUnknown
{
};

# IProcessInitControl_vtbl

struct /*VFT*/ IProcessInitControl_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *ResetInitializerTimeout)(IProcessInitControl *this, unsigned int);
};

# IInternalUnknown

struct __cppobj IInternalUnknown : IUnknown
{
};

# IInternalUnknown_vtbl

struct /*VFT*/ IInternalUnknown_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *QueryInternalInterface)(IInternalUnknown *this, const _GUID *, void **);
};

# INoMarshal_vtbl

struct /*VFT*/ INoMarshal_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
};

# INoMarshal

struct __cppobj INoMarshal : IUnknown
{
};

# ISynchronizeMutex

struct __cppobj ISynchronizeMutex : ISynchronize
{
};

# ISynchronizeMutex_vtbl

struct /*VFT*/ ISynchronizeMutex_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Wait)(ISynchronize *this, unsigned int, unsigned int);
  HRESULT (__fastcall *Signal)(ISynchronize *this);
  HRESULT (__fastcall *Reset)(ISynchronize *this);
  HRESULT (__fastcall *ReleaseMutex)(ISynchronizeMutex *this);
};

# IPipeByte

struct __cppobj IPipeByte : IUnknown
{
};

# IPipeByte_vtbl

struct /*VFT*/ IPipeByte_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Pull)(IPipeByte *this, unsigned __int8 *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Push)(IPipeByte *this, unsigned __int8 *, unsigned int);
};

# IXMLDocument

struct __cppobj IXMLDocument : IDispatch
{
};

# IXMLDocument_vtbl

struct /*VFT*/ IXMLDocument_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *get_root)(IXMLDocument *this, IXMLElement **);
  HRESULT (__fastcall *get_fileSize)(IXMLDocument *this, wchar_t **);
  HRESULT (__fastcall *get_fileModifiedDate)(IXMLDocument *this, wchar_t **);
  HRESULT (__fastcall *get_fileUpdatedDate)(IXMLDocument *this, wchar_t **);
  HRESULT (__fastcall *get_URL)(IXMLDocument *this, wchar_t **);
  HRESULT (__fastcall *put_URL)(IXMLDocument *this, wchar_t *);
  HRESULT (__fastcall *get_mimeType)(IXMLDocument *this, wchar_t **);
  HRESULT (__fastcall *get_readyState)(IXMLDocument *this, int *);
  HRESULT (__fastcall *get_charset)(IXMLDocument *this, wchar_t **);
  HRESULT (__fastcall *put_charset)(IXMLDocument *this, wchar_t *);
  HRESULT (__fastcall *get_version)(IXMLDocument *this, wchar_t **);
  HRESULT (__fastcall *get_doctype)(IXMLDocument *this, wchar_t **);
  HRESULT (__fastcall *get_dtdURL)(IXMLDocument *this, wchar_t **);
  HRESULT (__fastcall *createElement)(IXMLDocument *this, tagVARIANT, tagVARIANT, IXMLElement **);
};

# IWinInetCacheHints2

struct __cppobj IWinInetCacheHints2 : IWinInetCacheHints
{
};

# IWinInetCacheHints2_vtbl

struct /*VFT*/ IWinInetCacheHints2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetCacheExtension)(IWinInetCacheHints *this, const wchar_t *, void *, unsigned int *, unsigned int *, unsigned int *);
  HRESULT (__fastcall *SetCacheExtension2)(IWinInetCacheHints2 *this, const wchar_t *, wchar_t *, unsigned int *, unsigned int *, unsigned int *);
};

# IRestrictedErrorInfo

struct __cppobj IRestrictedErrorInfo : IUnknown
{
};

# IRestrictedErrorInfo_vtbl

struct /*VFT*/ IRestrictedErrorInfo_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetErrorDetails)(IRestrictedErrorInfo *this, wchar_t **, HRESULT *, wchar_t **, wchar_t **);
  HRESULT (__fastcall *GetReference)(IRestrictedErrorInfo *this, wchar_t **);
};

# ILanguageExceptionTransform

struct __cppobj ILanguageExceptionTransform : IUnknown
{
};

# ILanguageExceptionTransform_vtbl

struct /*VFT*/ ILanguageExceptionTransform_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTransformedRestrictedErrorInfo)(ILanguageExceptionTransform *this, IRestrictedErrorInfo **);
};

# ITypeChangeEvents

struct __cppobj ITypeChangeEvents : IUnknown
{
};

# ITypeChangeEvents_vtbl

struct /*VFT*/ ITypeChangeEvents_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *RequestTypeChange)(ITypeChangeEvents *this, tagCHANGEKIND, ITypeInfo *, wchar_t *, int *);
  HRESULT (__fastcall *AfterTypeChange)(ITypeChangeEvents *this, tagCHANGEKIND, ITypeInfo *, wchar_t *);
};

# ITypeFactory

struct __cppobj ITypeFactory : IUnknown
{
};

# ITypeFactory_vtbl

struct /*VFT*/ ITypeFactory_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CreateFromTypeInfo)(ITypeFactory *this, ITypeInfo *, const _GUID *, IUnknown **);
};

# IPersistMoniker

struct __cppobj IPersistMoniker : IUnknown
{
};

# IPersistMoniker_vtbl

struct /*VFT*/ IPersistMoniker_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetClassID)(IPersistMoniker *this, _GUID *);
  HRESULT (__fastcall *IsDirty)(IPersistMoniker *this);
  HRESULT (__fastcall *Load)(IPersistMoniker *this, int, IMoniker *, IBindCtx *, unsigned int);
  HRESULT (__fastcall *Save)(IPersistMoniker *this, IMoniker *, IBindCtx *, int);
  HRESULT (__fastcall *SaveCompleted)(IPersistMoniker *this, IMoniker *, IBindCtx *);
  HRESULT (__fastcall *GetCurMoniker)(IPersistMoniker *this, IMoniker **);
};

# ILanguageExceptionStackBackTrace

struct __cppobj ILanguageExceptionStackBackTrace : IUnknown
{
};

# ILanguageExceptionStackBackTrace_vtbl

struct /*VFT*/ ILanguageExceptionStackBackTrace_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetStackBackTrace)(ILanguageExceptionStackBackTrace *this, unsigned int, unsigned __int64 *, unsigned int *);
};

# IExternalConnection

struct __cppobj IExternalConnection : IUnknown
{
};

# IExternalConnection_vtbl

struct /*VFT*/ IExternalConnection_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  unsigned int (__fastcall *AddConnection)(IExternalConnection *this, unsigned int, unsigned int);
  unsigned int (__fastcall *ReleaseConnection)(IExternalConnection *this, unsigned int, unsigned int, int);
};

# IInternetSecurityManagerEx

struct __cppobj IInternetSecurityManagerEx : IInternetSecurityManager
{
};

# IInternetSecurityManagerEx_vtbl

struct /*VFT*/ IInternetSecurityManagerEx_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetSecuritySite)(IInternetSecurityManager *this, IInternetSecurityMgrSite *);
  HRESULT (__fastcall *GetSecuritySite)(IInternetSecurityManager *this, IInternetSecurityMgrSite **);
  HRESULT (__fastcall *MapUrlToZone)(IInternetSecurityManager *this, const wchar_t *, unsigned int *, unsigned int);
  HRESULT (__fastcall *GetSecurityId)(IInternetSecurityManager *this, const wchar_t *, unsigned __int8 *, unsigned int *, unsigned __int64);
  HRESULT (__fastcall *ProcessUrlAction)(IInternetSecurityManager *this, const wchar_t *, unsigned int, unsigned __int8 *, unsigned int, unsigned __int8 *, unsigned int, unsigned int, unsigned int);
  HRESULT (__fastcall *QueryCustomPolicy)(IInternetSecurityManager *this, const wchar_t *, const _GUID *, unsigned __int8 **, unsigned int *, unsigned __int8 *, unsigned int, unsigned int);
  HRESULT (__fastcall *SetZoneMapping)(IInternetSecurityManager *this, unsigned int, const wchar_t *, unsigned int);
  HRESULT (__fastcall *GetZoneMappings)(IInternetSecurityManager *this, unsigned int, IEnumString **, unsigned int);
  HRESULT (__fastcall *ProcessUrlActionEx)(IInternetSecurityManagerEx *this, const wchar_t *, unsigned int, unsigned __int8 *, unsigned int, unsigned __int8 *, unsigned int, unsigned int, unsigned int, unsigned int *);
};

# IMarshal2_vtbl

struct /*VFT*/ IMarshal2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetUnmarshalClass)(IMarshal *this, const _GUID *, void *, unsigned int, void *, unsigned int, _GUID *);
  HRESULT (__fastcall *GetMarshalSizeMax)(IMarshal *this, const _GUID *, void *, unsigned int, void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *MarshalInterface)(IMarshal *this, IStream *, const _GUID *, void *, unsigned int, void *, unsigned int);
  HRESULT (__fastcall *UnmarshalInterface)(IMarshal *this, IStream *, const _GUID *, void **);
  HRESULT (__fastcall *ReleaseMarshalData)(IMarshal *this, IStream *);
  HRESULT (__fastcall *DisconnectObject)(IMarshal *this, unsigned int);
};

# IMarshal2

struct __cppobj IMarshal2 : IMarshal
{
};

# IWaitMultiple

struct __cppobj IWaitMultiple : IUnknown
{
};

# IWaitMultiple_vtbl

struct /*VFT*/ IWaitMultiple_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *WaitMultiple)(IWaitMultiple *this, unsigned int, ISynchronize **);
  HRESULT (__fastcall *AddSynchronize)(IWaitMultiple *this, ISynchronize *);
};

# IHttpNegotiate3

struct __cppobj IHttpNegotiate3 : IHttpNegotiate2
{
};

# IHttpNegotiate3_vtbl

struct /*VFT*/ IHttpNegotiate3_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *BeginningTransaction)(IHttpNegotiate *this, const wchar_t *, const wchar_t *, unsigned int, wchar_t **);
  HRESULT (__fastcall *OnResponse)(IHttpNegotiate *this, unsigned int, const wchar_t *, const wchar_t *, wchar_t **);
  HRESULT (__fastcall *GetRootSecurityId)(IHttpNegotiate2 *this, unsigned __int8 *, unsigned int *, unsigned __int64);
  HRESULT (__fastcall *GetSerializedClientCertContext)(IHttpNegotiate3 *this, unsigned __int8 **, unsigned int *);
};

# IReleaseMarshalBuffers

struct __cppobj IReleaseMarshalBuffers : IUnknown
{
};

# IReleaseMarshalBuffers_vtbl

struct /*VFT*/ IReleaseMarshalBuffers_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *ReleaseMarshalBuffer)(IReleaseMarshalBuffers *this, tagRPCOLEMESSAGE *, unsigned int, IUnknown *);
};

# IBindHost

struct __cppobj IBindHost : IUnknown
{
};

# IBindHost_vtbl

struct /*VFT*/ IBindHost_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CreateMoniker)(IBindHost *this, wchar_t *, IBindCtx *, IMoniker **, unsigned int);
  HRESULT (__fastcall *MonikerBindToStorage)(IBindHost *this, IMoniker *, IBindCtx *, IBindStatusCallback *, const _GUID *, void **);
  HRESULT (__fastcall *MonikerBindToObject)(IBindHost *this, IMoniker *, IBindCtx *, IBindStatusCallback *, const _GUID *, void **);
};

# IInitializeSpy

struct __cppobj IInitializeSpy : IUnknown
{
};

# IInitializeSpy_vtbl

struct /*VFT*/ IInitializeSpy_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *PreInitialize)(IInitializeSpy *this, unsigned int, unsigned int);
  HRESULT (__fastcall *PostInitialize)(IInitializeSpy *this, HRESULT, unsigned int, unsigned int);
  HRESULT (__fastcall *PreUninitialize)(IInitializeSpy *this, unsigned int);
  HRESULT (__fastcall *PostUninitialize)(IInitializeSpy *this, unsigned int);
};

# IXMLError

struct __cppobj IXMLError : IUnknown
{
};

# IXMLError_vtbl

struct /*VFT*/ IXMLError_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetErrorInfo)(IXMLError *this, _xml_error *);
};

# IDummyHICONIncluder

struct __cppobj IDummyHICONIncluder : IUnknown
{
};

# IDummyHICONIncluder_vtbl

struct /*VFT*/ IDummyHICONIncluder_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Dummy)(IDummyHICONIncluder *this, HICON__ *, HDC__ *);
};

# IWinInetHttpTimeouts

struct __cppobj IWinInetHttpTimeouts : IUnknown
{
};

# IWinInetHttpTimeouts_vtbl

struct /*VFT*/ IWinInetHttpTimeouts_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetRequestTimeouts)(IWinInetHttpTimeouts *this, unsigned int *, unsigned int *, unsigned int *);
};

# IMalloc

struct __cppobj IMalloc : IUnknown
{
};

# IMalloc_vtbl

struct /*VFT*/ IMalloc_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  void *(__fastcall *Alloc)(IMalloc *this, unsigned __int64);
  void *(__fastcall *Realloc)(IMalloc *this, void *, unsigned __int64);
  void (__fastcall *Free)(IMalloc *this, void *);
  unsigned __int64 (__fastcall *GetSize)(IMalloc *this, void *);
  int (__fastcall *DidAlloc)(IMalloc *this, void *);
  void (__fastcall *HeapMinimize)(IMalloc *this);
};

# ITypeLibRegistration

struct __cppobj ITypeLibRegistration : IUnknown
{
};

# ITypeLibRegistration_vtbl

struct /*VFT*/ ITypeLibRegistration_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetGuid)(ITypeLibRegistration *this, _GUID *);
  HRESULT (__fastcall *GetVersion)(ITypeLibRegistration *this, wchar_t **);
  HRESULT (__fastcall *GetLcid)(ITypeLibRegistration *this, unsigned int *);
  HRESULT (__fastcall *GetWin32Path)(ITypeLibRegistration *this, wchar_t **);
  HRESULT (__fastcall *GetWin64Path)(ITypeLibRegistration *this, wchar_t **);
  HRESULT (__fastcall *GetDisplayName)(ITypeLibRegistration *this, wchar_t **);
  HRESULT (__fastcall *GetFlags)(ITypeLibRegistration *this, unsigned int *);
  HRESULT (__fastcall *GetHelpDir)(ITypeLibRegistration *this, wchar_t **);
};

# IDirectWriterLock

struct __cppobj IDirectWriterLock : IUnknown
{
};

# IDirectWriterLock_vtbl

struct /*VFT*/ IDirectWriterLock_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *WaitForWriteAccess)(IDirectWriterLock *this, unsigned int);
  HRESULT (__fastcall *ReleaseWriteAccess)(IDirectWriterLock *this);
  HRESULT (__fastcall *HaveWriteAccess)(IDirectWriterLock *this);
};

# IAgileObject_vtbl

struct /*VFT*/ IAgileObject_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
};

# IAgileObject

struct __cppobj IAgileObject : IUnknown
{
};

# IThumbnailExtractor

struct __cppobj IThumbnailExtractor : IUnknown
{
};

# IThumbnailExtractor_vtbl

struct /*VFT*/ IThumbnailExtractor_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *ExtractThumbnail)(IThumbnailExtractor *this, IStorage *, unsigned int, unsigned int, unsigned int *, unsigned int *, HBITMAP__ **);
  HRESULT (__fastcall *OnFileUpdated)(IThumbnailExtractor *this, IStorage *);
};

# IEncodingFilterFactory

struct __cppobj IEncodingFilterFactory : IUnknown
{
};

# IEncodingFilterFactory_vtbl

struct /*VFT*/ IEncodingFilterFactory_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *FindBestFilter)(IEncodingFilterFactory *this, const wchar_t *, const wchar_t *, _tagDATAINFO, IDataFilter **);
  HRESULT (__fastcall *GetDefaultFilter)(IEncodingFilterFactory *this, const wchar_t *, const wchar_t *, IDataFilter **);
};

# ISurrogateService

struct __cppobj ISurrogateService : IUnknown
{
};

# ISurrogateService_vtbl

struct /*VFT*/ ISurrogateService_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Init)(ISurrogateService *this, const _GUID *, IProcessLock *, int *);
  HRESULT (__fastcall *ApplicationLaunch)(ISurrogateService *this, const _GUID *, tagApplicationType);
  HRESULT (__fastcall *ApplicationFree)(ISurrogateService *this, const _GUID *);
  HRESULT (__fastcall *CatalogRefresh)(ISurrogateService *this, unsigned int);
  HRESULT (__fastcall *ProcessShutdown)(ISurrogateService *this, tagShutdownType);
};

# IInternetProtocolEx

struct __cppobj IInternetProtocolEx : IInternetProtocol
{
};

# IInternetProtocolEx_vtbl

struct /*VFT*/ IInternetProtocolEx_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Start)(IInternetProtocolRoot *this, const wchar_t *, IInternetProtocolSink *, IInternetBindInfo *, unsigned int, unsigned __int64);
  HRESULT (__fastcall *Continue)(IInternetProtocolRoot *this, _tagPROTOCOLDATA *);
  HRESULT (__fastcall *Abort)(IInternetProtocolRoot *this, HRESULT, unsigned int);
  HRESULT (__fastcall *Terminate)(IInternetProtocolRoot *this, unsigned int);
  HRESULT (__fastcall *Suspend)(IInternetProtocolRoot *this);
  HRESULT (__fastcall *Resume)(IInternetProtocolRoot *this);
  HRESULT (__fastcall *Read)(IInternetProtocol *this, void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Seek)(IInternetProtocol *this, _LARGE_INTEGER, unsigned int, _ULARGE_INTEGER *);
  HRESULT (__fastcall *LockRequest)(IInternetProtocol *this, unsigned int);
  HRESULT (__fastcall *UnlockRequest)(IInternetProtocol *this);
  HRESULT (__fastcall *StartEx)(IInternetProtocolEx *this, IUri *, IInternetProtocolSink *, IInternetBindInfo *, unsigned int, unsigned __int64);
};

# IPipeDouble

struct __cppobj IPipeDouble : IUnknown
{
};

# IPipeDouble_vtbl

struct /*VFT*/ IPipeDouble_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Pull)(IPipeDouble *this, long double *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Push)(IPipeDouble *this, long double *, unsigned int);
};

# IUrlMon

struct __cppobj IUrlMon : IUnknown
{
};

# IUrlMon_vtbl

struct /*VFT*/ IUrlMon_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *AsyncGetClassBits)(IUrlMon *this, const _GUID *, const wchar_t *, const wchar_t *, unsigned int, unsigned int, const wchar_t *, IBindCtx *, unsigned int, const _GUID *, unsigned int);
};

# IOplockStorage

struct __cppobj IOplockStorage : IUnknown
{
};

# IOplockStorage_vtbl

struct /*VFT*/ IOplockStorage_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *CreateStorageEx)(IOplockStorage *this, const wchar_t *, unsigned int, unsigned int, unsigned int, const _GUID *, void **);
  HRESULT (__fastcall *OpenStorageEx)(IOplockStorage *this, const wchar_t *, unsigned int, unsigned int, unsigned int, const _GUID *, void **);
};

# IProgressNotify

struct __cppobj IProgressNotify : IUnknown
{
};

# IProgressNotify_vtbl

struct /*VFT*/ IProgressNotify_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *OnProgress)(IProgressNotify *this, unsigned int, unsigned int, int, int);
};

# IXMLDOMNotation

struct __cppobj IXMLDOMNotation : IXMLDOMNode
{
};

# IXMLDOMNotation_vtbl

struct /*VFT*/ IXMLDOMNotation_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *get_nodeName)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_nodeValue)(IXMLDOMNode *this, tagVARIANT *);
  HRESULT (__fastcall *put_nodeValue)(IXMLDOMNode *this, tagVARIANT);
  HRESULT (__fastcall *get_nodeType)(IXMLDOMNode *this, tagDOMNodeType *);
  HRESULT (__fastcall *get_parentNode)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_childNodes)(IXMLDOMNode *this, IXMLDOMNodeList **);
  HRESULT (__fastcall *get_firstChild)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_lastChild)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_previousSibling)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_nextSibling)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_attributes)(IXMLDOMNode *this, IXMLDOMNamedNodeMap **);
  HRESULT (__fastcall *insertBefore)(IXMLDOMNode *this, IXMLDOMNode *, tagVARIANT, IXMLDOMNode **);
  HRESULT (__fastcall *replaceChild)(IXMLDOMNode *this, IXMLDOMNode *, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *removeChild)(IXMLDOMNode *this, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *appendChild)(IXMLDOMNode *this, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *hasChildNodes)(IXMLDOMNode *this, __int16 *);
  HRESULT (__fastcall *get_ownerDocument)(IXMLDOMNode *this, IXMLDOMDocument **);
  HRESULT (__fastcall *cloneNode)(IXMLDOMNode *this, __int16, IXMLDOMNode **);
  HRESULT (__fastcall *get_nodeTypeString)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_text)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *put_text)(IXMLDOMNode *this, wchar_t *);
  HRESULT (__fastcall *get_specified)(IXMLDOMNode *this, __int16 *);
  HRESULT (__fastcall *get_definition)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_nodeTypedValue)(IXMLDOMNode *this, tagVARIANT *);
  HRESULT (__fastcall *put_nodeTypedValue)(IXMLDOMNode *this, tagVARIANT);
  HRESULT (__fastcall *get_dataType)(IXMLDOMNode *this, tagVARIANT *);
  HRESULT (__fastcall *put_dataType)(IXMLDOMNode *this, wchar_t *);
  HRESULT (__fastcall *get_xml)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *transformNode)(IXMLDOMNode *this, IXMLDOMNode *, wchar_t **);
  HRESULT (__fastcall *selectNodes)(IXMLDOMNode *this, wchar_t *, IXMLDOMNodeList **);
  HRESULT (__fastcall *selectSingleNode)(IXMLDOMNode *this, wchar_t *, IXMLDOMNode **);
  HRESULT (__fastcall *get_parsed)(IXMLDOMNode *this, __int16 *);
  HRESULT (__fastcall *get_namespaceURI)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_prefix)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_baseName)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *transformNodeToObject)(IXMLDOMNode *this, IXMLDOMNode *, tagVARIANT);
  HRESULT (__fastcall *get_publicId)(IXMLDOMNotation *this, tagVARIANT *);
  HRESULT (__fastcall *get_systemId)(IXMLDOMNotation *this, tagVARIANT *);
};

# ITypeLibRegistrationReader

struct __cppobj ITypeLibRegistrationReader : IUnknown
{
};

# ITypeLibRegistrationReader_vtbl

struct /*VFT*/ ITypeLibRegistrationReader_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *EnumTypeLibRegistrations)(ITypeLibRegistrationReader *this, IEnumUnknown **);
};

# IServerSecurity

struct __cppobj IServerSecurity : IUnknown
{
};

# IServerSecurity_vtbl

struct /*VFT*/ IServerSecurity_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *QueryBlanket)(IServerSecurity *this, unsigned int *, unsigned int *, wchar_t **, unsigned int *, unsigned int *, void **, unsigned int *);
  HRESULT (__fastcall *ImpersonateClient)(IServerSecurity *this);
  HRESULT (__fastcall *RevertToSelf)(IServerSecurity *this);
  int (__fastcall *IsImpersonating)(IServerSecurity *this);
};

# IXTLRuntime

struct __cppobj IXTLRuntime : IXMLDOMNode
{
};

# IXTLRuntime_vtbl

struct /*VFT*/ IXTLRuntime_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *get_nodeName)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_nodeValue)(IXMLDOMNode *this, tagVARIANT *);
  HRESULT (__fastcall *put_nodeValue)(IXMLDOMNode *this, tagVARIANT);
  HRESULT (__fastcall *get_nodeType)(IXMLDOMNode *this, tagDOMNodeType *);
  HRESULT (__fastcall *get_parentNode)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_childNodes)(IXMLDOMNode *this, IXMLDOMNodeList **);
  HRESULT (__fastcall *get_firstChild)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_lastChild)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_previousSibling)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_nextSibling)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_attributes)(IXMLDOMNode *this, IXMLDOMNamedNodeMap **);
  HRESULT (__fastcall *insertBefore)(IXMLDOMNode *this, IXMLDOMNode *, tagVARIANT, IXMLDOMNode **);
  HRESULT (__fastcall *replaceChild)(IXMLDOMNode *this, IXMLDOMNode *, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *removeChild)(IXMLDOMNode *this, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *appendChild)(IXMLDOMNode *this, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *hasChildNodes)(IXMLDOMNode *this, __int16 *);
  HRESULT (__fastcall *get_ownerDocument)(IXMLDOMNode *this, IXMLDOMDocument **);
  HRESULT (__fastcall *cloneNode)(IXMLDOMNode *this, __int16, IXMLDOMNode **);
  HRESULT (__fastcall *get_nodeTypeString)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_text)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *put_text)(IXMLDOMNode *this, wchar_t *);
  HRESULT (__fastcall *get_specified)(IXMLDOMNode *this, __int16 *);
  HRESULT (__fastcall *get_definition)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_nodeTypedValue)(IXMLDOMNode *this, tagVARIANT *);
  HRESULT (__fastcall *put_nodeTypedValue)(IXMLDOMNode *this, tagVARIANT);
  HRESULT (__fastcall *get_dataType)(IXMLDOMNode *this, tagVARIANT *);
  HRESULT (__fastcall *put_dataType)(IXMLDOMNode *this, wchar_t *);
  HRESULT (__fastcall *get_xml)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *transformNode)(IXMLDOMNode *this, IXMLDOMNode *, wchar_t **);
  HRESULT (__fastcall *selectNodes)(IXMLDOMNode *this, wchar_t *, IXMLDOMNodeList **);
  HRESULT (__fastcall *selectSingleNode)(IXMLDOMNode *this, wchar_t *, IXMLDOMNode **);
  HRESULT (__fastcall *get_parsed)(IXMLDOMNode *this, __int16 *);
  HRESULT (__fastcall *get_namespaceURI)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_prefix)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_baseName)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *transformNodeToObject)(IXMLDOMNode *this, IXMLDOMNode *, tagVARIANT);
  HRESULT (__fastcall *uniqueID)(IXTLRuntime *this, IXMLDOMNode *, int *);
  HRESULT (__fastcall *depth)(IXTLRuntime *this, IXMLDOMNode *, int *);
  HRESULT (__fastcall *childNumber)(IXTLRuntime *this, IXMLDOMNode *, int *);
  HRESULT (__fastcall *ancestorChildNumber)(IXTLRuntime *this, wchar_t *, IXMLDOMNode *, int *);
  HRESULT (__fastcall *absoluteChildNumber)(IXTLRuntime *this, IXMLDOMNode *, int *);
  HRESULT (__fastcall *formatIndex)(IXTLRuntime *this, int, wchar_t *, wchar_t **);
  HRESULT (__fastcall *formatNumber)(IXTLRuntime *this, long double, wchar_t *, wchar_t **);
  HRESULT (__fastcall *formatDate)(IXTLRuntime *this, tagVARIANT, wchar_t *, tagVARIANT, wchar_t **);
  HRESULT (__fastcall *formatTime)(IXTLRuntime *this, tagVARIANT, wchar_t *, tagVARIANT, wchar_t **);
};

# IFastRundown_vtbl

struct /*VFT*/ IFastRundown_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
};

# IFastRundown

struct __cppobj IFastRundown : IUnknown
{
};

# IMPORT_OBJECT_HEADER

struct IMPORT_OBJECT_HEADER
{
  unsigned __int16 Sig1;
  unsigned __int16 Sig2;
  unsigned __int16 Version;
  unsigned __int16 Machine;
  unsigned int TimeDateStamp;
  unsigned int SizeOfData;
  $4CFA15F5CE489CDF0BD78DFB308FEF36 ___u6;
  unsigned __int16 Type : 2;
  unsigned __int16 NameType : 3;
  unsigned __int16 Reserved : 11;
};

# IActivationFilter

struct __cppobj IActivationFilter : IUnknown
{
};

# IActivationFilter_vtbl

struct /*VFT*/ IActivationFilter_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *HandleActivation)(IActivationFilter *this, unsigned int, const _GUID *, _GUID *);
};

# IXMLDOMEntity

struct __cppobj IXMLDOMEntity : IXMLDOMNode
{
};

# IXMLDOMEntity_vtbl

struct /*VFT*/ IXMLDOMEntity_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *get_nodeName)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_nodeValue)(IXMLDOMNode *this, tagVARIANT *);
  HRESULT (__fastcall *put_nodeValue)(IXMLDOMNode *this, tagVARIANT);
  HRESULT (__fastcall *get_nodeType)(IXMLDOMNode *this, tagDOMNodeType *);
  HRESULT (__fastcall *get_parentNode)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_childNodes)(IXMLDOMNode *this, IXMLDOMNodeList **);
  HRESULT (__fastcall *get_firstChild)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_lastChild)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_previousSibling)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_nextSibling)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_attributes)(IXMLDOMNode *this, IXMLDOMNamedNodeMap **);
  HRESULT (__fastcall *insertBefore)(IXMLDOMNode *this, IXMLDOMNode *, tagVARIANT, IXMLDOMNode **);
  HRESULT (__fastcall *replaceChild)(IXMLDOMNode *this, IXMLDOMNode *, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *removeChild)(IXMLDOMNode *this, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *appendChild)(IXMLDOMNode *this, IXMLDOMNode *, IXMLDOMNode **);
  HRESULT (__fastcall *hasChildNodes)(IXMLDOMNode *this, __int16 *);
  HRESULT (__fastcall *get_ownerDocument)(IXMLDOMNode *this, IXMLDOMDocument **);
  HRESULT (__fastcall *cloneNode)(IXMLDOMNode *this, __int16, IXMLDOMNode **);
  HRESULT (__fastcall *get_nodeTypeString)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_text)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *put_text)(IXMLDOMNode *this, wchar_t *);
  HRESULT (__fastcall *get_specified)(IXMLDOMNode *this, __int16 *);
  HRESULT (__fastcall *get_definition)(IXMLDOMNode *this, IXMLDOMNode **);
  HRESULT (__fastcall *get_nodeTypedValue)(IXMLDOMNode *this, tagVARIANT *);
  HRESULT (__fastcall *put_nodeTypedValue)(IXMLDOMNode *this, tagVARIANT);
  HRESULT (__fastcall *get_dataType)(IXMLDOMNode *this, tagVARIANT *);
  HRESULT (__fastcall *put_dataType)(IXMLDOMNode *this, wchar_t *);
  HRESULT (__fastcall *get_xml)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *transformNode)(IXMLDOMNode *this, IXMLDOMNode *, wchar_t **);
  HRESULT (__fastcall *selectNodes)(IXMLDOMNode *this, wchar_t *, IXMLDOMNodeList **);
  HRESULT (__fastcall *selectSingleNode)(IXMLDOMNode *this, wchar_t *, IXMLDOMNode **);
  HRESULT (__fastcall *get_parsed)(IXMLDOMNode *this, __int16 *);
  HRESULT (__fastcall *get_namespaceURI)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_prefix)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *get_baseName)(IXMLDOMNode *this, wchar_t **);
  HRESULT (__fastcall *transformNodeToObject)(IXMLDOMNode *this, IXMLDOMNode *, tagVARIANT);
  HRESULT (__fastcall *get_publicId)(IXMLDOMEntity *this, tagVARIANT *);
  HRESULT (__fastcall *get_systemId)(IXMLDOMEntity *this, tagVARIANT *);
  HRESULT (__fastcall *get_notationName)(IXMLDOMEntity *this, wchar_t **);
};

# IRootStorage

struct __cppobj IRootStorage : IUnknown
{
};

# IRootStorage_vtbl

struct /*VFT*/ IRootStorage_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SwitchToFile)(IRootStorage *this, wchar_t *);
};

# IDropSourceNotify

struct __cppobj IDropSourceNotify : IUnknown
{
};

# IDropSourceNotify_vtbl

struct /*VFT*/ IDropSourceNotify_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *DragEnterTarget)(IDropSourceNotify *this, HWND__ *);
  HRESULT (__fastcall *DragLeaveTarget)(IDropSourceNotify *this);
};

# IXMLDSOControl

struct __cppobj IXMLDSOControl : IDispatch
{
};

# IXMLDSOControl_vtbl

struct /*VFT*/ IXMLDSOControl_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *get_XMLDocument)(IXMLDSOControl *this, IXMLDOMDocument **);
  HRESULT (__fastcall *put_XMLDocument)(IXMLDSOControl *this, IXMLDOMDocument *);
  HRESULT (__fastcall *get_JavaDSOCompatible)(IXMLDSOControl *this, int *);
  HRESULT (__fastcall *put_JavaDSOCompatible)(IXMLDSOControl *this, int);
  HRESULT (__fastcall *get_readyState)(IXMLDSOControl *this, int *);
};

# IInternetSecurityManagerEx2

struct __cppobj IInternetSecurityManagerEx2 : IInternetSecurityManagerEx
{
};

# IInternetSecurityManagerEx2_vtbl

struct /*VFT*/ IInternetSecurityManagerEx2_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *SetSecuritySite)(IInternetSecurityManager *this, IInternetSecurityMgrSite *);
  HRESULT (__fastcall *GetSecuritySite)(IInternetSecurityManager *this, IInternetSecurityMgrSite **);
  HRESULT (__fastcall *MapUrlToZone)(IInternetSecurityManager *this, const wchar_t *, unsigned int *, unsigned int);
  HRESULT (__fastcall *GetSecurityId)(IInternetSecurityManager *this, const wchar_t *, unsigned __int8 *, unsigned int *, unsigned __int64);
  HRESULT (__fastcall *ProcessUrlAction)(IInternetSecurityManager *this, const wchar_t *, unsigned int, unsigned __int8 *, unsigned int, unsigned __int8 *, unsigned int, unsigned int, unsigned int);
  HRESULT (__fastcall *QueryCustomPolicy)(IInternetSecurityManager *this, const wchar_t *, const _GUID *, unsigned __int8 **, unsigned int *, unsigned __int8 *, unsigned int, unsigned int);
  HRESULT (__fastcall *SetZoneMapping)(IInternetSecurityManager *this, unsigned int, const wchar_t *, unsigned int);
  HRESULT (__fastcall *GetZoneMappings)(IInternetSecurityManager *this, unsigned int, IEnumString **, unsigned int);
  HRESULT (__fastcall *ProcessUrlActionEx)(IInternetSecurityManagerEx *this, const wchar_t *, unsigned int, unsigned __int8 *, unsigned int, unsigned __int8 *, unsigned int, unsigned int, unsigned int, unsigned int *);
  HRESULT (__fastcall *MapUrlToZoneEx2)(IInternetSecurityManagerEx2 *this, IUri *, unsigned int *, unsigned int, wchar_t **, unsigned int *);
  HRESULT (__fastcall *ProcessUrlActionEx2)(IInternetSecurityManagerEx2 *this, IUri *, unsigned int, unsigned __int8 *, unsigned int, unsigned __int8 *, unsigned int, unsigned int, unsigned __int64, unsigned int *);
  HRESULT (__fastcall *GetSecurityIdEx2)(IInternetSecurityManagerEx2 *this, IUri *, unsigned __int8 *, unsigned int *, unsigned __int64);
  HRESULT (__fastcall *QueryCustomPolicyEx2)(IInternetSecurityManagerEx2 *this, IUri *, const _GUID *, unsigned __int8 **, unsigned int *, unsigned __int8 *, unsigned int, unsigned __int64);
};

# IMarshalingStream

struct __cppobj IMarshalingStream : IStream
{
};

# IMarshalingStream_vtbl

struct /*VFT*/ IMarshalingStream_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Read)(ISequentialStream *this, void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Write)(ISequentialStream *this, const void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Seek)(IStream *this, _LARGE_INTEGER, unsigned int, _ULARGE_INTEGER *);
  HRESULT (__fastcall *SetSize)(IStream *this, _ULARGE_INTEGER);
  HRESULT (__fastcall *CopyTo)(IStream *this, IStream *, _ULARGE_INTEGER, _ULARGE_INTEGER *, _ULARGE_INTEGER *);
  HRESULT (__fastcall *Commit)(IStream *this, unsigned int);
  HRESULT (__fastcall *Revert)(IStream *this);
  HRESULT (__fastcall *LockRegion)(IStream *this, _ULARGE_INTEGER, _ULARGE_INTEGER, unsigned int);
  HRESULT (__fastcall *UnlockRegion)(IStream *this, _ULARGE_INTEGER, _ULARGE_INTEGER, unsigned int);
  HRESULT (__fastcall *Stat)(IStream *this, tagSTATSTG *, unsigned int);
  HRESULT (__fastcall *Clone)(IStream *this, IStream **);
  HRESULT (__fastcall *GetMarshalingContextAttribute)(IMarshalingStream *this, CO_MARSHALING_CONTEXT_ATTRIBUTES, unsigned __int64 *);
};

# IClientSecurity

struct __cppobj IClientSecurity : IUnknown
{
};

# IClientSecurity_vtbl

struct /*VFT*/ IClientSecurity_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *QueryBlanket)(IClientSecurity *this, IUnknown *, unsigned int *, unsigned int *, wchar_t **, unsigned int *, unsigned int *, void **, unsigned int *);
  HRESULT (__fastcall *SetBlanket)(IClientSecurity *this, IUnknown *, unsigned int, unsigned int, wchar_t *, unsigned int, unsigned int, void *, unsigned int);
  HRESULT (__fastcall *CopyProxy)(IClientSecurity *this, IUnknown *, IUnknown **);
};

# IApartmentShutdown

struct __cppobj IApartmentShutdown : IUnknown
{
};

# IApartmentShutdown_vtbl

struct /*VFT*/ IApartmentShutdown_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  void (__fastcall *OnUninitialize)(IApartmentShutdown *this, unsigned __int64);
};

# IDropSource

struct __cppobj IDropSource : IUnknown
{
};

# IDropSource_vtbl

struct /*VFT*/ IDropSource_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *QueryContinueDrag)(IDropSource *this, int, unsigned int);
  HRESULT (__fastcall *GiveFeedback)(IDropSource *this, unsigned int);
};

# IMAGE_COR20_HEADER

struct IMAGE_COR20_HEADER
{
  unsigned int cb;
  unsigned __int16 MajorRuntimeVersion;
  unsigned __int16 MinorRuntimeVersion;
  _IMAGE_DATA_DIRECTORY MetaData;
  unsigned int Flags;
  $D0FAA225C480F7E79DE0C59B79FF3D5C ___u5;
  _IMAGE_DATA_DIRECTORY Resources;
  _IMAGE_DATA_DIRECTORY StrongNameSignature;
  _IMAGE_DATA_DIRECTORY CodeManagerTable;
  _IMAGE_DATA_DIRECTORY VTableFixups;
  _IMAGE_DATA_DIRECTORY ExportAddressTableJumps;
  _IMAGE_DATA_DIRECTORY ManagedNativeHeader;
};

# IPipeLong

struct __cppobj IPipeLong : IUnknown
{
};

# IPipeLong_vtbl

struct /*VFT*/ IPipeLong_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Pull)(IPipeLong *this, int *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Push)(IPipeLong *this, int *, unsigned int);
};

# IPrintDialogServices

struct __cppobj IPrintDialogServices : IUnknown
{
};

# IPrintDialogServices_vtbl

struct /*VFT*/ IPrintDialogServices_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetCurrentDevMode)(IPrintDialogServices *this, _devicemodeA *, unsigned int *);
  HRESULT (__fastcall *GetCurrentPrinterName)(IPrintDialogServices *this, wchar_t *, unsigned int *);
  HRESULT (__fastcall *GetCurrentPortName)(IPrintDialogServices *this, wchar_t *, unsigned int *);
};

# IUriContainer

struct __cppobj IUriContainer : IUnknown
{
};

# IUriContainer_vtbl

struct /*VFT*/ IUriContainer_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetIUri)(IUriContainer *this, IUri **);
};

# IBlockingLock

struct __cppobj IBlockingLock : IUnknown
{
};

# IBlockingLock_vtbl

struct /*VFT*/ IBlockingLock_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Lock)(IBlockingLock *this, unsigned int);
  HRESULT (__fastcall *Unlock)(IBlockingLock *this);
};

# IXMLAttribute

struct __cppobj IXMLAttribute : IDispatch
{
};

# IXMLAttribute_vtbl

struct /*VFT*/ IXMLAttribute_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetTypeInfoCount)(IDispatch *this, unsigned int *);
  HRESULT (__fastcall *GetTypeInfo)(IDispatch *this, unsigned int, unsigned int, ITypeInfo **);
  HRESULT (__fastcall *GetIDsOfNames)(IDispatch *this, const _GUID *, wchar_t **, unsigned int, unsigned int, int *);
  HRESULT (__fastcall *Invoke)(IDispatch *this, int, const _GUID *, unsigned int, unsigned __int16, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *);
  HRESULT (__fastcall *get_name)(IXMLAttribute *this, wchar_t **);
  HRESULT (__fastcall *get_value)(IXMLAttribute *this, wchar_t **);
};

# IAsyncRpcChannelBuffer

struct __cppobj IAsyncRpcChannelBuffer : IRpcChannelBuffer2
{
};

# IAsyncRpcChannelBuffer_vtbl

struct /*VFT*/ IAsyncRpcChannelBuffer_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetBuffer)(IRpcChannelBuffer *this, tagRPCOLEMESSAGE *, const _GUID *);
  HRESULT (__fastcall *SendReceive)(IRpcChannelBuffer *this, tagRPCOLEMESSAGE *, unsigned int *);
  HRESULT (__fastcall *FreeBuffer)(IRpcChannelBuffer *this, tagRPCOLEMESSAGE *);
  HRESULT (__fastcall *GetDestCtx)(IRpcChannelBuffer *this, unsigned int *, void **);
  HRESULT (__fastcall *IsConnected)(IRpcChannelBuffer *this);
  HRESULT (__fastcall *GetProtocolVersion)(IRpcChannelBuffer2 *this, unsigned int *);
  HRESULT (__fastcall *Send)(IAsyncRpcChannelBuffer *this, tagRPCOLEMESSAGE *, ISynchronize *, unsigned int *);
  HRESULT (__fastcall *Receive)(IAsyncRpcChannelBuffer *this, tagRPCOLEMESSAGE *, unsigned int *);
  HRESULT (__fastcall *GetDestCtxEx)(IAsyncRpcChannelBuffer *this, tagRPCOLEMESSAGE *, unsigned int *, void **);
};

# IRpcHelper

struct __cppobj IRpcHelper : IUnknown
{
};

# IRpcHelper_vtbl

struct /*VFT*/ IRpcHelper_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *GetDCOMProtocolVersion)(IRpcHelper *this, unsigned int *);
  HRESULT (__fastcall *GetIIDFromOBJREF)(IRpcHelper *this, void *, _GUID **);
};

# IResourceLocationExpander_vtbl

struct /*VFT*/ IResourceLocationExpander_vtbl
{
  void (__fastcall *~IResourceLocationExpander)(IResourceLocationExpander *this);
  ResourceLocation *(__fastcall *getFullPath)(IResourceLocationExpander *this, ResourceLocation *result, const ResourceLocation *, const std::vector<std::string> *);
};

# ItemStateVariant<int>_vtbl

struct /*VFT*/ ItemStateVariant<int>_vtbl
{
  void (__fastcall *~ItemState)(ItemState *this);
  void (__fastcall *toNBT)(ItemState *this, CompoundTag *, int);
  bool (__fastcall *fromNBT)(ItemState *this, const CompoundTag *, int *);
};

# ILevelDataOverride

struct __cppobj ILevelDataOverride
{
  ILevelDataOverride_vtbl *__vftable /*VFT*/;
};

# ILevelDataOverride_vtbl

struct /*VFT*/ ILevelDataOverride_vtbl
{
  void (__fastcall *~ILevelDataOverride)(ILevelDataOverride *this);
  void (__fastcall *applyTo)(ILevelDataOverride *this, LevelData *);
};

# ItemStackNetManagerServer

struct __cppobj ItemStackNetManagerServer : ItemStackNetManagerBase
{
  std::unique_ptr<ItemStackRequestActionHandler> mRequestActionHandler;
  bool mRetainSetItemStackNetIdVariants;
  __declspec(align(4)) _BYTE mTextFilterState[4];
  std::queue<std::unique_ptr<ItemStackRequestData>> mRequestsQueue;
  Bedrock::NonOwnerPointer<TextFilteringProcessor> mTextFilteringProcessor;
  Tick mTextFilterRequestTimer;
  const Tick mTextFilterRequestTimeout;
  CallbackToken mTextFilterRequestToken;
  std::unique_ptr<CallbackTokenContext<std::function<void __cdecl(void)> >> mOnContainerScreenCloseCB;
};

# ItemStackRequestActionHandler::PlayerLegacyRequestSlotIdAssignment

struct __cppobj ItemStackRequestActionHandler::PlayerLegacyRequestSlotIdAssignment
{
  const ContainerEnumName mContainerName;
  const TypedRuntimeId<ContainerRuntimeIdTag,unsigned int,0> mContainerRuntimeId;
  std::vector<std::pair<TypedClientNetId<ItemStackLegacyRequestIdTag,int,0>,TypedServerNetId<ItemStackNetIdTag,int,0> >> mSlots;
};

# ItemStackRequestActionHandler

struct __cppobj ItemStackRequestActionHandler
{
  Player *mPlayer;
  ItemStackNetManagerServer *mItemStackNetManager;
  const TypedRuntimeId<ContainerRuntimeIdTag,unsigned int,0> mPlayerArmorContainerRuntimeId;
  const TypedRuntimeId<ContainerRuntimeIdTag,unsigned int,0> mPlayerHandContainerRuntimeId;
  const TypedRuntimeId<ContainerRuntimeIdTag,unsigned int,0> mPlayerUIContainerRuntimeId;
  std::array<ItemStackRequestActionHandler::PlayerLegacyRequestSlotIdAssignment,3> mPlayerLegacyRequests;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mLastTime;
  WeakRefT<EntityRefTraits> mCurrentRequestScreen;
  TypedClientNetId<ItemStackRequestIdTag,int,0> mClientRequestId;
  std::vector<ItemStackResponseContainerInfo> mResponseContainerInfos;
  std::vector<std::pair<ItemStack,bool>> mDropItems;
  std::map<std::string,std::vector<std::string>> mFilteredStrings;
};

# ItemStackNetManagerServer_vtbl

struct /*VFT*/ ItemStackNetManagerServer_vtbl
{
  void (__fastcall *~ItemStackNetManagerBase)(ItemStackNetManagerBase *this);
  bool (__fastcall *isEnabled)(ItemStackNetManagerBase *this);
  TypedClientNetId<ItemStackRequestIdTag,int,0> *(__fastcall *getRequestId)(ItemStackNetManagerBase *this, TypedClientNetId<ItemStackRequestIdTag,int,0> *result);
  bool (__fastcall *retainSetItemStackNetIdVariant)(ItemStackNetManagerBase *this);
  bool (__fastcall *allowInventoryTransactionManager)(ItemStackNetManagerBase *this);
  gsl::final_action<std::function<void __cdecl(void)> > *(__fastcall *_tryBeginClientLegacyTransactionRequest)(ItemStackNetManagerBase *this, gsl::final_action<std::function<void __cdecl(void)> > *result);
  void (__fastcall *onContainerScreenOpen)(ItemStackNetManagerBase *this, const ContainerScreenContext *);
  void (__fastcall *onContainerScreenClose)(ItemStackNetManagerBase *this);
  SparseContainer *(__fastcall *initOpenContainer)(ItemStackNetManagerBase *this, BlockSource *, ContainerEnumName, const ContainerWeakRef *);
  void (__fastcall *_addLegacyTransactionRequestSetItemSlot)(ItemStackNetManagerBase *this, ItemStackNetManagerScreen *, ContainerType, int);
  void (__fastcall *_initScreen)(ItemStackNetManagerBase *this, ItemStackNetManagerScreen *);
};

# ItemLockHelper

struct __cppobj ItemLockHelper
{
};

# ImportResult

struct __cppobj ImportResult
{
  std::shared_ptr<Legacy::WorldConversionReport> mConversionReport;
  std::shared_ptr<LocalWorldInfo> mWorldInfo;
};

# ILocalWorldsProvider

struct __cppobj ILocalWorldsProvider
{
  ILocalWorldsProvider_vtbl *__vftable /*VFT*/;
};

# ILocalWorldsProvider_vtbl

struct /*VFT*/ ILocalWorldsProvider_vtbl
{
  void (__fastcall *~ILocalWorldsProvider)(ILocalWorldsProvider *this);
  int (__fastcall *getWorldCount)(ILocalWorldsProvider *this, WorldType, NetworkWorldType);
  const LocalWorldInfo *(__fastcall *getLocalWorldAtIndex)(ILocalWorldsProvider *this, const int);
  const LocalWorldInfo *(__fastcall *getLocalWorldById)(ILocalWorldsProvider *this, const std::string *);
  bool (__fastcall *refresh)(ILocalWorldsProvider *this, WorldType);
  void (__fastcall *startLocalWorld)(ILocalWorldsProvider *this, LocalWorldInfo, const LevelSettings *);
};

# InterpolableFrame<float>_vtbl

struct /*VFT*/ InterpolableFrame<float>_vtbl
{
  void (__fastcall *~InterpolableFrame<float>)(InterpolableFrame<float> *this);
  float (__fastcall *Lerp)(InterpolableFrame<float> *this, const float *, const float *, float);
};

# InterpolableFrameArray<Urho3D::EmitterScaleFrame,float>

struct __cppobj __declspec(align(8)) InterpolableFrameArray<Urho3D::EmitterScaleFrame,float>
{
  std::vector<Urho3D::EmitterScaleFrame> frames_;
  bool stretchToLifetime_;
};

# InterpolableFrame<Urho3D::Vector3>_vtbl

struct /*VFT*/ InterpolableFrame<Urho3D::Vector3>_vtbl
{
  void (__fastcall *~InterpolableFrame<Urho3D::Vector3>)(InterpolableFrame<Urho3D::Vector3> *this);
  Urho3D::Vector3 *(__fastcall *Lerp)(InterpolableFrame<Urho3D::Vector3> *this, Urho3D::Vector3 *result, const Urho3D::Vector3 *, const Urho3D::Vector3 *, float);
};

# InterpolableFrameArray<Urho3D::EmitterPathFrame,Urho3D::Vector3>

struct __cppobj __declspec(align(8)) InterpolableFrameArray<Urho3D::EmitterPathFrame,Urho3D::Vector3>
{
  std::vector<Urho3D::EmitterPathFrame> frames_;
  bool stretchToLifetime_;
};

# InterpolableFrame<Urho3D::Vector2>

struct __cppobj __declspec(align(8)) InterpolableFrame<Urho3D::Vector2>
{
  InterpolableFrame<Urho3D::Vector2>_vtbl *__vftable /*VFT*/;
  Urho3D::Vector2 data_;
  float time_;
};

# InterpolableFrame<Urho3D::Vector2>_vtbl

struct /*VFT*/ InterpolableFrame<Urho3D::Vector2>_vtbl
{
  void (__fastcall *~InterpolableFrame<Urho3D::Vector2>)(InterpolableFrame<Urho3D::Vector2> *this);
  Urho3D::Vector2 *(__fastcall *Lerp)(InterpolableFrame<Urho3D::Vector2> *this, Urho3D::Vector2 *result, const Urho3D::Vector2 *, const Urho3D::Vector2 *, float);
};

# InterpolableFrameArray<Urho3D::ScaleFrame,Urho3D::Vector2>

struct __cppobj __declspec(align(8)) InterpolableFrameArray<Urho3D::ScaleFrame,Urho3D::Vector2>
{
  std::vector<Urho3D::ScaleFrame> frames_;
  bool stretchToLifetime_;
};

# InterpolableFrame<Urho3D::Color>_vtbl

struct /*VFT*/ InterpolableFrame<Urho3D::Color>_vtbl
{
  void (__fastcall *~InterpolableFrame<Urho3D::Color>)(InterpolableFrame<Urho3D::Color> *this);
  Urho3D::Color *(__fastcall *Lerp)(InterpolableFrame<Urho3D::Color> *this, Urho3D::Color *result, const Urho3D::Color *, const Urho3D::Color *, float);
};

# InterpolableFrameArray<Urho3D::ColorFrame,Urho3D::Color>

struct __cppobj __declspec(align(8)) InterpolableFrameArray<Urho3D::ColorFrame,Urho3D::Color>
{
  std::vector<Urho3D::ColorFrame> frames_;
  bool stretchToLifetime_;
};

# IGameController

struct __cppobj IGameController
{
  IGameController_vtbl *__vftable /*VFT*/;
};

# IGameController_vtbl

struct /*VFT*/ IGameController_vtbl
{
  void (__fastcall *~IGameController)(IGameController *this);
  bool (__fastcall *hasEvents)(IGameController *this, const void *);
  GameControllerEvent *(__fastcall *getNextEvent)(IGameController *this, GameControllerEvent *result, const void *);
  int (__fastcall *getId)(IGameController *this);
  bool (__fastcall *isConnected)(IGameController *this);
  bool (__fastcall *isAdequateController)(IGameController *this);
  void (__fastcall *setControllerPairedToClient)(IGameController *this, const bool);
  bool (__fastcall *isControllerPairedToClient)(IGameController *this);
};

# IGameControllerManager_vtbl

struct /*VFT*/ IGameControllerManager_vtbl
{
  void (__fastcall *~IGameControllerManager)(IGameControllerManager *this);
  std::weak_ptr<IGameController> *(__fastcall *getGameController)(IGameControllerManager *this, std::weak_ptr<IGameController> *result, int);
  std::vector<std::weak_ptr<IGameController>> *(__fastcall *getConnectedGameControllers)(IGameControllerManager *this, std::vector<std::weak_ptr<IGameController>> *result);
  std::vector<std::weak_ptr<IGameController>> *(__fastcall *getGameControllersInUse)(IGameControllerManager *this, std::vector<std::weak_ptr<IGameController>> *result);
  bool (__fastcall *hasAdequateConnectedGameController)(IGameControllerManager *this);
  bool (__fastcall *hasAdequateConnectedGameControllers)(IGameControllerManager *this, const unsigned __int64);
  unsigned __int64 (__fastcall *getMaxGameControllerButtons)(IGameControllerManager *this);
  void (__fastcall *registerConsumer)(IGameControllerManager *this, const void *);
  void (__fastcall *unregisterConsumer)(IGameControllerManager *this, const void *);
  void (__fastcall *setControllerRefreshState)(IGameControllerManager *this, ControllerRefreshState);
  ControllerRefreshState (__fastcall *getControllerRefreshState)(IGameControllerManager *this);
  GameControllerErrorType (__fastcall *getPlatformSpecificControllerError)(IGameControllerManager *this);
  void (__fastcall *setPlatformSpecificControllerErrorRetrievalFunc)(IGameControllerManager *this, std::function<enum GameControllerErrorType __cdecl(void)> *);
  void (__fastcall *resetClientControllerCount)(IGameControllerManager *this);
  void (__fastcall *addClientHasAdequateConnectedController)(IGameControllerManager *this, int, const bool);
  bool (__fastcall *isSplitscreenJoinAllowed)(IGameControllerManager *this);
  void (__fastcall *setSplitScreenJoinAllowed)(IGameControllerManager *this, bool);
};

# IHitResultContainer

struct __cppobj IHitResultContainer
{
  IHitResultContainer_vtbl *__vftable /*VFT*/;
};

# IHitResultContainer_vtbl

struct /*VFT*/ IHitResultContainer_vtbl
{
  void (__fastcall *~IHitResultContainer)(IHitResultContainer *this);
  void (__fastcall *addHitResult)(IHitResultContainer *this, HitResult, HitResult);
  void (__fastcall *clear)(IHitResultContainer *this);
  gsl::span<std::pair<HitResult,HitResult> const ,-1> *(__fastcall *getHits)(IHitResultContainer *this, gsl::span<std::pair<HitResult,HitResult> const ,-1> *result);
};

# InnerAssetInstaller

struct __cppobj InnerAssetInstaller
{
  InnerAssetInstaller_vtbl *__vftable /*VFT*/;
  bool mIsTickEnable;
  std::string mEngineVersion;
  std::string mPatchVersion;
  std::atomic<enum InnerAssetInstaller::eInstallStatus> mStatus;
  std::function<void __cdecl(void)> mSuccCallback;
  std::function<void __cdecl(void)> mFailCallback;
};

# InnerAssetInstaller_vtbl

struct /*VFT*/ InnerAssetInstaller_vtbl
{
  void (__fastcall *~InnerAssetInstaller)(InnerAssetInstaller *this);
};

# InstallAssetStage

struct __cppobj InstallAssetStage : BaseStage
{
  std::shared_ptr<InnerAssetInstaller> mInstaller;
};

# InstallAssetStage_vtbl

struct /*VFT*/ InstallAssetStage_vtbl
{
  void (__fastcall *~BaseStage)(BaseStage *this);
  void (__fastcall *onAwake)(BaseStage *this);
  void (__fastcall *onUpdate)(BaseStage *this);
  bool (__fastcall *ayncTask)(BaseStage *this);
};

# InventoryItemRenderer::CachedProperties

struct __cppobj InventoryItemRenderer::CachedProperties
{
  int mCacheVersion;
  int mItemIdAux;
  int mChargedItem;
  int mCustomColor;
  bool mIsFiltered;
  __int64 mRawPickUpTime;
};

# InventoryItemRenderer_vtbl

struct /*VFT*/ InventoryItemRenderer_vtbl
{
  void (__fastcall *~UICustomRenderer)(UICustomRenderer *this);
  void (__fastcall *preRenderSetup)(UICustomRenderer *this, UIRenderContext *);
  std::shared_ptr<UICustomRenderer> *(__fastcall *clone)(UICustomRenderer *this, std::shared_ptr<UICustomRenderer> *result);
  bool (__fastcall *update)(UICustomRenderer *this, IClientInstance *, UIControl *, const UIScene *);
  void (__fastcall *frameUpdate)(UICustomRenderer *this, UIFrameUpdateContext *, UIControl *);
  void (__fastcall *render)(UICustomRenderer *this, UIRenderContext *, IClientInstance *, UIControl *, int, RectangleArea *);
  UIBatchType (__fastcall *getBatchType)(UICustomRenderer *this);
  int (__fastcall *getCustomId)(UICustomRenderer *this);
  int (__fastcall *getNumRenderPasses)(UICustomRenderer *this);
  ResourceLocation *(__fastcall *getResourceLocation)(UICustomRenderer *this, ResourceLocation *result, int, int);
  UIMaterialType (__fastcall *getUIMaterialType)(UICustomRenderer *this, int);
  bool (__fastcall *getRequiresPreRenderSetup)(UICustomRenderer *this, int);
  void (__fastcall *onVisibilityChanged)(UICustomRenderer *this, bool);
  void (__fastcall *collectScreenEvents)(UICustomRenderer *this, std::queue<ScreenEvent> *);
  void (__fastcall *frameUpdate)(MinecraftUICustomRenderer *this, MinecraftUIFrameUpdateContext *, UIControl *);
  void (__fastcall *render)(MinecraftUICustomRenderer *this, MinecraftUIRenderContext *, IClientInstance *, UIControl *, int, RectangleArea *);
  void (__fastcall *preRenderSetup)(MinecraftUICustomRenderer *this, MinecraftUIRenderContext *);
};

# ImportExportProgressHandler

struct __cppobj ImportExportProgressHandler : EmptyProgressHandler
{
  std::string mTitleText;
  std::string mProgressMessage;
};

# ImportExportProgressHandler_vtbl

struct /*VFT*/ ImportExportProgressHandler_vtbl
{
  void (__fastcall *~ProgressHandler)(ProgressHandler *this);
  void (__fastcall *onStart)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *tick)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *onCancel)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *onExit)(ProgressHandler *this, MinecraftScreenModel *);
  LoadingState (__fastcall *getLoadingState)(ProgressHandler *this, MinecraftScreenModel *);
  float (__fastcall *getLoadingProgress)(ProgressHandler *this, MinecraftScreenModel *);
  std::string *(__fastcall *getProgressMessage)(ProgressHandler *this, std::string *result, MinecraftScreenModel *);
  void (__fastcall *addEventProperties)(ProgressHandler *this, std::unordered_map<std::string,std::string> *);
  std::string *(__fastcall *getTTSProgressMessage)(ProgressHandler *this, std::string *result);
  std::string *(__fastcall *getTitleText)(ProgressHandler *this, std::string *result);
  ProgressAnimation (__fastcall *showLoadingBar)(ProgressHandler *this);
};

# IOTaskProgressHandler

struct __cppobj __declspec(align(8)) IOTaskProgressHandler : ProgressHandler
{
  std::string mTitle;
  std::shared_ptr<std::function<void __cdecl(void)> > mIOTaskWorkCallbackSharedPtr;
  std::unique_ptr<TaskGroup> mIOTaskGroup;
  bool mComplete;
};

# IOTaskProgressHandler_vtbl

struct /*VFT*/ IOTaskProgressHandler_vtbl
{
  void (__fastcall *~ProgressHandler)(ProgressHandler *this);
  void (__fastcall *onStart)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *tick)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *onCancel)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *onExit)(ProgressHandler *this, MinecraftScreenModel *);
  LoadingState (__fastcall *getLoadingState)(ProgressHandler *this, MinecraftScreenModel *);
  float (__fastcall *getLoadingProgress)(ProgressHandler *this, MinecraftScreenModel *);
  std::string *(__fastcall *getProgressMessage)(ProgressHandler *this, std::string *result, MinecraftScreenModel *);
  void (__fastcall *addEventProperties)(ProgressHandler *this, std::unordered_map<std::string,std::string> *);
  std::string *(__fastcall *getTTSProgressMessage)(ProgressHandler *this, std::string *result);
  std::string *(__fastcall *getTitleText)(ProgressHandler *this, std::string *result);
  ProgressAnimation (__fastcall *showLoadingBar)(ProgressHandler *this);
};

# IOTaskProgressHandler::onStart::__l2::<lambda_4102ee9516fffb1131285f8fc872197f>

struct __cppobj IOTaskProgressHandler::onStart::__l2::<lambda_4102ee9516fffb1131285f8fc872197f>
{
  std::weak_ptr<std::function<void __cdecl(void)> > weak_existence;
  IOTaskProgressHandler *const __this;
};

# IOTaskProgressHandler::onStart::__l2::<lambda_3cd3b6c3de895252125dee9fdae1808a>

struct __cppobj IOTaskProgressHandler::onStart::__l2::<lambda_3cd3b6c3de895252125dee9fdae1808a>
{
  std::weak_ptr<std::function<void __cdecl(void)> > weak_existence;
  IOTaskProgressHandler *const __this;
};

# IntellisenseHandler::AutoCompleteMessage

struct __cppobj IntellisenseHandler::AutoCompleteMessage
{
  std::string text;
  ItemInstance itemInstance;
};

# IntellisenseHandler

struct __cppobj IntellisenseHandler
{
  std::vector<std::string> mIntellisenseMessages;
  bool mIsDevConsole;
  std::string mLastTabCompleteMessage;
  int mLastTabCompleteIndex;
  bool mInitTabComplete;
  bool mNeedsLayoutUpdate;
  int mAutoCompleteGridSize;
  std::vector<IntellisenseHandler::AutoCompleteMessage> mAutoCompleteMessages;
};

# InstructionalContentQueryContext

struct __cppobj InstructionalContentQueryContext
{
  std::function<void __cdecl(void)> mOnComplete;
  int mLibrarySkip;
  int mChannelSkip;
};

# InventoryTipScreenController

struct __cppobj __declspec(align(4)) InventoryTipScreenController : ClientInstanceScreenController, ContainerContentChangeListener, ItemEventListener, PlayerEventListener, ActorEventListener
{
  std::shared_ptr<CraftingContainerManagerController> mCraftingContainerManagerController;
  ContainerEnumName mContainerType;
  int mCollectionIndex;
  bool mLeftPadding;
  bool mRightPadding;
  bool mUpEnabled;
  bool mIsMultiline;
  bool mIsPocketEdition;
  bool mIsRecipeBookLayoutSelected;
  bool mWorkbench;
  bool mIsSearchTabSelected;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mInventoryTipStartTime;
  std::map<enum InventoryTipId,enum InventoryTipStatus> mInventoryTipStatus;
  int mCurrentGamePlayTipIndex;
  bool mTipNeedsToBeCreated;
};

# InventoryTipScreenController_vtbl

struct /*VFT*/ InventoryTipScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
};

# InstructionalContentImportContext

struct __cppobj InstructionalContentImportContext : DefaultImportContext
{
  std::shared_ptr<LessonItem> mItem;
};

# InstructionalContentImportContext_vtbl

struct /*VFT*/ InstructionalContentImportContext_vtbl
{
  void (__fastcall *~ImportContext)(ImportContext *this);
  Core::PathBuffer<std::string > *(__fastcall *generatePackFolderName)(ImportContext *this, Core::PathBuffer<std::string > *result, const PackManifest *);
  Core::PathBuffer<std::string > *(__fastcall *getBehaviorPacksPath)(ImportContext *this, Core::PathBuffer<std::string > *result);
  Core::PathBuffer<std::string > *(__fastcall *getResourcePacksPath)(ImportContext *this, Core::PathBuffer<std::string > *result);
  Core::PathBuffer<std::string > *(__fastcall *getWorldTemplatePath)(ImportContext *this, Core::PathBuffer<std::string > *result);
  Core::PathBuffer<std::string > *(__fastcall *getSkinPacksPath)(ImportContext *this, Core::PathBuffer<std::string > *result);
  Core::PathBuffer<std::string > *(__fastcall *getPersonaPath)(ImportContext *this, Core::PathBuffer<std::string > *result);
  bool (__fastcall *allowOverwrite)(ImportContext *this);
  bool (__fastcall *shouldUnzipToDestination)(ImportContext *this, const PackManifest *);
  bool (__fastcall *importAsFlatFile)(ImportContext *this, const PackManifest *);
  void (__fastcall *notifyEarlyImportStarted)(ImportContext *this, bool);
  void (__fastcall *notifyImportStarted)(ImportContext *this, const PackManifest *);
  void (__fastcall *notifyMultiImportStarted)(ImportContext *this, int);
  void (__fastcall *notifyImportSucceeded)(ImportContext *this, const ResourcePack *, ImportSuccess, const PackManifest *, const PackReport *, const Core::Path *);
  void (__fastcall *notifyImportFailed)(ImportContext *this, ImportFailure, const PackManifest *, PackReport *, const Core::Path *);
  bool (__fastcall *modifyManifest)(ImportContext *this, PackManifest *);
};

# ImmersiveReaderToken

struct __cppobj ImmersiveReaderToken : ActiveDirectoryIdentityObserver
{
  std::string mTokenString;
  WebToken mToken;
};

# ImmersiveReaderToken_vtbl

struct /*VFT*/ ImmersiveReaderToken_vtbl
{
  void (__fastcall *~Observer<ActiveDirectoryIdentityObserver,Core::SingleThreadedLock>)(Core::Observer<ActiveDirectoryIdentityObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *_onSubjectDestroyed)(Core::Observer<ActiveDirectoryIdentityObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *onIdentityGained)(ActiveDirectoryIdentityObserver *this, const ActiveDirectoryIdentity *);
  void (__fastcall *onIdentityRefreshed)(ActiveDirectoryIdentityObserver *this, const ActiveDirectoryIdentity *);
  void (__fastcall *onIdentityLost)(ActiveDirectoryIdentityObserver *this, const ActiveDirectoryIdentity *);
  void (__fastcall *onIdentityExpired)(ActiveDirectoryIdentityObserver *this, const ActiveDirectoryIdentity *);
  void (__fastcall *onConfigFetched)(ActiveDirectoryIdentityObserver *this, const EDUConfigData *);
};

# ItemStateVariant<bool>_vtbl

struct /*VFT*/ ItemStateVariant<bool>_vtbl
{
  void (__fastcall *~ItemState)(ItemState *this);
  void (__fastcall *toNBT)(ItemState *this, CompoundTag *, int);
  bool (__fastcall *fromNBT)(ItemState *this, const CompoundTag *, int *);
};

# ImmersiveReaderObserver

struct __cppobj ImmersiveReaderObserver : WebviewObserver
{
  std::function<void __cdecl(std::string const &)> mImmersiveReaderInterface;
};

# ImmersiveReaderObserver_vtbl

struct /*VFT*/ ImmersiveReaderObserver_vtbl
{
  void (__fastcall *~Observer<WebviewObserver,Core::SingleThreadedLock>)(Core::Observer<WebviewObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *_onSubjectDestroyed)(Core::Observer<WebviewObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *onLoadingBegin)(WebviewObserver *this);
  void (__fastcall *onLoadingEnd)(WebviewObserver *this);
  void (__fastcall *onError)(WebviewObserver *this, const WebviewError *);
  void (__fastcall *onDownloadBegin)(WebviewObserver *this, const WebviewDownloadInfo *);
  void (__fastcall *onDownloadUpdate)(WebviewObserver *this, const WebviewDownloadInfo *);
  void (__fastcall *onDownloadComplete)(WebviewObserver *this, const WebviewDownloadInfo *);
  void (__fastcall *onDownloadCanceled)(WebviewObserver *this, const WebviewDownloadInfo *);
  void (__fastcall *onMessageRecieved)(WebviewObserver *this, const std::string *);
};

# ImmersiveReaderScreenController

struct __cppobj ImmersiveReaderScreenController : ClientInstanceScreenController
{
  std::string mReaderText;
  ImmersiveReaderScreenController::ImmersiveReaderErrorType mErrorType;
  bool mErrorCausedRefresh;
  _BYTE mImmersiveReaderStage[1];
  std::unique_ptr<ImmersiveReaderObserver> mObserver;
  WebviewInterfaceOptions mImmersiveReaderDef;
};

# ImmersiveReaderScreenController_vtbl

struct /*VFT*/ ImmersiveReaderScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
};

# InBedScreenController

struct __cppobj InBedScreenController : ClientInstanceScreenController
{
  Player *mSleepingPlayer;
};

# InBedScreenController_vtbl

struct /*VFT*/ InBedScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
};

# InviteScreenController::XboxLiveUserEntryData

struct __declspec(align(8)) InviteScreenController::XboxLiveUserEntryData
{
  const Social::XboxLiveUserProfileData *mUserProfileData;
  bool mToggleState;
};

# InviteScreenController::PlatformUserEntryData

struct __cppobj __declspec(align(8)) InviteScreenController::PlatformUserEntryData
{
  Social::PlatformUserProfileData mUserProfileData;
  bool mToggleState;
};

# InviteScreenController

struct __cppobj InviteScreenController : MinecraftScreenController
{
  std::vector<InviteScreenController::XboxLiveUserEntryData> mXboxLiveEntries;
  std::vector<InviteScreenController::PlatformUserEntryData> mPlatformEntries;
  std::vector<InviteScreenController::LinkedUserEntryData> mLinkedEntries;
  std::shared_ptr<bool> mDataRequestExistenceTracker;
  int mSelectedXboxCount;
  int mSelectedPlatformCount;
  int mSelectedLinkedAccountCount;
  unsigned int mXboxOnlineOffset;
  unsigned int mPlatformOnlineOffset;
  unsigned int mLinkedAccountOnlineOffset;
  std::array<unsigned int,6> mEntryPages;
  bool mDirty;
  bool mInRealm;
  bool mIsRealmOwner;
  Realms::World mCurrentRealm;
  bool mDataRefresh;
  bool mIsLoadingFriends;
  int mNumFriendsToLoad;
  bool mShowLinkedAccounts;
  bool mShowPlatformInvites;
  bool mUsePagination;
  unsigned int mEntriesPerPage;
};

# InviteScreenController_vtbl

struct /*VFT*/ InviteScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
};

# IPJoinScreenController::IPJoinData

const struct __cppobj __declspec(align(8)) IPJoinScreenController::IPJoinData
{
  std::string ip;
  int port;
};

# IPJoinScreenController

struct __cppobj IPJoinScreenController : MinecraftScreenController
{
  IPJoinScreenController::IPJoinData mJoinData;
  Inputs mValidInputs;
  Inputs mHoveredInputs;
  std::function<enum IPJoinScreenController::JoinRequest __cdecl(IPJoinScreenController::IPJoinData const &)> mOnIPJoin;
  std::string mHeaderText;
};

# IPJoinScreenController_vtbl

struct /*VFT*/ IPJoinScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
};

# IPJoinScreenController::<lambda_e997791481f6da67ee26ca9f031dcf23>

struct __cppobj IPJoinScreenController::<lambda_e997791481f6da67ee26ca9f031dcf23>
{
};

# ItemDetailDescriptionScreenController

struct __cppobj ItemDetailDescriptionScreenController : MainMenuScreenController
{
  const StoreCatalogItem *mCatalogItem;
  const std::string mPackContentDescription;
};

# ItemDetailDescriptionScreenController_vtbl

struct /*VFT*/ ItemDetailDescriptionScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
};

# InviteScreenController::_refreshLinkedPlatformData::__l2::<lambda_af26a0df558fbecdb3d5bef7b85c25d9>::()::__l15::<lambda_8c873d13903180a09a655faa338f32f4>::()::__l5::<lambda_a9d6517f3bcd4293a922cc8a5bccd578>

struct __cppobj InviteScreenController::_refreshLinkedPlatformData::__l2::<lambda_af26a0df558fbecdb3d5bef7b85c25d9>::()::__l15::<lambda_8c873d13903180a09a655faa338f32f4>::()::__l5::<lambda_a9d6517f3bcd4293a922cc8a5bccd578>
{
  const InviteScreenController::XboxLiveUserEntryData xboxEntry;
  std::shared_ptr<InviteScreenController> sharedThis;
};

# IPJoinScreenController::_registerEventHandlers::__l2::<lambda_e056cbadf0a7035ff2af55f2a256273d>::()::__l2::<lambda_753e265a2178bee3be304683fa33ffb1>

struct __cppobj __declspec(align(8)) IPJoinScreenController::_registerEventHandlers::__l2::<lambda_e056cbadf0a7035ff2af55f2a256273d>::()::__l2::<lambda_753e265a2178bee3be304683fa33ffb1>
{
  IPJoinScreenController *const __this;
  Inputs inputType;
};

# IPJoinScreenController::_registerEventHandlers::__l2::<lambda_e056cbadf0a7035ff2af55f2a256273d>::()::__l2::<lambda_3621b729e2de52aecf3a805f7f5812f2>

struct __cppobj __declspec(align(8)) IPJoinScreenController::_registerEventHandlers::__l2::<lambda_e056cbadf0a7035ff2af55f2a256273d>::()::__l2::<lambda_3621b729e2de52aecf3a805f7f5812f2>
{
  IPJoinScreenController *const __this;
  Inputs inputType;
};

# IPJoinScreenController::_registerEventHandlers::__l2::<lambda_72f6d7df9a2cea599c3419575692284c>

struct __cppobj IPJoinScreenController::_registerEventHandlers::__l2::<lambda_72f6d7df9a2cea599c3419575692284c>
{
  IPJoinScreenController *const __this;
};

# IPJoinScreenController::_registerEventHandlers::__l2::<lambda_02acb9ccdd3a0b82a40fc85c27133236>

struct __cppobj IPJoinScreenController::_registerEventHandlers::__l2::<lambda_02acb9ccdd3a0b82a40fc85c27133236>
{
  IPJoinScreenController *const __this;
};

# IPJoinScreenController::_registerEventHandlers::__l2::<lambda_4632d9087c9dcf83f6d687dcb1bbd5f8>

struct __cppobj IPJoinScreenController::_registerEventHandlers::__l2::<lambda_4632d9087c9dcf83f6d687dcb1bbd5f8>
{
  IPJoinScreenController *const __this;
};

# IPJoinScreenController::_registerBindings::__l2::<lambda_eaed3fbc76258087cb536d3dbee3b7dc>

const struct __cppobj IPJoinScreenController::_registerBindings::__l2::<lambda_eaed3fbc76258087cb536d3dbee3b7dc>
{
  IPJoinScreenController *const __this;
};

# IPJoinScreenController::_registerBindings::__l2::<lambda_735d7bfb3f38db289a48ef3492f5a0fd>

struct __cppobj IPJoinScreenController::_registerBindings::__l2::<lambda_735d7bfb3f38db289a48ef3492f5a0fd>
{
  const IPJoinScreenController::_registerBindings::__l2::<lambda_eaed3fbc76258087cb536d3dbee3b7dc> playButtonEnabled;
};

# IPJoinScreenController::_registerBindings::__l2::<lambda_056c1c5f7b9175bbb500ba578d6fe78e>

struct __cppobj IPJoinScreenController::_registerBindings::__l2::<lambda_056c1c5f7b9175bbb500ba578d6fe78e>
{
  IPJoinScreenController *const __this;
};

# IPJoinScreenController::_registerBindings::__l2::<lambda_f3345f5be781d2b7103700d9c39dabbd>::()::__l2::<lambda_7c30e34927cf85b61673f647559d5dbc>

struct __cppobj __declspec(align(8)) IPJoinScreenController::_registerBindings::__l2::<lambda_f3345f5be781d2b7103700d9c39dabbd>::()::__l2::<lambda_7c30e34927cf85b61673f647559d5dbc>
{
  IPJoinScreenController *const __this;
  Inputs input;
};

# IPJoinScreenController::_registerBindings::__l2::<lambda_238f7466e6ae9d57d30431c51a246559>

struct __cppobj IPJoinScreenController::_registerBindings::__l2::<lambda_238f7466e6ae9d57d30431c51a246559>
{
  IPJoinScreenController *const __this;
};

# IPJoinScreenController::_registerBindings::__l2::<lambda_91b241924ca863e5c3112a62f4d6fa8f>

struct __cppobj IPJoinScreenController::_registerBindings::__l2::<lambda_91b241924ca863e5c3112a62f4d6fa8f>
{
  IPJoinScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_574444604fc070756b19e93b3b6108e8>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_574444604fc070756b19e93b3b6108e8>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_4ce90b8f67983d6866d38a1b611774b1>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_4ce90b8f67983d6866d38a1b611774b1>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_3f272e17373b27b2b7eec44e45f31a30>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_3f272e17373b27b2b7eec44e45f31a30>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_2d206308d2da51af0bf7aec1567b5f2b>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_2d206308d2da51af0bf7aec1567b5f2b>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_d0488aed550d2c639dc79d9d4a76fd4e>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_d0488aed550d2c639dc79d9d4a76fd4e>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_bf308a9eff653ed32d09e1db4441813e>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_bf308a9eff653ed32d09e1db4441813e>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_1f858b89ce5f77b08962e7e66745be8f>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_1f858b89ce5f77b08962e7e66745be8f>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_0376a4cdccfa1fd2a078715c8119a0fa>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_0376a4cdccfa1fd2a078715c8119a0fa>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_2e786620443c39abd3a5527277144211>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_2e786620443c39abd3a5527277144211>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_735bfde054051aae41df64ee7e108713>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_735bfde054051aae41df64ee7e108713>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_b024d0bfb6b76c75635700c6e4d17a34>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_b024d0bfb6b76c75635700c6e4d17a34>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_f82b886a3f06a4b46e910a54436cd190>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_f82b886a3f06a4b46e910a54436cd190>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_52e3c8fb187483190a5588f4c1c79828>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_52e3c8fb187483190a5588f4c1c79828>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_858337e6b79feac9b0c3909b55d78ed9>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_858337e6b79feac9b0c3909b55d78ed9>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_3718a3023b4489b02f829d92fda5b0c3>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_3718a3023b4489b02f829d92fda5b0c3>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_4336ca9c158991ea05fbfad1e3cd5e8e>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_4336ca9c158991ea05fbfad1e3cd5e8e>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_1038725c8dac7e294ff25d261fc77536>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_1038725c8dac7e294ff25d261fc77536>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_787b2f5c9d801aae18c869cc8b4a3da9>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_787b2f5c9d801aae18c869cc8b4a3da9>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_df46a9ebf97a09738020bcf71c17d758>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_df46a9ebf97a09738020bcf71c17d758>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_cfab5a7f3f60f6b20755d3a9a2508d7d>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_cfab5a7f3f60f6b20755d3a9a2508d7d>
{
};

# InviteScreenController::_registerBindings::__l2::<lambda_5af9615480a3397e352ecc48f4bfb939>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_5af9615480a3397e352ecc48f4bfb939>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_747f100d2ef9b3fa69738a45cdbbd190>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_747f100d2ef9b3fa69738a45cdbbd190>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_f9c728d1604b0cc4488502b5d98adc08>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_f9c728d1604b0cc4488502b5d98adc08>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_abeb36d3502c0aa0fcf96f955c14c85e>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_abeb36d3502c0aa0fcf96f955c14c85e>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_13449f6a9b013b3f09736d5d6a25143f>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_13449f6a9b013b3f09736d5d6a25143f>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_518846120df690e15f02be909460d196>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_518846120df690e15f02be909460d196>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_4dfec52463a3295f5e4b938fe4f9f1f1>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_4dfec52463a3295f5e4b938fe4f9f1f1>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_9e69784c22505d26b9722ae91af670fb>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_9e69784c22505d26b9722ae91af670fb>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_22b498dd6be2f211f4770d4157d99ea1>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_22b498dd6be2f211f4770d4157d99ea1>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_86ce83655fa71073dfd638c9ea3372b9>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_86ce83655fa71073dfd638c9ea3372b9>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_f85876dbceaf888607103a53e0c4feee>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_f85876dbceaf888607103a53e0c4feee>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_b6921a91ce598ca29dca5b873618ea18>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_b6921a91ce598ca29dca5b873618ea18>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_cefa0948535f6cb941923bf76c56f46e>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_cefa0948535f6cb941923bf76c56f46e>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_78985fc24ef53d94412cc74ab88dd352>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_78985fc24ef53d94412cc74ab88dd352>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_8f396abfe108e11f3cd8fe1234c96e30>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_8f396abfe108e11f3cd8fe1234c96e30>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_08476e6ee60a2cae381f0670ff54e8d5>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_08476e6ee60a2cae381f0670ff54e8d5>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_dd8ac7c95c39bc4efb4d862fb1b92afe>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_dd8ac7c95c39bc4efb4d862fb1b92afe>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_0ffc9b6d216a2812fb4a49239f48f65e>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_0ffc9b6d216a2812fb4a49239f48f65e>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_431c187352dbca334d08eafc82cde285>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_431c187352dbca334d08eafc82cde285>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_9d8ba1d0c46e044992fafc84b1b8f70b>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_9d8ba1d0c46e044992fafc84b1b8f70b>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_1dc38260c3044775723ba95e9860c95c>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_1dc38260c3044775723ba95e9860c95c>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_97513f98fa28127857a052fd005aa09a>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_97513f98fa28127857a052fd005aa09a>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_f48b7e166ff76a1ea43e4be153921adb>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_f48b7e166ff76a1ea43e4be153921adb>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_18fed13be6d2f56b337c2ff7d57d0813>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_18fed13be6d2f56b337c2ff7d57d0813>
{
};

# InviteScreenController::_registerBindings::__l2::<lambda_1434e95f3bd79ba62ec7e77877a46e13>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_1434e95f3bd79ba62ec7e77877a46e13>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_e483171c26c3125bf9d3079e5ea8b3e6>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_e483171c26c3125bf9d3079e5ea8b3e6>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_ab4c389f649d6d3e2e6a16b2d79fb3e5>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_ab4c389f649d6d3e2e6a16b2d79fb3e5>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_f8982440d88057dda4099aed6383bfda>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_f8982440d88057dda4099aed6383bfda>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_c4ebebff5c01e40f0eb87b92e5ffdd8c>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_c4ebebff5c01e40f0eb87b92e5ffdd8c>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_4dad1d13e95bddd587af9b37252d8447>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_4dad1d13e95bddd587af9b37252d8447>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_fe271ab51e89a3473e707a6c9ddd5666>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_fe271ab51e89a3473e707a6c9ddd5666>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_e6728e68d9ccaebbd04c36cdfbc487ec>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_e6728e68d9ccaebbd04c36cdfbc487ec>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_aaee3294cf0ec4dc8d0a063f71e2b3f9>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_aaee3294cf0ec4dc8d0a063f71e2b3f9>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_fcc00290f3c9e07eb81c80001a288beb>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_fcc00290f3c9e07eb81c80001a288beb>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_8413c5214c394909b6c79413a38d4ffc>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_8413c5214c394909b6c79413a38d4ffc>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_c16a6acf6b96ba42217ad5bb60db50a5>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_c16a6acf6b96ba42217ad5bb60db50a5>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_4eb6ffef5289414dab75828cdb1918a1>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_4eb6ffef5289414dab75828cdb1918a1>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_b0138546cdc644d655ce49a4e70bae74>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_b0138546cdc644d655ce49a4e70bae74>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_59bbab532ce5e7677d00dd08a074e454>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_59bbab532ce5e7677d00dd08a074e454>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_6eb08204f28711b48831e785f32aaa76>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_6eb08204f28711b48831e785f32aaa76>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_05a588699e970576abcdb1da270539e2>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_05a588699e970576abcdb1da270539e2>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_755e0a958d6fb5d28dadf9ec6821b5af>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_755e0a958d6fb5d28dadf9ec6821b5af>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_e504e4e2855c9100b5575145a2a21df0>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_e504e4e2855c9100b5575145a2a21df0>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_bf5ceabd0c159133c97cbaeec158e95e>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_bf5ceabd0c159133c97cbaeec158e95e>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_034cca24cf614ce9fd7290978d50bdbc>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_034cca24cf614ce9fd7290978d50bdbc>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_674ed086d8421c0957e9ff1faba213b0>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_674ed086d8421c0957e9ff1faba213b0>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_fdcc4155fd4256e2a78a240a85148e47>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_fdcc4155fd4256e2a78a240a85148e47>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_b7d81c3b3400051f81eda55b1f9cc392>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_b7d81c3b3400051f81eda55b1f9cc392>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_b49342047208ea0d209183da8b925db3>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_b49342047208ea0d209183da8b925db3>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_c77560f98312abaf0214a7a208b26cee>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_c77560f98312abaf0214a7a208b26cee>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_98fb1dc4acf41cdfb4d79eade13bb2f5>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_98fb1dc4acf41cdfb4d79eade13bb2f5>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_16d32a0e1ecda211d970b8f207b13afa>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_16d32a0e1ecda211d970b8f207b13afa>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_8e8a8ac33e292a1173af12ec9f8771e1>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_8e8a8ac33e292a1173af12ec9f8771e1>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_6858ec281041cb9875e98b3fc1506588>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_6858ec281041cb9875e98b3fc1506588>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_f24f080ddec07ee510c45e8e35b1585b>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_f24f080ddec07ee510c45e8e35b1585b>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_4ee9a1114a06d64a1673703fd4044f1e>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_4ee9a1114a06d64a1673703fd4044f1e>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_dd920766b44eab1d3628726c689efe91>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_dd920766b44eab1d3628726c689efe91>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerBindings::__l2::<lambda_73a5d55e2405c66bb1a6dfe35ef4b795>

struct __cppobj InviteScreenController::_registerBindings::__l2::<lambda_73a5d55e2405c66bb1a6dfe35ef4b795>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_addToDataList::__l2::<lambda_b35714ea14391f9e8c76d0ea59aa5c06>

struct __cppobj InviteScreenController::_addToDataList::__l2::<lambda_b35714ea14391f9e8c76d0ea59aa5c06>
{
  std::string id;
  std::weak_ptr<InviteScreenController> weakThis;
};

# InviteScreenController::_refreshLinkedPlatformData::__l2::<lambda_af26a0df558fbecdb3d5bef7b85c25d9>

struct __cppobj InviteScreenController::_refreshLinkedPlatformData::__l2::<lambda_af26a0df558fbecdb3d5bef7b85c25d9>
{
  std::weak_ptr<InviteScreenController> weakThis;
  std::weak_ptr<bool> weakDataRequestExistenceTracker;
};

# InviteScreenController::_refreshLinkedPlatformData::__l2::<lambda_af26a0df558fbecdb3d5bef7b85c25d9>::()::__l15::<lambda_8c873d13903180a09a655faa338f32f4>

struct __cppobj InviteScreenController::_refreshLinkedPlatformData::__l2::<lambda_af26a0df558fbecdb3d5bef7b85c25d9>::()::__l15::<lambda_8c873d13903180a09a655faa338f32f4>
{
  const InviteScreenController::XboxLiveUserEntryData xboxEntry;
  std::weak_ptr<InviteScreenController> weakThis;
  std::weak_ptr<bool> weakDataRequestExistenceTracker;
};

# InviteScreenController::_refreshLinkedPlatformData::__l2::<lambda_af26a0df558fbecdb3d5bef7b85c25d9>::()::__l15::<lambda_8c873d13903180a09a655faa338f32f4>::()::__l5::<lambda_383875b6ef6feb4d18cffd603e6b17b1>

struct __cppobj InviteScreenController::_refreshLinkedPlatformData::__l2::<lambda_af26a0df558fbecdb3d5bef7b85c25d9>::()::__l15::<lambda_8c873d13903180a09a655faa338f32f4>::()::__l5::<lambda_383875b6ef6feb4d18cffd603e6b17b1>
{
  std::string uuid;
  std::weak_ptr<InviteScreenController> weakThis;
  std::weak_ptr<bool> weakDataRequestExistenceTracker;
};

# InviteScreenController::_refreshXuidData::__l2::<lambda_e107116a7ff714c21fe61f2a8d4849ce>

struct __cppobj InviteScreenController::_refreshXuidData::__l2::<lambda_e107116a7ff714c21fe61f2a8d4849ce>
{
  std::weak_ptr<InviteScreenController> weakThis;
  std::weak_ptr<bool> weakDataRequestExistenceTracker;
};

# InviteScreenController::_refreshRealm::__l2::<lambda_26e67b6fccaca00419ea3a405de426b4>

struct __cppobj InviteScreenController::_refreshRealm::__l2::<lambda_26e67b6fccaca00419ea3a405de426b4>
{
  std::weak_ptr<InviteScreenController> weakThis;
};

# InviteScreenController::_refreshPlatformFriendsData::__l2::<lambda_d66ee283803425796289b31626eb2d2d>

struct __cppobj InviteScreenController::_refreshPlatformFriendsData::__l2::<lambda_d66ee283803425796289b31626eb2d2d>
{
  std::weak_ptr<InviteScreenController> weakThis;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_cbb79b4828596cd1114c5ac9e21eacd1>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_cbb79b4828596cd1114c5ac9e21eacd1>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_84aefefa31ed406451fa30163f83abd3>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_84aefefa31ed406451fa30163f83abd3>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_10dbb5b940d0b361ab5d165507dbf68b>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_10dbb5b940d0b361ab5d165507dbf68b>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_47a4b0140d4043cbb3df6c50867ed27e>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_47a4b0140d4043cbb3df6c50867ed27e>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_ac32be4b6ba3c1c1fcd0ee6ed356ccba>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_ac32be4b6ba3c1c1fcd0ee6ed356ccba>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_bd8ec3c39e323de1cfe80eebb799c6b3>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_bd8ec3c39e323de1cfe80eebb799c6b3>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_b8d210bc1b0a1770a20a1f3841eef4b3>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_b8d210bc1b0a1770a20a1f3841eef4b3>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_2e247eeb34b51f522d5d0bd999ea202a>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_2e247eeb34b51f522d5d0bd999ea202a>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_19cba5d94d91ae2dfaed612bc192025a>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_19cba5d94d91ae2dfaed612bc192025a>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_749cd2f79d65b05653efadbc4612ec0b>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_749cd2f79d65b05653efadbc4612ec0b>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_749cd2f79d65b05653efadbc4612ec0b>::()::__l2::<lambda_cdfbeeada6f2a525778f047c155a5056>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_749cd2f79d65b05653efadbc4612ec0b>::()::__l2::<lambda_cdfbeeada6f2a525778f047c155a5056>
{
  std::weak_ptr<InviteScreenController> weakThis;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_7b106c590deceba414deda7b48d3974e>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_7b106c590deceba414deda7b48d3974e>
{
  InviteScreenController *const __this;
};

# InviteScreenController::_registerEventHandlers::__l2::<lambda_9ea15d8c1cacd501c6205374c924b91b>

struct __cppobj InviteScreenController::_registerEventHandlers::__l2::<lambda_9ea15d8c1cacd501c6205374c924b91b>
{
  InviteScreenController *const __this;
};