Bagikan melalui


winrt::Windows::Foundation::IUnknown struct (C++/WinRT)

Setiap kelas runtime C++/WinRT (baik Kelas runtime Windows atau 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.

Sintaksis

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

Pembangun Deskripsi
IUnknown::IUnknown constructor Menginisialisasi instans baru struct IUnknown, secara opsional dengan salinan atau pemindahan data input.

Fungsi anggota

Fungsi Deskripsi
IUnknown::as fungsi Mengembalikan antarmuka yang diminta, jika didukung. Melempar 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 atau tidak mereferensikan antarmuka.
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 ditunjukkan 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 antarmuka atau alamat memori objek tersebut ke dalam parameter .
fungsi detach_abi Melepaskan dari antarmuka mentah IUnknown tanpa mengurangi jumlah referensi, mungkin untuk mengembalikannya ke pemanggil.
fungsi get_abi Mengembalikan penunjuk antarmuka mentah IUnknown mendasar jika Anda perlu meneruskannya ke fungsi.
fungsi get_unknown Fungsi pembantu yang mengembalikan alamat antarmuka mentah IUnknown mendasar objek dari jenis yang diproyeksikan.
fungsi put_abi Mengembalikan alamat penunjuk antarmuka mentah IUnknown mendasar sebagai penunjuk ke penunjuk untuk kekosongan ; fungsi ini membantu Anda memanggil metode (seperti metode COM) yang mengembalikan referensi sebagai parameter keluar melalui penunjuk ke penunjuk untuk kekosongan .
fungsi pertukaran Tukar konten dua parameter IUnknown sehingga mereka menunjuk target satu sama lain.

Operator gratis

Fungsi Deskripsi
operator!= (operator ketidaksamaan) Mengembalikan nilai yang menunjukkan apakah kedua 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 kedua parameter merujuk ke antarmuka dan/atau objek yang sama.
operator (lebih besar dari operator) Mengembalikan nilai yang menunjukkan apakah target parameter pertama terjadi nanti dalam memori daripada parameter kedua.
operator>= (operator yang lebih besar dari atau sama dengan operator) Mengembalikan nilai yang menunjukkan apakah target parameter pertama terjadi nanti dalam memori daripada, atau di lokasi yang sama dengan, parameter kedua.

Konstruktor IUnknown::IUnknown

Menginisialisasi instans baru struct IUnknown, secara opsional dengan salinan atau pemindahan data input.

Sintaksis

IUnknown() noexcept;
IUnknown(std::nullptr_t) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown const& other) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown&& other) noexcept;

Parameter

IUnknown lain yang menginisialisasi objek IUnknown .

IUnknown::as function

Mengembalikan antarmuka yang diminta, jika didukung. Melempar jika tidak. Fungsi ini berguna jika Anda ingin mengkueri antarmuka yang tidak perlu Anda teruskan kembali ke pemanggil Anda.

Sintaksis

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 dideklarasikan oleh C++/WinRT atau oleh pihak ketiga).

Fungsi IUnknown::try_as

Mengembalikan antarmuka yang diminta, jika didukung. Mengembalikan null (auto-returning overload), atau false (bool-returning overload), jika tidak. Fungsi ini berguna jika Anda ingin mengkueri antarmuka yang tidak perlu Anda teruskan kembali ke pemanggil Anda.

Sintaksis

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. Bisa menjadi referensi null.

Mengembalikan nilai

com_ptr mereferensikan antarmuka yang diminta, atau penunjuk cerdas yang diketik dengan kuat untuk antarmuka yang diminta (dideklarasikan oleh C++/WinRT atau oleh pihak ketiga), jika antarmuka yang diminta didukung, jika tidak, null (auto-mengembalikan kelebihan beban) atau false (bool-mengembalikan kelebihan beban).

Jika to adalah referensi null, mengembalikan null atau false.

IUnknown::operator bool

Memeriksa apakah objek IUnknown atau tidak mereferensikan antarmuka. Jika objek IUnknown tidak mereferensikan antarmuka, maka secara logis null; jika tidak, secara logis tidak null.

Sintaksis

explicit operator bool() const noexcept;

Mengembalikan nilai

jika objek IUnknown mereferensikan antarmuka (secara logis tidak null), jika tidak, (secara logis null).

IUnknown::operator= (operator penugasan)

Menetapkan nilai ke objek IUnknown.

Sintaksis

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

Nilai IUnknown untuk ditetapkan ke objek IUnknown , baik dengan menyalin atau dengan memindahkan.

Mengembalikan nilai

