namespace winrt (C++/WinRT)

Namespace winrt menyediakan jenis data kustom milik C++/WinRT—proyeksi bahasa C++17 modern standar untuk API Windows Runtime (WinRT). Jenis kustom ini menyediakan konversi yang sesuai ke dan dari jenis standar sehingga, banyak waktu, Anda dapat terus menggunakan fitur bahasa C++ standar yang biasa Anda gunakan, dan kode sumber yang sudah Anda miliki.

Juga disediakan di namespace winrt adalah fungsi (untuk membuat instans kelas runtime, tinju dan membuka kotak, dll.), penunjuk cerdas, dan fasilitas lainnya.

Jenis di namespace winrt

Jenis Deskripsi
templat struct agile_ref Jenis yang mewakili referensi tangkas ke objek atau antarmuka C++/WinRT.
struktur apartment_context Menangkap konteks utas dalam coroutine sehingga dapat dipulihkan nanti.
templat struct array_view Tampilan, atau rentang, dari serangkaian nilai yang berdampingan.
struct penanda auto_revoke_t Jenis penanda yang digunakan untuk meminta pencabut peristiwa saat mendaftarkan delegasi untuk menangani peristiwa.
templat struct penanda berjubah Jenis penanda yang digunakan untuk menunjukkan bahwa antarmuka yang diimplementasikan tidak boleh dilaporkan oleh IInspectable::GetIids
struktur jam Jenis yang berisi fungsi pembantu statis untuk mengonversi Windows::Foundation::D ateTime (yaitu, std::chrono::time_point) ke dan dari winrt::file_time, dan ke dan dari time_t.
templat struct com_array Tampilan, atau rentang, dari serangkaian nilai yang berdampingan untuk meneruskan ke dan dari WINDOWS Runtime API.
templat struct com_ptr Templat penunjuk cerdas COM yang dihitung referensi.
struktur penanda yang dapat disusun Jenis penanda yang digunakan untuk menunjukkan bahwa jenis dapat menjadi kelas dalam dari kelas yang dapat dikomposiskan.
menyusun struct penanda Jenis penanda yang digunakan untuk menunjukkan bahwa jenisnya adalah kelas luar dari kelas yang dapat dikomposiskan.
deferrable_event_args Jenis yang dapat Anda gunakan untuk mengimplementasikan (menghasilkan) pola peristiwa yang dapat ditangguhkan.
mendelegasikan templat struct Jenis yang dapat Anda gunakan untuk mendeklarasikan jenis delegasi kustom untuk peristiwa Anda sendiri.
templat struktur peristiwa Jenis yang dapat Anda gunakan untuk mendeklarasikan dan mengimplementasikan peristiwa jenis delegasi tertentu.
templat struct event_revoker Saat mendaftarkan delegasi, Anda dapat meminta pencabut peristiwa, yang dapat Anda gunakan untuk mencabut delegasi anda secara otomatis atau manual.
struktur event_token Token dikembalikan saat mendaftarkan delegasi penanganan peristiwa dengan peristiwa; dapat digunakan untuk mencabut pendaftaran delegasi yang sama.
struktur file_handle Mewakili objek handel file Windows.
struktur fire_and_forget Gunakan jenis pengembalian ini untuk membuat coroutine Anda api-dan-lupakan satu.
guid struct Mewakili pengidentifikasi unik global (GUID).
handel struct Mewakili objek handel Windows.
templat struct handle_type Templat untuk struktur winrt::handle dan winrt::file_handle .
struct hstring Kumpulan berurutan karakter Unicode UTF-16 yang mewakili string teks.
struktur hresult_access_denied Jenis yang berasal dari winrt::hresult_error, mewakili kode kesalahan HRESULT E_ACCESSDENIED.
struktur hresult_canceled Jenis yang berasal dari winrt::hresult_error, mewakili kode kesalahan HRESULT ERROR_CANCELLED.
struktur hresult_changed_state Jenis yang berasal dari winrt::hresult_error, mewakili kode kesalahan HRESULT E_CHANGED_STATE.
struktur hresult_class_not_available Jenis yang berasal dari winrt::hresult_error, mewakili kode kesalahan HRESULT CLASS_E_CLASSNOTAVAILABLE.
struktur hresult_error Jenis yang mewakili kode kesalahan HRESULT.
struktur hresult_illegal_delegate_assignment Jenis yang berasal dari winrt::hresult_error, mewakili kode kesalahan HRESULT E_ILLEGAL_DELEGATE_ASSIGNMENT.
struktur hresult_illegal_method_call Jenis yang berasal dari winrt::hresult_error, mewakili kode kesalahan HRESULT E_ILLEGAL_METHOD_CALL.
struktur hresult_illegal_state_change Jenis yang berasal dari winrt::hresult_error, mewakili kode kesalahan HRESULT E_ILLEGAL_STATE_CHANGE.
struktur hresult_invalid_argument Jenis yang berasal dari winrt::hresult_error, mewakili kode kesalahan HRESULT E_INVALIDARG.
struct hresult_no_interface Jenis yang berasal dari winrt::hresult_error, mewakili kode kesalahan HRESULT E_NOINTERFACE.
struktur hresult_not_implemented Jenis yang berasal dari winrt::hresult_error, mewakili kode kesalahan HRESULT E_NOTIMPL.
struktur hresult_out_of_bounds Jenis yang berasal dari winrt::hresult_error, mewakili kode kesalahan HRESULT E_BOUNDS.
struktur hresult_wrong_thread Jenis yang berasal dari winrt::hresult_error, mewakili kode kesalahan HRESULT RPC_E_WRONG_THREAD.
mengimplementasikan templat struct Templat struktur dasar yang mengimplementasikan satu atau beberapa antarmuka Windows Runtime atas nama jenis turunan.
templat struct map_base Kelas dasar, untuk Anda dapatkan, yang mewakili koleksi asosiatif yang tidak dapat diamati.
templat struct map_view_base Kelas dasar, untuk Anda dapatkan, yang mewakili tampilan urutan elemen yang berdekatan dalam koleksi asosiatif.
struct penanda no_module_lock Jenis penanda yang digunakan untuk menunjukkan bahwa instans jenis tidak dihitung dalam jumlah objek modul.
struct penanda no_weak_ref Jenis penanda yang digunakan untuk menolak dukungan referensi yang lemah.
struct penanda non_agile Jenis penanda yang digunakan untuk menunjukkan bahwa jenis Anda tidak gesit, dan akibatnya tidak mengimplementasikan antarmuka IAgileObject.
templat struct observable_map_base Kelas dasar, untuk Anda dapatkan, yang mewakili koleksi asosiatif yang dapat diamati.
templat struct observable_vector_base Kelas dasar, untuk Anda dapatkan, yang mewakili vektor yang dapat diamati.
struct penanda static_lifetime Jenis penanda yang digunakan untuk memilih pabrik aktivasi ke masa pakai statis.
templat struct vector_base Kelas dasar, untuk Anda dapatkan, yang mewakili koleksi tujuan umum yang tidak dapat diamati yang dikenal sebagai vektor.
templat struct vector_view_base Kelas dasar tempat Anda dapat memperoleh untuk mengimplementasikan tampilan kustom Anda sendiri, atau rentang, dari urutan elemen yang berdekatan dalam koleksi tujuan umum.
templat struct weak_ref Jenis yang mewakili referensi lemah ke objek atau antarmuka C++/WinRT.
Windows::Foundation::IUnknown struct Setiap kelas runtime C++/WinRT (baik Windows atau kelas runtime pihak ketiga) berasal dari winrt::Windows::Foundation::IUnknown.

