winrt 名前空間 (C++/WinRT)

winrt 名前空間は、C++/WinRT に属するカスタム データ型を提供します。これは、Windows ランタイム (WinRT) API 用の標準の最新の C++17 言語プロジェクションです。 これらのカスタム型は、標準型との間で適切な変換を提供するため、多くの場合、使用に慣れている標準の C++ 言語機能と、既に使用しているソース コードを引き続き使用できます。

また、winrt 名前空間には、関数 (ランタイム クラス インスタンスの作成、ボックス化やボックス化解除など)、スマート ポインター、その他の機能も用意されています。

winrt 名前空間の型

Type 説明
agile_ref 構造体テンプレート C++/WinRT オブジェクトまたはインターフェイスへのアジャイル参照を表す型。
apartment_context 構造体 後で復元できるように、コルーチン内のスレッド コンテキストをキャプチャします。
array_view 構造体テンプレート 連続する一連の値のビュー (スパン)。
auto_revoke_t marker 構造体 イベントを処理するデリゲートを登録するときにイベント 取り消し子を要求するために使用されるマーカーの種類。
クロークされたマーカー構造体テンプレート 実装されたインターフェイスを IInspectable::GetIids によって報告しないことを示すために使用されるマーカーの種類
clock 構造体 Windows::Foundation::D ateTime (つまり、std::chrono::time_point) を 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 構造体 E_ACCESSDENIED HRESULT エラー コードを表す winrt::hresult_error から派生した型。
hresult_canceled 構造体 ERROR_CANCELLED HRESULT エラー コードを表す winrt::hresult_error から派生した型。
hresult_changed_state 構造体 E_CHANGED_STATE HRESULT エラー コードを表す winrt::hresult_error から派生した型。
hresult_class_not_available 構造体 CLASS_E_CLASSNOTAVAILABLE HRESULT エラー コードを表す winrt::hresult_error から派生した型。
hresult_error 構造体 HRESULT エラー コードを表す型。
hresult_illegal_delegate_assignment 構造体 E_ILLEGAL_DELEGATE_ASSIGNMENT HRESULT エラー コードを表す winrt::hresult_error から派生した型。
hresult_illegal_method_call 構造体 E_ILLEGAL_METHOD_CALL HRESULT エラー コードを表す winrt::hresult_error から派生した型。
hresult_illegal_state_change 構造体 E_ILLEGAL_STATE_CHANGE HRESULT エラー コードを表す winrt::hresult_error から派生した型。
hresult_invalid_argument 構造体 E_INVALIDARG HRESULT エラー コードを表す winrt::hresult_error から派生した型。
hresult_no_interface 構造体 E_NOINTERFACE HRESULT エラー コードを表す winrt::hresult_error から派生した型。
hresult_not_implemented 構造体 E_NOTIMPL HRESULT エラー コードを表す winrt::hresult_error から派生した型。
hresult_out_of_bounds 構造体 E_BOUNDS HRESULT エラー コードを表す winrt::hresult_error から派生した型。
hresult_wrong_thread 構造体 RPC_E_WRONG_THREAD HRESULT エラー コードを表す winrt::hresult_error から派生した型。
implements 構造体テンプレート 派生型に代わって 1 つ以上の 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 に関連付けられた クラスの初期化されていないオブジェクトを 1 つ作成し、 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 関数テンプレート ランタイム クラス、コクラス、またはインターフェイスの GUID を取得するヘルパー関数テンプレート。
is_guid_of 関数テンプレート 指定された GUID が、指定されたランタイム クラス、コクラス、またはインターフェイスのいずれかであるかどうかを決定するヘルパー関数テンプレート。
make 関数テンプレート 対応する実装型でパラメーター化された場合に、投影型またはインターフェイスのインスタンスを返すファクトリ メソッド。
make_agile 関数テンプレート C++/WinRT オブジェクトまたはインターフェイスへのアジャイル参照を表す、 agile_ref オブジェクトを返すヘルパー関数。
make_self 関数テンプレート ランタイム クラスの実装型のインスタンスに com_ptr を返すファクトリ メソッド。
make_weak 関数テンプレート C++/WinRT オブジェクトまたはインターフェイスへの弱い参照を表す、 weak_ref オブジェクトを返すヘルパー関数。
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 関数 2 つの値の内容を入れ替えるヘルパー関数。
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 に関連付けられたクラスの初期化されていないオブジェクトを 1 つ作成し、成功しなかった場合は 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 プロジェクションの種類です。 拡張機能関数は、実際の Windows ランタイム型のアプリケーション バイナリ インターフェイス (ABI) サーフェスの一部ではありません。そのため、Windows ランタイム API のメンバーとして一覧表示されません。 ただし、任意の C++/WinRT プロジェクト内から呼び出すことができます。

WinRT API 関数 説明
IAsyncAction getwait_for 「IAsyncAction C++/WinRT 拡張機能関数」を参照してください。
IAsyncActionWithProgress getwait_for 「IAsyncActionWithProgress C++/WinRT 拡張関数」を参照してください。
IAsyncOperation getwait_for IAsyncOperation C++/WinRT 拡張機能関数に関するページを参照してください。
IAsyncOperationWithProgress getwait_for 「IAsyncOperationWithProgress C++/WinRT 拡張関数」を参照してください。
IBindableIterable beginend 「IBindableIterable C++/WinRT 拡張関数」を参照してください。
IBindableIterator beginendoperator++operator++(int)operator* 「IBindableIterator C++/WinRT 拡張関数」を参照してください。
IBuffer data 「IBuffer C++/WinRT 拡張関数」を参照してください。
IIterable beginend 「IIterable C++/WinRT 拡張機能関数」を参照してください。
IIterator operator++operator++(int)operator* 「IIterator C++/WinRT 拡張機能関数」を参照してください。
IKeyValuePair operator== 「IKeyValuePair C++/WinRT 拡張関数」を参照してください。
Imap beginendTryLookupTryRemove 「IMap C++/WinRT 拡張関数」を参照してください。
IMapView beginendTryLookup 「IMapView C++/WinRT 拡張機能関数」を参照してください。
IMemoryBufferReference data 「IMemoryBufferReference C++/WinRT 拡張関数」を参照してください。
IVector beginend 「IVector C++/WinRT 拡張機能関数」を参照してください。
IVectorView beginend 「IVectorView C++/WinRT 拡張機能関数」を参照してください。

その他の関数

機能 説明
GetRuntimeClassName 関数 実装されている Windows ランタイム クラスの完全修飾型名を含む文字列を返す (生成された実装型の) メンバー関数。

関連項目

C++/WinRT