Referensi ke objek IUnknown.

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.

Sintaksis

void attach_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;

Parameter

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 ditunjukkan olehnya.

Sintaksis

void copy_from_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;

Parameter

Nilai IUnknown untuk dioperasikan.

Pointer mentah ke target yang masa pakainya harus dikelola oleh objek IUnknown.

fungsi copy_to_abi

Menyalin ke pointer lain dari objek IUnknown . Menaikkan jumlah referensi pada antarmuka atau objek yang saat ini direferensikan, dan menyalin antarmuka atau alamat memori objek tersebut ke dalam parameter . Fungsi ini memungkinkan Anda membagikan referensi ke antarmuka yang sama tanpa memanggil QueryInterface.

Sintaksis

void copy_to_abi(winrt::Windows::Foundation::IUnknown const& object, void*& value) noexcept;

Parameter

Nilai IUnknown untuk dioperasikan.

Referensi pointer mentah; untuk menyalin pointer ke target objek IUnknown.

fungsi detach_abi

Melepaskan objek IUnknown dari antarmuka IUnknown mentahnya tanpa mengurangi jumlah referensi, mungkin untuk mengembalikannya ke pemanggil.

Sintaksis

void* detach_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
void* detach_abi(winrt::Windows::Foundation::IUnknown&& object) noexcept;

Parameter

Nilai IUnknown untuk dioperasikan.

Mengembalikan nilai

Penunjuk ke antarmuka IUnknown mentah direferensikan oleh objek IUnknown .

fungsi get_abi

Mengembalikan penunjuk antarmuka mentah IUnknown mendasar jika Anda perlu meneruskannya ke fungsi. Anda dapat memanggil AddRef, Release, atau QueryInterface pada pointer yang dikembalikan.

Sintaksis

void* get_abi(winrt::Windows::Foundation::IUnknown const& object) noexcept;

Parameter

Nilai IUnknown untuk dioperasikan.

Mengembalikan nilai

Penunjuk ke antarmuka IUnknown mentah direferensikan oleh objek IUnknown .

operator!= (operator ketidaksamaan)

Mengembalikan nilai yang menunjukkan apakah kedua parameter merujuk ke target yang berbeda.

Sintaksis

bool operator!=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;

Parameter

Nilai IUnknown yang alamat memori targetnya dibandingkan dengan parameter lainnya.

Mengembalikan nilai

true jika dua 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.

Sintaksis

bool operator<(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;

Parameter

Nilai IUnknown yang alamat memori targetnya dibandingkan dengan parameter lainnya.

Mengembalikan nilai

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.

Sintaksis

bool operator<=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;

Parameter

Nilai IUnknown yang alamat memori targetnya dibandingkan dengan parameter lainnya.

Mengembalikan nilai

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 kedua parameter merujuk ke antarmuka dan/atau objek yang sama.

Sintaksis

bool operator==(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;

Parameter

Nilai IUnknown yang alamat memori targetnya dibandingkan dengan parameter lainnya.

Mengembalikan nilai

true jika dua parameter menunjuk ke target yang sama, jika tidak, false.

operator> (operator yang lebih besar dari)

Mengembalikan nilai yang menunjukkan apakah target parameter pertama terjadi nanti dalam memori daripada parameter kedua.

Sintaksis

bool operator>(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;

Parameter

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 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.

Sintaksis

bool operator>=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;

Parameter

Nilai IUnknown yang alamat memori targetnya dibandingkan dengan parameter lainnya.

Mengembalikan nilai

true jika alamat memori target parameter pertama lebih besar dari atau sama dengan parameter kedua, jika tidak, false.

fungsi put_abi

Mengembalikan alamat penunjuk antarmuka mentah IUnknown mendasar sebagai penunjuk ke penunjuk untuk kekosongan ; fungsi ini membantu Anda memanggil metode (seperti metode COM) yang mengembalikan referensi sebagai parameter keluar melalui penunjuk ke penunjuk untuk kekosongan .

Sintaksis

void** put_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;

Parameter

Nilai IUnknown untuk dioperasikan.

Mengembalikan nilai

Alamat antarmuka mentah IUnknown yang mendasar pointer.

fungsi pertukaran

Tukar konten dua parameter IUnknown sehingga mereka menunjuk target satu sama lain.

Sintaksis

void swap(winrt::Windows::Foundation::IUnknown& left, winrt::Windows::Foundation::IUnknown& right) noexcept;

Parameter

Nilai IUnknown yang pointernya saling bertukar dengan parameter lainnya.

Lihat juga

  • namespace winrt