Fungsi di namespace winrt

Fungsi Deskripsi
fungsi attach_abi Fungsi pembantu yang melampirkan objek C++/WinRT ke handel, atau ke penunjuk mentah yang memiliki referensi ke targetnya.
templat fungsi box_value Templat fungsi yang membungkus (atau kotak) nilai skalar atau array di dalam objek kelas referensi sehingga dapat diteruskan ke fungsi yang mengharapkan IInspectable.
menangkap templat fungsi Templat fungsi yang memanggil fungsi atau metode tertentu, menangkap penunjuk antarmuka yang dihasilkan, dan mengembalikannya sebagai winrt::com_ptr.
templat fungsi check_bool Fungsi pembantu yang memeriksa apakah nilai salah dan, jika demikian, mengambil nilai kode kesalahan terakhir utas panggilan, dan melemparkan pengecualian menggunakan objek C++/WinRT yang mewakili kode kesalahan tersebut.
fungsi check_hresult Fungsi pembantu yang memeriksa apakah kode HRESULT mewakili kesalahan dan, jika demikian, melemparkan pengecualian menggunakan objek C++/WinRT yang mewakili kode kesalahan.
templat fungsi check_nt Fungsi pembantu yang memeriksa apakah kode mewakili kesalahan dan, jika demikian, memetakan nilai status NT dari kode kesalahan ke nilai HRESULT dan memberikan pengecualian menggunakan objek C++/WinRT yang mewakili kode kesalahan.
templat fungsi check_pointer Fungsi pembantu yang memeriksa apakah penunjuk null dan, jika demikian, mengambil nilai kode kesalahan terakhir utas panggilan, dan melemparkan pengecualian menggunakan objek C++/WinRT yang mewakili kode kesalahan tersebut.
templat fungsi check_win32 Fungsi pembantu yang memeriksa apakah kode mewakili kesalahan dan, jika demikian, memetakan kode kesalahan sistem nilai ke nilai HRESULT dan melemparkan pengecualian menggunakan objek C++/WinRT yang mewakili kode kesalahan.
fungsi copy_from_abi Fungsi pembantu yang menyalin ke objek C++/WinRT dari handel, atau dari pointer mentah.
fungsi copy_to_abi Fungsi pembantu yang menyalin ke handel, atau ke penunjuk dari objek C++/WinRT.
templat fungsi create_instance Templat fungsi yang membuat satu objek yang tidak diinisialisasi dari kelas yang terkait dengan CLSID tertentu, dan mengembalikannya sebagai winrt::com_ptr atau melempar jika tidak berhasil.
detach_abi (Fungsi detach_abi) Fungsi pembantu yang mencopot objek C++/WinRT dari handel yang dirujuk, atau dari antarmuka yang dirujuk.
templat fungsi from_abi Fungsi pembantu yang, diberikan objek dari jenis yang diproyeksikan, mengambil penunjuk ke implementasi.
get_abi (Fungsi get_abi) Fungsi pembantu yang mengambil penunjuk ke antarmuka IUnknown yang mendasar objek C++/WinRT.
templat fungsi get_activation_factory Fungsi pembantu yang mengambil pabrik aktivasi untuk jenis kelas Windows Runtime tertentu.
fungsi get_cancellation_token Dalam coroutine, gunakan objek yang dikembalikan oleh winrt::get_cancellation_token untuk polling, atau untuk merespons, pembatalan.
get_class_name (Fungsi get_class_name) Fungsi pembantu yang mengambil string yang berisi nama jenis yang sepenuhnya memenuhi syarat dari kelas Windows Runtime tertentu.
fungsi get_interfaces Fungsi pembantu yang mengambil array yang berisi pengidentifikasi antarmuka yang diimplementasikan oleh objek C++/WinRT.
get_progress_token (Fungsi get_progress_token) Dalam coroutine, gunakan objek yang dikembalikan oleh winrt::get_progress_token untuk melaporkan kemajuan kembali ke handler kemajuan.
templat fungsi get_self Fungsi pembantu yang, diberikan objek dari jenis yang diproyeksikan, mengambil penunjuk ke implementasi.
fungsi get_trust_level Fungsi pembantu yang mengambil tingkat kepercayaan objek C++/WinRT.
fungsi get_unknown Fungsi pembantu yang mengembalikan alamat antarmuka IUnknown mentah yang mendasar dari objek dari jenis yang diproyeksikan.
templat fungsi guid_of Templat fungsi pembantu yang mengambil GUID kelas runtime, coclass, atau antarmuka.
templat fungsi is_guid_of Templat fungsi pembantu yang menentukan apakah GUID yang disediakan adalah salah satu kelas runtime, kolase, atau antarmuka yang ditentukan atau tidak.
membuat templat fungsi Metode pabrik yang mengembalikan instans jenis atau antarmuka yang diproyeksikan saat diparameterkan dengan jenis implementasi yang sesuai.
templat fungsi make_agile Fungsi pembantu yang mengembalikan objek agile_ref , mewakili referensi tangkas ke objek atau antarmuka C++/WinRT.
templat fungsi make_self Metode pabrik yang mengembalikan com_ptr ke instans jenis implementasi untuk kelas runtime.
templat fungsi make_weak Fungsi pembantu yang mengembalikan objek weak_ref , mewakili referensi lemah ke objek atau antarmuka C++/WinRT.
templat fungsi name_of Fungsi pembantu yang mengambil tampilan string yang berisi nama jenis yang sepenuhnya memenuhi syarat dari kelas Windows Runtime tertentu.
fungsi put_abi Fungsi pembantu yang mengambil alamat penunjuk antarmuka IUnknown yang mendasar objek C++/WinRT sehingga dapat diatur ke nilai lain.
fungsi resume_after Fungsi pembantu yang mengembalikan kontrol ke pemanggil, lalu melanjutkan eksekusi pada utas kumpulan utas setelah penundaan.
resume_background (Fungsi resume_background) Fungsi pembantu yang mengembalikan kontrol ke pemanggil, dan melanjutkan eksekusi pada utas kumpulan utas.
resume_foreground (Fungsi resume_foreground) Fungsi pembantu—untuk digunakan dalam koroutin—yang dapat co_await Anda alihkan eksekusinya ke utas latar depan tertentu.
resume_on_signal Fungsi yang dapat Anda gunakan untuk menangguhkan hingga peristiwa kernel diberi sinyal.
templat fungsi single_threaded_map Templat fungsi yang membuat dan mengembalikan objek dari jenis yang mengimplementasikan koleksi asosiatif yang tidak dapat diamati (peta). Objek dikembalikan sebagai IMap.
templat fungsi single_threaded_observable_map Templat fungsi yang membuat dan mengembalikan objek jenis yang mengimplementasikan koleksi asosiatif (peta) yang dapat diamati. Objek dikembalikan sebagai IObservableMap.
templat fungsi single_threaded_observable_vector Templat fungsi yang membuat dan mengembalikan objek jenis yang mengimplementasikan koleksi yang dapat diamati. Objek dikembalikan sebagai IObservableVector.
templat fungsi single_threaded_vector Templat fungsi yang membuat dan mengembalikan objek jenis yang mengimplementasikan koleksi tujuan umum. Objek dikembalikan sebagai IVector.
fungsi pertukaran Fungsi pembantu yang menukar konten dua nilai.
fungsi throw_hresult Fungsi pembantu yang mengambil kode kesalahan HRESULT, dan melemparkan pengecualian menggunakan objek C++/WinRT yang mewakili kode kesalahan tersebut.
fungsi throw_last_error Fungsi pembantu yang mengambil nilai kode kesalahan terakhir utas panggilan, dan melemparkan pengecualian menggunakan objek C++/WinRT yang mewakili kode kesalahan tersebut.
fungsi to_hresult Fungsi pembantu, untuk digunakan dalam blok tangkapan, yang mengubah pengecualian terakhir yang dilemparkan ke dalam kode kesalahan HRESULT.
fungsi to_hstring Fungsi pembantu yang mengonversi nilai input menjadi winrt::hstring yang berisi representasi string nilai.
to_string (Fungsi to_string) Fungsi pembantu yang mengonversi string lebar input menjadi std::string yang berisi string sempit UTF-8.
templat fungsi try_capture Templat fungsi yang memanggil fungsi atau metode tertentu, menangkap penunjuk antarmuka yang merupakan output dari fungsi atau metode, dan mengembalikannya sebagai winrt::com_ptr atau com_ptr kosong jika tidak berhasil.
templat fungsi try_create_instance Templat fungsi yang membuat satu objek yang tidak diinisialisasi dari kelas yang terkait dengan CLSID tertentu, dan mengembalikannya sebagai winrt::com_ptr atau com_ptr kosong jika tidak berhasil.
templat fungsi try_get_activation_factory Fungsi pembantu yang mengambil pabrik aktivasi untuk jenis kelas Windows Runtime tertentu atau com_ptr kosong jika tidak berhasil.
templat fungsi unbox_value Templat fungsi yang membongkar (atau membuka kotak) nilai skalar atau array dari dalam objek kelas referensi sehingga dapat diproses dalam fungsi yang mengharapkan IInspectable.
templat fungsi unbox_value_or Templat fungsi yang membongkar (atau membuka kotak) nilai skalar dari dalam objek kelas referensi, dengan nilai fallback, sehingga dapat diproses dalam fungsi yang mengharapkan IInspectable.
templat fungsi xaml_typename Fungsi pembantu yang mengembalikan nama jenis jenis Windows Runtime, dalam bentuk objek Windows::UI::Xaml::Interop::TypeName .

