Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Every C++/WinRT runtime class (whether a Windows or a third party runtime class) derives from winrt::Windows::Foundation::IUnknown. It represents the COM IUnknown interface, and it provides facilities such as querying for a different interface, abi functions, and comparison operators.
Syntax
struct IUnknown
Requirements
Minimálisan támogatott SDK: Windows SDK 10.0.17134.0-s verzió (Windows 10, 1803-as verzió)
Namespace: winrt
Header: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (included by default)
Constructors
| Constructor | Description |
|---|---|
| IUnknown::IUnknown constructor | Initializes a new instance of the IUnknown struct, optionally with a copy or move of the input data. |
Member functions
| Function | Description |
|---|---|
| IUnknown::as function | Interfészt kér, ha az nem támogatott. |
| IUnknown::try_as function | Kér egy felületet, amely null akkor jön létre, ha nem támogatott. |
| IUnknown::try_as_with_reason function | Kér egy felületet, amely jelzi, hogy miért nem támogatott. |
Member operators
| Operator | Description |
|---|---|
| IUnknown::operator bool | Checks whether or not the IUnknown object is referencing an interface. |
| IUnknown::operator= (hozzárendelési operátor) | Assigns a value to the IUnknown object. |
Free functions
| Function | Description |
|---|---|
| attach_abi function | Attaches an IUnknown object to a raw pointer that owns a reference to its target; an additional reference is not added. |
| copy_from_abi function | Copies to an IUnknown object from another pointer. Csökkenti a hivatkozások számát bármely aktuálisan hivatkozott felületen vagy objektumon, átmásolja a nyers mutatóparamétert, és megkezdi az általa mutatott felület vagy objektum élettartamának kezelését. |
| copy_to_abi function | Copies to another pointer from an IUnknown object. Növeli a hivatkozások számát bármely jelenleg hivatkozott felületen vagy objektumon, és átmásolja az interfész vagy objektum memóriacímét a paraméterbe. |
| detach_abi function | Detaches from the raw IUnknown interface without decrementing the reference count, perhaps to return it to a caller. |
| get_abi function | Returns the underlying raw IUnknown interface pointer should you need to pass it to a function. |
| get_unknown function | A helper function that returns the address of the underlying raw IUnknown interface of an object of a projected type. |
| put_abi function | Returns the address of the underlying raw IUnknown interface pointer as a pointer to a pointer to void; this function helps you call methods (such as COM methods) that return references as out parameters via a pointer to a pointer to void. |
| swap function | Swaps the contents of the two IUnknown parameters so that they point at one another's target. |
Free operators
| Function | Description |
|---|---|
| operátor!= (egyenlőtlenség operátor) | Olyan értéket ad vissza, amely jelzi, hogy a két paraméter különböző célokra vonatkozik-e. |
| operátor< (kisebb operátor) | Azt az értéket adja vissza, amely jelzi, hogy az első paraméter célja korábban fordul-e elő a memóriában, mint a második paraméteré. |
| operátor=< (kisebb vagy egyenlő operátor) | Olyan értéket ad vissza, amely jelzi, hogy az első paraméter célja korábban vagy ugyanazon a helyen fordul elő a memóriában, mint a második paraméter. |
| operátor== (egyenlőségi operátor) | Olyan értéket ad vissza, amely jelzi, hogy a két paraméter ugyanarra a felületre és/vagy objektumra vonatkozik-e. |
| operátor> (nagyobb, mint operátor) | Azt az értéket adja vissza, amely azt jelzi, hogy az első paraméter célja később fordul-e elő a memóriában, mint a második paraméteré. |
| operátor=> (nagyobb, vagy egyenlő) | Olyan értéket ad vissza, amely jelzi, hogy az első paraméter célja később vagy ugyanazon a helyen fordul-e elő a memóriában, mint a második paraméter. |
IUnknown::IUnknown constructor
Initializes a new instance of the IUnknown struct, optionally with a copy or move of the input data.
Syntax
IUnknown() noexcept;
IUnknown(std::nullptr_t) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown const& other) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown&& other) noexcept;
Parameters
other Another IUnknown that initializes the IUnknown object.
IUnknown::as function
A megadott felületet kéri le a IUnknown. Dob, ha a felület nem támogatott. Ezt a módszert akkor használja, ha az interfészt várhatóan támogatja.
Syntax
template <typename To> auto as() const;
template <typename To> void as(To& to) const;
Template parameters
typename To A kért felületet leíró típus.
Ez a típus lehet C++/WinRT felületnév vagy C++/WinRT futtatókörnyezeti osztály neve.
autoA -returning túlterhelés esetén a típus lehet klasszikus COM-felület is.
voidA -returning túlterhelés esetén a típus a klasszikus COM-felület helye is lehet com_ptr<I>I.
Parameters
to Hivatkozás a kért felület fogadására szolgáló értékre.
Return value
A auto-returning túlterhelés a kért felületet adja vissza C To ++/WinRT interfész vagy futtatókörnyezeti osztálynév formájában com_ptr<To> , vagy ha To klasszikus COM-felület.
Ha az IUnknown , nullakkor a auto-returning túlterhelés visszatér null, és a void-returning túlterhelés a következőre nullvan halmazvato.
Ha a IUnknown nem-null de az interfész nem érhető el, a metódus dob.
IUnknown::try_as function
A megadott felületet kéri le a IUnknown. Akkor jön létre null , ha a felület nem támogatott.
Syntax
template <typename To> auto try_as() const noexcept;
template <typename To> bool try_as(To& to) const noexcept;
Template parameters
typename To A kért felületet leíró típus.
Ez a típus lehet C++/WinRT felületnév vagy C++/WinRT futtatókörnyezeti osztály neve.
autoA -returning túlterhelés esetén a típus lehet klasszikus COM-felület is.
boolA -returning túlterhelés esetén a típus a klasszikus COM-felület helye is lehet com_ptr<I>I.
Parameters
to Hivatkozás a kért felület fogadására szolgáló értékre.
Return value
A auto-returning túlterhelés a kért felületet adja vissza C To ++/WinRT interfész vagy futtatókörnyezeti osztálynév formájában com_ptr<To> , vagy ha To klasszikus COM-felület.
Ha az IUnknown interfész null nem érhető el, vagy ha nem, akkor a auto-returning túlterhelés visszatér null, és a bool-returning túlterhelés a következőre nullvan halmazvato.
A bool visszaadott túlterhelés akkor ad vissza true , ha a visszaadott to érték nem,null és false ha igen null.
IUnknown::try_as_with_reason function
A kért felületet adja vissza, ha támogatott, és jelzi, hogy miért nem támogatott.
Syntax
template <typename To> auto try_as_with_reason(winrt::hresult& reason) const noexcept;
Template parameters
typename To A kért felületet leíró típus.
Ez a típus lehet C++/WinRT felületnév, C++/WinRT futtatókörnyezeti osztálynév vagy klasszikus COM-felület.
Parameters
reason Megkapja a winrt::hresult lekérdezés eredményét leíró szöveget.
Return value
A kért felületet adja vissza CTo++/WinRT-felület vagy futtatókörnyezeti osztálynév formájában, vagy klasszikus To COM-felület formájábancom_ptr<To>.
Ha az IUnknown illesztő null nem érhető el, vagy ha nem, akkor a metódus ad vissza null.
Remarks
Ez a módszer a C++/WinRT 2.0.250303.1-es verziójától kezdve érhető el.
Ha az IUnknown , nullakkor a metódus visszaadja null és a következőre állítja a reason értéket S_OK.
Ha a IUnknown metódus nemnull, akkor a metódus a lekérdezés eredményét adja vissza, és a reason lekérdezés által előállított értéket kapja winrt::hresult .
IUnknown::operator bool
Checks whether or not the IUnknown object is referencing an interface. If the IUnknown object is not referencing an interface, then it is logically null; otherwise it is logically not null.
Syntax
explicit operator bool() const noexcept;
Return value
true if the IUnknown object is referencing an interface (logically not null), otherwise false (logically null).
IUnknown::operator= (hozzárendelési operátor)
Assigns a value to the IUnknown object.
Syntax
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;
Parameters
other An IUnknown value to assign to the IUnknown object, either by copy or by move.
Return value
A reference to the IUnknown object.
attach_abi function
Attaches an IUnknown object to a raw pointer that owns a reference to its target; an additional reference is not added. Szükség esetén ezzel a függvénnyel egyesítheti a hivatkozásokat.
Syntax
void attach_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;
Parameters
object An IUnknown value to operate on.
value Nyers mutató, amely a célra mutató hivatkozással rendelkezik.
copy_from_abi function
Copies to an IUnknown object from another pointer. Csökkenti a hivatkozások számát bármely aktuálisan hivatkozott felületen vagy objektumon, átmásolja a nyers mutatóparamétert, és megkezdi az általa mutatott felület vagy objektum élettartamának kezelését.
Syntax
void copy_from_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;
Parameters
object An IUnknown value to operate on.
value A raw pointer to a target whose lifetime should be managed by the IUnknown object.
copy_to_abi function
Copies to another pointer from an IUnknown object. Növeli a hivatkozások számát bármely jelenleg hivatkozott felületen vagy objektumon, és átmásolja az interfész vagy objektum memóriacímét a paraméterbe. This function lets you hand out a reference to the same interface without calling QueryInterface.
Syntax
void copy_to_abi(winrt::Windows::Foundation::IUnknown const& object, void*& value) noexcept;
Parameters
object An IUnknown value to operate on.
value A raw pointer reference; via which to copy the pointer to the IUnknown object's target.
detach_abi function
Detaches an IUnknown object from its raw IUnknown interface without decrementing the reference count, perhaps to return it to a caller.
Syntax
void* detach_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
void* detach_abi(winrt::Windows::Foundation::IUnknown&& object) noexcept;
Parameters
object An IUnknown value to operate on.
Return value
A pointer to the raw IUnknown interface referenced by the IUnknown object.
get_abi function
Returns the underlying raw IUnknown interface pointer should you need to pass it to a function. You may call AddRef, Release, or QueryInterface on the returned pointer.
Syntax
void* get_abi(winrt::Windows::Foundation::IUnknown const& object) noexcept;
Parameters
object An IUnknown value to operate on.
Return value
A pointer to the raw IUnknown interface referenced by the IUnknown object.
operátor!= (egyenlőtlenség operátor)
Olyan értéket ad vissza, amely jelzi, hogy a két paraméter különböző célokra vonatkozik-e.
Syntax
bool operator!=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parameters
left
right An IUnknown value whose target's memory address to compare with that of the other parameter.
Return value
true ha a két paraméter különböző célpontokra mutat, egyébként false.
operátor< (kisebb operátor)
Azt az értéket adja vissza, amely jelzi, hogy az első paraméter célja korábban fordul-e elő a memóriában, mint a második paraméteré.
Syntax
bool operator<(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parameters
left
right An IUnknown value whose target's memory address to compare with that of the other parameter.
Return value
true Ha az első paraméter tárolójának memóriacíme kisebb, mint a második paraméteré, egyébként false.
operátor=< (kisebb vagy egyenlő operátor)
Olyan értéket ad vissza, amely jelzi, hogy az első paraméter célja korábban vagy ugyanazon a helyen fordul elő a memóriában, mint a második paraméter.
Syntax
bool operator<=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parameters
left
right An IUnknown value whose target's memory address to compare with that of the other parameter.
Return value
true Ha az első paraméter tárolójának memóriacíme kisebb vagy egyenlő a második paraméterével, egyébként false.
operátor== (egyenlőségi operátor)
Olyan értéket ad vissza, amely jelzi, hogy a két paraméter ugyanarra a felületre és/vagy objektumra vonatkozik-e.
Syntax
bool operator==(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parameters
left
right An IUnknown value whose target's memory address to compare with that of the other parameter.
Return value
true ha a két paraméter ugyanarra a célra mutat, egyébként false.
operátor> (nagyobb, mint operátor)
Azt az értéket adja vissza, amely azt jelzi, hogy az első paraméter célja később fordul-e elő a memóriában, mint a második paraméteré.
Syntax
bool operator>(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parameters
left
right An IUnknown value whose target's memory address to compare with that of the other parameter.
Return value
true Ha az első paraméter tárolójának memóriacíme nagyobb, mint a második paraméteré, egyébként false.
operátor=> (nagyobb, vagy egyenlő)
Olyan értéket ad vissza, amely jelzi, hogy az első paraméter célja később vagy ugyanazon a helyen fordul-e elő a memóriában, mint a második paraméter.
Syntax
bool operator>=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parameters
left
right An IUnknown value whose target's memory address to compare with that of the other parameter.
Return value
true Ha az első paraméter tárolójának memóriacíme nagyobb vagy egyenlő a második paraméterével, egyébként false.
put_abi function
Returns the address of the underlying raw IUnknown interface pointer as a pointer to a pointer to void; this function helps you call methods (such as COM methods) that return references as out parameters via a pointer to a pointer to void.
Syntax
void** put_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
Parameters
object An IUnknown value to operate on.
Return value
The address of the underlying raw IUnknown interface pointer.
swap function
Swaps the contents of the two IUnknown parameters so that they point at one another's target.
Syntax
void swap(winrt::Windows::Foundation::IUnknown& left, winrt::Windows::Foundation::IUnknown& right) noexcept;
Parameters
left
right An IUnknown value whose pointer to mutually swap with that of the other parameter.