winrt::Windows::Foundation::IUnknown struct (C++/WinRT)
Setiap kelas runtime C++/WinRT (baik Windows atau kelas runtime pihak ketiga) berasal dari winrt::Windows::Foundation::IUnknown. Ini mewakili antarmuka COM IUnknown , dan menyediakan fasilitas seperti mengkueri antarmuka yang berbeda, fungsi abi, dan operator perbandingan.
Sintaks
struct IUnknown
Persyaratan
SDK minimum yang didukung: Windows SDK versi 10.0.17134.0 (Windows 10, versi 1803)
Namespace: winrt
Header: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (disertakan secara default)
Konstruktor
Konstruktor | Deskripsi |
---|---|
IUnknown::Konstruktor IUnknown | Menginisialisasi instans baru struct IUnknown , secara opsional dengan salinan atau pemindahan data input. |
Fungsi anggota
Fungsi | Deskripsi |
---|---|
IUnknown::as function | Mengembalikan antarmuka yang diminta, jika didukung. Melemparkan jika tidak. |
Fungsi IUnknown::try_as | Mengembalikan antarmuka yang diminta, jika didukung. Mengembalikan null , atau false , jika tidak. |
Operator anggota
Operator | Deskripsi |
---|---|
IUnknown::operator bool | Memeriksa apakah objek IUnknown mereferensikan antarmuka atau tidak. |
IUnknown::operator= (operator penugasan) | Menetapkan nilai ke objek IUnknown . |
Fungsi gratis
Fungsi | Deskripsi |
---|---|
fungsi attach_abi | Melampirkan objek IUnknown ke pointer mentah yang memiliki referensi ke targetnya; referensi tambahan tidak ditambahkan. |
fungsi copy_from_abi | Menyalin ke objek IUnknown dari pointer lain. Mengurangi jumlah referensi pada antarmuka atau objek yang saat ini direferensikan, menyalin parameter pointer mentah, dan mulai mengelola masa pakai antarmuka atau objek yang diacu olehnya. |
fungsi copy_to_abi | Menyalin ke pointer lain dari objek IUnknown . Menaikkan jumlah referensi pada antarmuka atau objek yang saat ini direferensikan, dan menyalin alamat memori antarmuka atau objek tersebut ke dalam parameter. |
detach_abi (Fungsi detach_abi) | Melepaskan dari antarmuka IUnknown mentah tanpa mengurangi jumlah referensi, mungkin untuk mengembalikannya ke pemanggil. |
get_abi (Fungsi get_abi) | Mengembalikan penunjuk antarmuka IUnknown mentah yang mendasar jika Anda perlu meneruskannya ke fungsi. |
fungsi get_unknown | Fungsi pembantu yang mengembalikan alamat antarmuka IUnknown mentah yang mendasar dari objek dari jenis yang diproyeksikan. |
fungsi put_abi | Mengembalikan alamat penunjuk antarmuka IUnknown mentah yang mendasar sebagai penunjuk ke pointer untuk dibatalkan; fungsi ini membantu Anda memanggil metode (seperti metode COM) yang mengembalikan referensi sebagai parameter keluar melalui penunjuk ke pointer untuk dibatalkan. |
fungsi pertukaran | Tukar isi dua parameter IUnknown sehingga mereka menunjuk satu sama lain target. |
Operator gratis
Fungsi | Deskripsi |
---|---|
operator!= (operator tidak sama) | Mengembalikan nilai yang menunjukkan apakah dua parameter merujuk ke target yang berbeda. |
operator< (operator kurang dari) | Mengembalikan nilai yang menunjukkan apakah target parameter pertama terjadi lebih awal dalam memori daripada parameter kedua. |
operator<= (operator kurang dari atau sama dengan) | Mengembalikan nilai yang menunjukkan apakah target parameter pertama terjadi lebih awal dalam memori daripada, atau di lokasi yang sama dengan, parameter kedua. |
operator== (operator kesetaraan) | Mengembalikan nilai yang menunjukkan apakah dua parameter merujuk ke antarmuka dan/atau objek yang sama. |
operator> (operator yang lebih besar dari) | Mengembalikan nilai yang menunjukkan apakah target parameter pertama terjadi nanti dalam memori daripada parameter kedua. |
operator>= (operator yang lebih besar dari atau sama dengan) | Mengembalikan nilai yang menunjukkan apakah target parameter pertama terjadi nanti dalam memori daripada, atau di lokasi yang sama dengan parameter kedua. |
IUnknown::Konstruktor IUnknown
Menginisialisasi instans baru struct IUnknown , secara opsional dengan salinan atau pemindahan data input.
Sintaks
IUnknown() noexcept;
IUnknown(std::nullptr_t) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown const& other) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown&& other) noexcept;
Parameter
other
IUnknown lain yang menginisialisasi objek IUnknown.
IUnknown::as function
Mengembalikan antarmuka yang diminta, jika didukung. Melemparkan jika tidak. Fungsi ini berguna jika Anda ingin mengkueri antarmuka yang tidak perlu Anda teruskan kembali ke pemanggil Anda.
Sintaks
template <typename To> auto as() const;
template <typename To> void as(To& to) const;
Parameter templat
typename To
Jenis antarmuka yang diminta.
Parameter
to
Referensi ke nilai untuk menerima antarmuka yang diminta.
Mengembalikan nilai
com_ptr mereferensikan antarmuka yang diminta, atau penunjuk cerdas yang diketik dengan kuat untuk antarmuka yang diminta (baik dinyatakan oleh C++/WinRT atau oleh pihak ketiga).
Fungsi IUnknown::try_as
Mengembalikan antarmuka yang diminta, jika didukung. Mengembalikan null
( auto
overload -returning), atau false
( bool
overload -returning), jika tidak. Fungsi ini berguna jika Anda ingin mengkueri antarmuka yang tidak perlu Anda teruskan kembali ke pemanggil Anda.
Sintaks
template <typename To> auto try_as() const noexcept;
template <typename To> bool try_as(To& to) const noexcept;
Parameter templat
typename To
Jenis antarmuka yang diminta.
Parameter
to
Referensi ke nilai untuk menerima antarmuka yang diminta. Dapat berupa referensi null.
Mengembalikan nilai
com_ptr yang mereferensikan antarmuka yang diminta, atau penunjuk cerdas yang diketik dengan kuat untuk antarmuka yang diminta (baik dinyatakan oleh C++/WinRT atau oleh pihak ketiga), jika antarmuka yang diminta didukung, jika tidak null
(auto
kelebihan beban yang dikembalikan) atau false
(bool
kelebihan beban yang dikembalikan).
Jika to
adalah referensi null, mengembalikan null
atau false
.
IUnknown::operator bool
Memeriksa apakah objek IUnknown mereferensikan antarmuka atau tidak. Jika objek IUnknown tidak mereferensikan antarmuka, maka secara logis null; jika tidak, secara logis tidak null.
Sintaks
explicit operator bool() const noexcept;
Mengembalikan nilai
true
jika objek IUnknown mereferensikan antarmuka (secara logis tidak null), jika tidak false
(secara logis null).
IUnknown::operator= (operator penugasan)
Menetapkan nilai ke objek IUnknown .
Sintaks
winrt::Windows::Foundation::IUnknown& operator=(winrt::Windows::Foundation::IUnknown const& other) noexcept;
winrt::Windows::Foundation::IUnknown& operator=(winrt::Windows::Foundation::IUnknown&& other) noexcept;
winrt::Windows::Foundation::IUnknown& operator=(std::nullptr_t) noexcept;
Parameter
other
Nilai IUnknown untuk ditetapkan ke objek IUnknown , baik dengan menyalin atau dengan memindahkan.
Nilai kembali
Referensi ke objek IUnknown .
attach_abi (Fungsi attach_abi)
Melampirkan objek IUnknown ke pointer mentah yang memiliki referensi ke targetnya; referensi tambahan tidak ditambahkan. Jika diperlukan, Anda dapat menggunakan fungsi ini untuk menyaring referensi.
Sintaks
void attach_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;
Parameter
object
Nilai IUnknown untuk dioperasikan.
value
Pointer mentah yang memiliki referensi ke targetnya.
fungsi copy_from_abi
Menyalin ke objek IUnknown dari pointer lain. Mengurangi jumlah referensi pada antarmuka atau objek yang saat ini direferensikan, menyalin parameter pointer mentah, dan mulai mengelola masa pakai antarmuka atau objek yang diacu olehnya.
Sintaks
void copy_from_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;
Parameter
object
Nilai IUnknown untuk dioperasikan.
value
Pointer mentah ke target yang masa pakainya harus dikelola oleh objek IUnknown .
copy_to_abi fungsi
Menyalin ke pointer lain dari objek IUnknown . Menaikkan jumlah referensi pada antarmuka atau objek yang saat ini direferensikan, dan menyalin alamat memori antarmuka atau objek tersebut ke dalam parameter . Fungsi ini memungkinkan Anda membagikan referensi ke antarmuka yang sama tanpa memanggil QueryInterface.
Sintaks
void copy_to_abi(winrt::Windows::Foundation::IUnknown const& object, void*& value) noexcept;
Parameter
object
Nilai IUnknown untuk dioperasikan.
value
Referensi pointer mentah; untuk menyalin pointer ke target objek IUnknown .
detach_abi (Fungsi detach_abi)
Melepaskan objek IUnknown dari antarmuka IUnknown mentah tanpa mengurangi jumlah referensi, mungkin untuk mengembalikannya ke penelepon.
Sintaks
void* detach_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
void* detach_abi(winrt::Windows::Foundation::IUnknown&& object) noexcept;
Parameter
object
Nilai IUnknown untuk dioperasikan.
Nilai kembali
Penunjuk ke antarmuka IUnknown mentah yang direferensikan oleh objek IUnknown .
fungsi get_abi
Mengembalikan penunjuk antarmuka IUnknown mentah yang mendasar jika Anda perlu meneruskannya ke fungsi. Anda dapat memanggil AddRef, Release, atau QueryInterface pada pointer yang dikembalikan.
Sintaks
void* get_abi(winrt::Windows::Foundation::IUnknown const& object) noexcept;
Parameter
object
Nilai IUnknown untuk dioperasikan.
Mengembalikan nilai
Penunjuk ke antarmuka IUnknown mentah yang direferensikan oleh objek IUnknown .
operator!= (operator ketidaksamaan)
Mengembalikan nilai yang menunjukkan apakah dua parameter merujuk ke target yang berbeda.
Sintaks
bool operator!=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parameter
left
right
Nilai IUnknown yang alamat memori targetnya dibandingkan dengan parameter lainnya.
Mengembalikan nilai
true
jika kedua parameter menunjuk ke target yang berbeda, jika tidak false
.
operator< (operator kurang dari)
Mengembalikan nilai yang menunjukkan apakah target parameter pertama terjadi lebih awal dalam memori daripada parameter kedua.
Sintaks
bool operator<(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parameter
left
right
Nilai IUnknown yang alamat memori targetnya dibandingkan dengan parameter lainnya.
Nilai kembali
true
jika alamat memori target parameter pertama kurang dari parameter kedua, jika tidak false
.
operator<= (operator kurang dari atau sama dengan)
Mengembalikan nilai yang menunjukkan apakah target parameter pertama terjadi lebih awal dalam memori daripada, atau di lokasi yang sama dengan parameter kedua.
Sintaks
bool operator<=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parameter
left
right
Nilai IUnknown yang alamat memori targetnya dibandingkan dengan parameter lainnya.
Nilai kembali
true
jika alamat memori target parameter pertama kurang dari atau sama dengan parameter kedua, jika tidak false
.
operator== (operator kesetaraan)
Mengembalikan nilai yang menunjukkan apakah dua parameter merujuk ke antarmuka dan/atau objek yang sama.
Sintaks
bool operator==(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parameter
left
right
Nilai IUnknown yang alamat memori targetnya dibandingkan dengan parameter lainnya.
Mengembalikan nilai
true
jika kedua parameter menunjuk ke target yang sama, jika tidak false
.
operator> (operator lebih besar dari)
Mengembalikan nilai yang menunjukkan apakah target parameter pertama terjadi nanti dalam memori daripada parameter kedua.
Sintaks
bool operator>(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parameter
left
right
Nilai IUnknown yang alamat memori targetnya dibandingkan dengan parameter lainnya.
Mengembalikan nilai
true
jika alamat memori target parameter pertama lebih besar dari parameter kedua, jika tidak false
.
operator>= (operator lebih besar dari atau sama dengan)
Mengembalikan nilai yang menunjukkan apakah target parameter pertama terjadi nanti dalam memori daripada, atau di lokasi yang sama dengan parameter kedua.
Sintaks
bool operator>=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parameter
left
right
Nilai IUnknown yang alamat memori targetnya dibandingkan dengan parameter lainnya.
Nilai kembali
true
jika alamat memori target parameter pertama lebih besar dari atau sama dengan parameter kedua, jika tidak false
.
put_abi (Fungsi put_abi)
Mengembalikan alamat penunjuk antarmuka IUnknown mentah yang mendasar sebagai penunjuk ke penunjuk untuk membatalkan; fungsi ini membantu Anda memanggil metode (seperti metode COM) yang mengembalikan referensi sebagai parameter keluar melalui pointer ke pointer untuk membatalkan.
Sintaks
void** put_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
Parameter
object
Nilai IUnknown untuk dioperasikan.
Mengembalikan nilai
Alamat penunjuk antarmuka IUnknown mentah yang mendasar.
fungsi pertukaran
Tukar isi dari dua parameter IUnknown sehingga mereka menunjuk satu sama lain target.
Sintaks
void swap(winrt::Windows::Foundation::IUnknown& left, winrt::Windows::Foundation::IUnknown& right) noexcept;
Parameter
left
right
Nilai IUnknown yang penunjuknya saling menukar dengan parameter lainnya.
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk