WinUI COM 互操作
若要使用适用于 WinUI 的 COM 互操作 API 进行开发,需要以下标头:
- microsoft.ui.xaml.hosting.desktopwindowxamlsource.h
- microsoft.ui.xaml.hosting.referencetracker.h
- microsoft.ui.xaml.media.dxinterop.h
- microsoft.ui.xaml.window.h
- xamlom.winui.h
有关此技术的编程指南,请参阅 WinUI 3。
枚举
XAML_REFERENCETRACKER_DISCONNECT |
函数
AddMemoryPressure 通知主机自上次通知以来增加的内存分配。 |
AddRefFromReferenceTracker 指示引用跟踪器从先前调用 FindTrackerTargets 返回目标 XAML 对象 () 。 |
AddRefFromTrackerSource 指示每次跟踪器源在引用跟踪器上调用 IUnknown::AddRef 时, (AddRef) 后调用。 |
BeginDraw |
BeginDraw |
ConnectFromTrackerSource 指示引用跟踪器源已在引用跟踪器对象上创建了其第一个 COM 引用。 |
CreateTrackerHandle |
DeleteTrackerHandle |
DisconnectFromTrackerSource 指示引用跟踪器源已停止跟踪引用跟踪器。 |
DisconnectUnusedReferenceSources 请求主机执行垃圾回收并删除所有不必要的引用源。 |
EndDraw |
EndDraw |
FindTrackerTargets 查找可从引用跟踪器源访问的引用跟踪器目标。 |
FindTrackerTargetsCompleted 指示垃圾回收系统已完成对 IReferenceTracker::FindTrackerTargets (的所有调用,XAML 已将它想要保护的所有引用跟踪器目标固定) 。 |
FlushAllSurfacesWithDevice |
FoundTrackerTarget 每当找到 XAML 对象引用跟踪器目标时调用。 |
get_WindowHandle 检索实现 IWindowNative 的对象所表示的窗口 (HWND) 窗口句柄。 |
GetReferenceTrackerManager 从 XAML 对象获取 IReferenceTrackerManager 接口。 |
GetTrackerTarget 请求主机提供引用跟踪器源的引用跟踪器目标。 然后,此跟踪器目标控制跟踪器源的生存期。 |
GetUiLayerForXamlRoot 获取可用于绘制以突出显示树中的元素的视觉对象诊断根。 |
GetUpdateRectCount |
GetUpdateRects |
GetVisibleBounds |
HitTestForXamlRoot 获取位于指定矩形内的可视化树中的所有元素。 |
Invalidate |
NotifyEndOfReferenceTrackingOnThread 通知主机引用跟踪在调用线程上不再可用;XAML 在 未初始化 FrameworkView 时调用此函数。 |
OnXamlRootChange 在添加或删除 XamlRoot 根时进行通信。 |
Peg 标记 XAML 框架正在使用引用跟踪器目标,不应收集。 |
PegFromTrackerSource 指示跟踪器源无法保护引用跟踪器对象。 |
ReferenceTrackingCompleted 指示垃圾回收系统已完成其回收过程 (,此时 XAML 会取消阻止尝试) 更新跟踪引用的线程。 |
ReferenceTrackingStarted 指示垃圾回收器正在执行回收。 |
RegisterForUpdatesNeeded |
ReleaseDisconnectedReferenceSources 请求主机对任何已由引用源断开连接的引用跟踪器对象调用 IUnknown::Release 。 |
ReleaseFromReferenceTracker 释放上一次调用 AddRefFromReferenceTracker 中标记的 XAML 对象引用。 |
ReleaseFromTrackerSource 指示每次跟踪器源在引用跟踪器上调用 IUnknown::Release 时,必须在 发布 调用) 之前调用 (。 |
RemoveMemoryPressure 通知主机自上次通知以来减少的内存分配。 |
调整大小 |
ResumeDraw |
SetDevice |
SetDevice |
SetReferenceTrackerHost 向 XAML 注册 IReferenceTrackerHost 接口。 |
SetSwapChain |
SetSwapChain |
SetSwapChainHandle |
SetTrackerValue |
SuspendDraw |
TryGetSafeTrackerValue |
Unpeg 标记 XAML 框架不再使用引用跟踪器目标,并且可以收集。 |
UpdatesNeeded |
接口
IFindReferenceTargetsCallback 定义来自 FindTrackerTargets 的回调的接口。 |
IReferenceTracker 定义由 XAML 框架实现的接口,用于管理 XAML 对象引用。 |
IReferenceTrackerExtension |
IReferenceTrackerHost 定义一个接口,该接口提供 XAML 框架使用的垃圾回收 (GC) 系统使用的全局服务。 |
IReferenceTrackerManager 定义 XAML 对象引用管理器的接口。 实现此接口以管理 XAML 对象上的 IReferenceTracker 实例。 |
IReferenceTrackerTarget 定义由从 XAML 引用的垃圾回收器对象实现的接口。 |
ISurfaceImageSourceManagerNative |
ISurfaceImageSourceNative |
ISurfaceImageSourceNativeWithD2D |
ISwapChainBackgroundPanelNative |
ISwapChainPanelNative |
ISwapChainPanelNative2 |
ITrackerOwner |
IVirtualSurfaceImageSourceNative |
IVirtualSurfaceUpdatesCallbackNative |
IVisualTreeServiceCallback3 表示 IVisualTreeServiceCallback2 对象的其他功能。 |
IWindowNative 启用 XAML 与本机窗口之间的互操作性。 |
IXamlDiagnostics2 表示 IXamlDiagnostics 对象的其他功能。 |
结构
TrackerHandle__ |