winrt 命名空间 (C++/WinRT)
winrt 命名空间提供属于 C++/WinRT 的自定义数据类型,这是适用于 Windows 运行时 (WinRT) API 的标准新式 C++17 语言投影。 这些自定义类型提供与标准类型的适当转换,以便你大部分时间都可以继续使用你习惯使用的标准 C++ 语言功能和已有的源代码。
winrt 命名空间中还提供了用于创建运行时类实例、装箱和取消装箱等 (函数,) 、智能指针和其他因素。
winrt 命名空间中的类型
类型 | 说明 |
---|---|
agile_ref 结构模板 | 表示对 C++/WinRT 对象或接口的敏捷引用的类型。 |
apartment_context 结构 | 捕获协同例程中的线程上下文,以便以后可以还原它。 |
array_view 结构模板 | 连续一系列值的视图或范围。 |
auto_revoke_t 标记结构 | 一种标记类型,用于在注册委托以处理事件时请求事件撤销程序。 |
隐藏标记结构模板 | 用于指示不应由 IInspectable::GetIids 报告实现的接口的标记类型 |
clock 结构 | 一种类型,它包含静态帮助程序函数,用于将 Windows::Foundation::D ateTime ((即 std::chrono::time_point) 与 winrt::file_time 以及从 winrt::file_time 转换到 和转换time_t)。 |
com_array 结构模板 | 用于传入和传递Windows 运行时 API 的连续系列值的视图或范围。 |
com_ptr 结构模板 | 引用计数的 COM 智能指针模板。 |
可组合标记结构 | 用于指示类型可以是可组合类的内部类的标记类型。 |
撰写标记结构 | 用于指示类型是可组合类的外部类的标记类型。 |
deferrable_event_args | 一种可用于实现 (生成) 可延迟事件模式的类型。 |
delegate 结构模板 | 一种类型,可用于为你自己的事件声明自定义委托类型。 |
event 结构模板 | 可用于声明和实现指定委托类型的事件的类型。 |
event_revoker 结构模板 | 注册委托时,可以请求事件撤销程序,该撤销程序可用于自动或手动撤销委托。 |
event_token 结构 | 向事件注册事件处理委托时返回的令牌;可用于撤销同一委托的注册。 |
file_handle 结构 | 表示 Windows 文件句柄对象。 |
fire_and_forget 结构 | 使用此返回类型使协同例程成为即发即弃。 |
guid 结构 | 表示 GUID) (全局唯一标识符。 |
handle 结构 | 表示 Windows 句柄对象。 |
handle_type 结构模板 | winrt::handle 和 winrt::file_handle 结构的模板。 |
hstring 结构 | 表示文本字符串的 UTF-16 Unicode 字符的顺序集合。 |
hresult_access_denied 结构 | 派生自 winrt::hresult_error 的类型,表示E_ACCESSDENIED HRESULT 错误代码。 |
hresult_canceled 结构 | 派生自 winrt::hresult_error 的类型,表示ERROR_CANCELLED HRESULT 错误代码。 |
hresult_changed_state 结构 | 派生自 winrt::hresult_error 的类型,表示E_CHANGED_STATE HRESULT 错误代码。 |
hresult_class_not_available 结构 | 派生自 winrt::hresult_error 的类型,表示CLASS_E_CLASSNOTAVAILABLE HRESULT 错误代码。 |
hresult_error 结构 | 表示 HRESULT 错误代码的类型。 |
hresult_illegal_delegate_assignment 结构 | 派生自 winrt::hresult_error 的类型,表示E_ILLEGAL_DELEGATE_ASSIGNMENT HRESULT 错误代码。 |
hresult_illegal_method_call 结构 | 派生自 winrt::hresult_error 的类型,表示E_ILLEGAL_METHOD_CALL HRESULT 错误代码。 |
hresult_illegal_state_change 结构 | 派生自 winrt::hresult_error 的类型,表示E_ILLEGAL_STATE_CHANGE HRESULT 错误代码。 |
hresult_invalid_argument 结构 | 派生自 winrt::hresult_error 的类型,表示E_INVALIDARG HRESULT 错误代码。 |
hresult_no_interface 结构 | 派生自 winrt::hresult_error 的类型,表示E_NOINTERFACE HRESULT 错误代码。 |
hresult_not_implemented 结构 | 派生自 winrt::hresult_error 的类型,表示E_NOTIMPL HRESULT 错误代码。 |
hresult_out_of_bounds 结构 | 派生自 winrt::hresult_error 的类型,表示E_BOUNDS HRESULT 错误代码。 |
hresult_wrong_thread 结构 | 派生自 winrt::hresult_error 的类型,表示RPC_E_WRONG_THREAD HRESULT 错误代码。 |
实现结构模板 | 代表派生类型实现一个或多个Windows 运行时接口的基本结构模板。 |
map_base 结构模板 | 一个基类,供你从中派生,表示不可观察的关联集合。 |
map_view_base 结构模板 | 派生自 的基类,表示关联集合中连续元素序列的视图。 |
no_module_lock标记结构 | 用于指示类型的实例不计入模块对象计数的标记类型。 |
no_weak_ref 标记结构 | 用于选择退出弱引用支持的标记类型。 |
non_agile 标记结构 | 标记类型,用于指示类型不是敏捷的,因此不实现 IAgileObject 接口。 |
observable_map_base 结构模板 | 派生自 的基类,表示可观测的关联集合。 |
observable_vector_base 结构模板 | 一个基类,供你从中派生,表示可观测向量。 |
static_lifetime 标记结构 | 用于将激活工厂选择为静态生存期的标记类型。 |
vector_base 结构模板 | 一个基类,供你从中派生,它表示一个不可观察的常规用途集合,称为向量。 |
vector_view_base 结构模板 | 一个基类,可从中派生,以实现自己的常规用途集合中元素序列的自定义视图或范围。 |
weak_ref 结构模板 | 表示对 C++/WinRT 对象或接口的弱引用的类型。 |
Windows::Foundation::IUnknown 结构 | 每个 C++/WinRT 运行时类 (windows 或第三方运行时类) 派生自 winrt::Windows::Foundation::IUnknown。 |
winrt 命名空间中的函数
函数 | 说明 |
---|---|
attach_abi 函数 | 将 C++/WinRT 对象附加到句柄或原始指针的帮助器函数,该指针拥有对其目标的引用。 |
box_value 函数模板 | 一个函数模板,用于将 (或 框 包装) 引用类对象中的标量或数组值,以便可以将其传递给需要 IInspectable 的函数。 |
capture 函数模板 | 一个函数模板,用于调用指定的函数或方法,捕获生成的接口指针,并将其作为 winrt::com_ptr返回。 |
check_bool 函数模板 | 一个帮助器函数,用于检查值是否为 false,如果是,则检索调用线程的最后错误代码值,并使用表示该错误代码的 C++/WinRT 对象引发异常。 |
check_hresult 函数 | 一个帮助程序函数,用于检查 HRESULT 代码是否表示错误,如果是,则使用表示错误代码的 C++/WinRT 对象引发异常。 |
check_nt 函数模板 | 一个帮助器函数,用于检查代码是否表示错误,如果是,请将错误代码的 NT 状态值映射到 HRESULT 值,并使用表示错误代码的 C++/WinRT 对象引发异常。 |
check_pointer 函数模板 | 一个帮助器函数,用于检查指针是否为 null,如果是,则检索调用线程的最后错误代码值,并使用表示该错误代码的 C++/WinRT 对象引发异常。 |
check_win32 函数模板 | 一个帮助器函数,用于检查代码是否表示错误,如果是,则将值的系统错误代码映射到 HRESULT 值,并使用表示错误代码的 C++/WinRT 对象引发异常。 |
copy_from_abi 函数 | 一个帮助器函数,用于从句柄或原始指针复制到 C++/WinRT 对象。 |
copy_to_abi 函数 | 一个帮助器函数,用于从 C++/WinRT 对象复制到句柄或指针。 |
create_instance 函数模板 | 一个函数模板,用于创建与指定 CLSID 关联的类的单个未初始化对象,并将其作为 winrt::com_ptr 返回,如果未成功,则引发。 |
detach_abi 函数 | 一个帮助器函数,用于将 C++/WinRT 对象与其引用的句柄或引用的接口分离。 |
from_abi 函数模板 | 给定投影类型的对象时,帮助器函数检索指向实现的指针。 |
get_abi 函数 | 一个帮助器函数,用于检索指向 C++/WinRT 对象的基础 IUnknown 接口的指针。 |
get_activation_factory 函数模板 | 一个帮助程序函数,用于检索指定Windows 运行时类类型的激活工厂。 |
get_cancellation_token 函数 | 在协同例程中,使用 winrt::get_cancellation_token 返回的对象轮询取消或响应取消。 |
get_class_name 函数 | 一个帮助程序函数,用于检索包含指定Windows 运行时类的完全限定类型名称的字符串。 |
get_interfaces 函数 | 一个帮助器函数,用于检索包含由 C++/WinRT 对象实现的接口标识符的数组。 |
get_progress_token 函数 | 在协同例程中,使用 winrt::get_progress_token 返回的对象将进度报告回进度处理程序。 |
get_self 函数模板 | 给定投影类型的对象时,帮助器函数检索指向实现的指针。 |
get_trust_level 函数 | 一个帮助器函数,用于检索 C++/WinRT 对象的信任级别。 |
get_unknown 函数 | 一个帮助器函数,返回投影类型对象的基础原始 IUnknown 接口 的地址。 |
guid_of 函数模板 | 一个帮助程序函数模板,用于检索运行时类、coclass 或接口的 GUID。 |
is_guid_of 函数模板 | 一个帮助程序函数模板,用于确定提供的 GUID 是否是指定的运行时类、共同类或接口之一。 |
make 函数模板 | 一种工厂方法,当使用相应的实现类型进行参数化时返回投影类型或接口的实例。 |
make_agile 函数模板 | 返回 agile_ref 对象的帮助程序函数,表示对 C++/WinRT 对象或接口的敏捷引用。 |
make_self 函数模板 | 一种工厂方法,该方法将 com_ptr 返回到运行时类的实现类型的实例。 |
make_weak 函数模板 | 返回 weak_ref 对象的帮助程序函数,表示对 C++/WinRT 对象或接口的弱引用。 |
name_of 函数模板 | 一个帮助程序函数,用于检索包含特定Windows 运行时类的完全限定类型名称的字符串视图。 |
put_abi 函数 | 一个帮助程序函数,用于检索 C++/WinRT 对象的基础 IUnknown 接口指针的地址,以便可以将其设置为另一个值。 |
resume_after 函数 | 一个帮助程序函数,它向调用方返回控制权,然后在延迟后在线程池线程上恢复执行。 |
resume_background 函数 | 一个帮助程序函数,它向调用方返回控制权,并恢复在线程池线程上的执行。 |
resume_foreground 函数 | 一个帮助程序函数(用于协同例程内),可将 co_await 执行切换到特定前台线程。 |
resume_on_signal | 一个函数,可用于挂起,直到发出内核事件信号。 |
single_threaded_map 函数模板 | 一个函数模板,用于创建并返回类型的对象,该对象实现不可观测的关联集合 (映射) 。 对象作为 IMap 返回。 |
single_threaded_observable_map 函数模板 | 一个函数模板,用于创建并返回类型的对象,该对象实现可观测关联集合 (映射) 。 对象作为 IObservableMap 返回。 |
single_threaded_observable_vector 函数模板 | 一个函数模板,用于创建并返回实现可观测集合的类型的对象。 对象作为 IObservableVector 返回。 |
single_threaded_vector 函数模板 | 一个函数模板,用于创建并返回实现常规用途集合的类型的对象。 对象作为 IVector 返回。 |
swap 函数 | 一个帮助程序函数,用于交换两个值的内容。 |
throw_hresult 函数 | 一个帮助程序函数,它采用 HRESULT 错误代码,并使用表示该错误代码的 C++/WinRT 对象引发异常。 |
throw_last_error 函数 | 一个帮助程序函数,用于检索调用线程的最后错误代码值,并使用表示该错误代码的 C++/WinRT 对象引发异常。 |
to_hresult 函数 | 一个帮助程序函数,用于 catch 块,它将引发的最后一个异常转换为 HRESULT 错误代码。 |
to_hstring 函数 | 一个帮助器函数,用于将输入值转换为包含值的字符串表示形式的 winrt::hstring 。 |
to_string 函数 | 一个帮助器函数,用于将输入宽字符串转换为包含 UTF-8 窄字符串 的 std::string 。 |
try_capture 函数模板 | 调用指定函数或方法的函数模板,捕获从函数或方法输出的接口指针,并在不成功的情况下将其返回为 winrt::com_ptr 或空 com_ptr 。 |
try_create_instance 函数模板 | 一个函数模板,用于创建与指定 CLSID 关联的类的单个未初始化对象,如果失败,则将其返回为 winrt::com_ptr 或空 com_ptr 。 |
try_get_activation_factory 函数模板 | 一个帮助程序函数,用于检索指定Windows 运行时类类型的激活工厂,如果未成功,则检索空com_ptr。 |
unbox_value 函数模板 | 从引用类对象内部) 标量或数组值,以便可以在需要 IInspectable 的函数中处理 (或取消装箱的函数模板。 |
unbox_value_or 函数模板 | 打开 (或 取消装箱 的函数模板) 引用类对象内部的标量值,并使用回退值,以便在需要 IInspectable 的函数中处理它。 |
xaml_typename 函数模板 | 一个帮助程序函数,以 Windows::UI::Xaml::Interop::TypeName 对象的形式返回Windows 运行时类型的类型名称。 |
扩展Windows 运行时 API 的 C++/WinRT 函数
某些Windows 运行时 API 的 C++/WinRT 投影类型上存在扩展函数。 例如, winrt::Windows::Foundation::IAsyncAction 是 IAsyncAction 的 C++/WinRT 投影类型。 扩展函数不是应用程序二进制接口的一部分, (ABI) 实际Windows 运行时类型的图面,因此它们不会列为Windows 运行时 API 的成员。 但可以从任何 C++/WinRT 项目中调用它们。
WinRT API | 函数 | 描述 |
---|---|---|
IAsyncAction | get、 wait_for | 请参阅 IAsyncAction C++/WinRT 扩展函数 |
IAsyncActionWithProgress | get、 wait_for | 请参阅 IAsyncActionWithProgress C++/WinRT 扩展函数 |
IAsyncOperation | get、 wait_for | 请参阅 IAsyncOperation C++/WinRT 扩展函数 |
IAsyncOperationWithProgress | get、 wait_for | 请参阅 IAsyncOperationWithProgress C++/WinRT 扩展函数 |
IBindableIterable | begin, end | 请参阅 IBindableIterable C++/WinRT 扩展函数 |
IBindableIterator | begin, end, operator++, operator++ (int) , operator* | 请参阅 IBindableIterator C++/WinRT 扩展函数 |
IBuffer | data | 请参阅 IBuffer C++/WinRT 扩展函数 |
IIterable | begin, end | 请参阅 IIterable C++/WinRT 扩展函数 |
IIterator | operator++, operator++ (int) , operator* | 请参阅 IIterator C++/WinRT 扩展函数 |
IKeyValuePair | operator== | 请参阅 IKeyValuePair C++/WinRT 扩展函数 |
Imap | begin、 end、 TryLookup、 TryRemove | 请参阅 IMap C++/WinRT 扩展函数 |
IMapView | begin、 end、 TryLookup | 请参阅 IMapView C++/WinRT 扩展函数 |
IMemoryBufferReference | data | 请参阅 IMemoryBufferReference C++/WinRT 扩展函数 |
IVector | begin, end | 请参阅 IVector C++/WinRT 扩展函数 |
IVectorView | begin, end | 请参阅 IVectorView C++/WinRT 扩展函数 |
其他函数
函数 | 说明 |
---|---|
GetRuntimeClassName 函数 | 成员函数 (生成的实现类型) ,该实现类型返回包含要实现的Windows 运行时类的完全限定类型名称的字符串。 |