Fungsi C++/WinRT yang memperluas WINDOWS Runtime API

Fungsi ekstensi ada pada jenis proyeksi C++/WinRT untuk API Windows Runtime tertentu. Misalnya, winrt::Windows::Foundation::IAsyncAction adalah jenis proyeksi C++/WinRT untuk IAsyncAction. Fungsi ekstensi bukan bagian dari permukaan antarmuka biner aplikasi (ABI) dari jenis Windows Runtime yang sebenarnya, sehingga tidak terdaftar sebagai anggota API Windows Runtime. Tetapi Anda dapat memanggilnya dari dalam proyek C++/WinRT apa pun.

WinRT API Fungsi Deskripsi
IAsyncAction dapatkan, wait_for Lihat fungsi ekstensi IAsyncAction C++/WinRT
IAsyncActionWithProgress dapatkan, wait_for Lihat fungsi ekstensi IAsyncActionWithProgress C++/WinRT
IAsyncOperation dapatkan, wait_for Lihat Fungsi ekstensi IAsyncOperation C++/WinRT
IAsyncOperationWithProgress dapatkan, wait_for Lihat fungsi ekstensi IAsyncOperationWithProgress C++/WinRT
IBindableIterable mulai, berakhir Lihat Fungsi ekstensi IBindableIterable C++/WinRT
IBindableIterator mulai, akhir, operator++, operator++(int), operator* Lihat Fungsi ekstensi IBindableIterator C++/WinRT
IBuffer data Lihat Fungsi ekstensi IBuffer C++/WinRT
IIterable mulai, berakhir Lihat fungsi ekstensi IIterable C++/WinRT
IIterator operator++, operator++(int), operator* Lihat Fungsi ekstensi IIterator C++/WinRT
IKeyValuePair operator== Lihat fungsi ekstensi IKeyValuePair C++/WinRT
Imap begin, end, TryLookup, TryRemove Lihat fungsi ekstensi IMap C++/WinRT
IMapView mulai, berakhir, TryLookup Lihat fungsi ekstensi IMapView C++/WinRT
IMemoryBufferReference data Lihat fungsi ekstensi IMemoryBufferReference C++/WinRT
IVector mulai, berakhir Lihat fungsi ekstensi IVector C++/WinRT
IVectorView mulai, berakhir Lihat Fungsi ekstensi IVectorView C++/WinRT

Fungsi lainnya

Fungsi Deskripsi
Fungsi GetRuntimeClassName Fungsi anggota (dari jenis implementasi yang dihasilkan) yang mengembalikan string yang berisi nama jenis yang sepenuhnya memenuhi syarat dari kelas Windows Runtime yang sedang diimplementasikan.

Lihat juga

C++/WinRT