Пространство имен winrt (C++/WinRT)
Пространство имен winrt предоставляет пользовательские типы данных, принадлежащие C++/WinRT — стандартной современной проекции языка C++17 для API среда выполнения Windows (WinRT). Эти пользовательские типы обеспечивают соответствующие преобразования в стандартные типы и из них, чтобы большую часть времени можно было продолжать использовать стандартные функции языка C++, которые вы привыкли использовать, и исходный код, который у вас уже есть.
Кроме того, в пространстве имен winrt представлены функции (для создания экземпляров класса среды выполнения, упаковка, распаковка и т. д.), интеллектуальные указатели и другие средства.
Типы в пространстве имен winrt
Тип | Описание |
---|---|
Шаблон структуры agile_ref | Тип, представляющий гибкую ссылку на объект или интерфейс C++/WinRT. |
Структура apartment_context | Записывает контекст потока в сопрограмме, чтобы его можно было восстановить позже. |
Шаблон структуры array_view | Представление или диапазон непрерывного ряда значений. |
Структура маркера auto_revoke_t | Тип маркера, используемый для запроса отмены события при регистрации делегата для обработки события. |
шаблон структуры cloaked marker struct | Тип маркера, используемый для указания того, что реализованный интерфейс не должен сообщаться IInspectable::GetIids |
Структура clock | Тип, содержащий статические вспомогательные функции для преобразования windows::Foundation::D ateTime (то есть std::chrono::time_point) в winrt::file_time и из time_t. |
Шаблон структуры com_array_view | Представление или диапазон смежных рядов значений для передачи в среда выполнения 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, представляющих текстовую строку. |
Структура 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. |
Шаблон структуры implements | Шаблон базовой структуры, реализующий один или несколько интерфейсов среда выполнения 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 | Вспомогающая функция, извлекающая указатель на базовый интерфейс IUnknown объекта C++/WinRT. |
Шаблон функции 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 | Шаблон вспомогательной функции, который извлекает 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 | Вспомогающая функция, извлекающая адрес базового указателя интерфейса IUnknown объекта C++/WinRT, чтобы для него можно было задать другое значение. |
Функция 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 | Вспомогающая функция, которая преобразует строку на ширину входных данных в строку std::string , содержащую узкую строку UTF-8. |
Шаблон функции 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 в виде объекта Windows::UI::Xaml::Interop::TypeName. |
Функции C++/WinRT, расширяющие среда выполнения Windows API
Функции расширения существуют в типах проекций C++/WinRT для определенных API среда выполнения Windows. Например, winrt::Windows::Foundation::IAsyncAction — это тип проекции C++/WinRT для IAsyncAction. Функции расширения не являются частью поверхности двоичного интерфейса приложения (ABI) фактических типов среда выполнения Windows, поэтому они не перечислены как члены СРЕДА ВЫПОЛНЕНИЯ WINDOWS API. Но их можно вызывать из любого проекта C++/WinRT.
Другие функции
Функция | Описание |
---|---|
Функция GetRuntimeClassName | Функция-член (созданного типа реализации), которая возвращает строку, содержащую полное имя типа реализуемого класса среда выполнения Windows. |