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

Ogni classe di runtime C++/WinRT (se una classe di runtime di Windows o di terze parti) deriva da WinRT:: Windows:: Foundation:: IUnknown.Every C++/WinRT runtime class (whether a Windows or a third party runtime class) derives from winrt::Windows::Foundation::IUnknown. Rappresenta l'interfaccia IUnknown com e fornisce funzionalità quali l'esecuzione di query per un'interfaccia diversa, funzioni ABI e operatori di confronto.It represents the COM IUnknown interface, and it provides facilities such as querying for a different interface, abi functions, and comparison operators.

SintassiSyntax

struct IUnknown

RequisitiRequirements

SDK minimo supportato: Windows SDK versione 10.0.17134.0 (Windows 10, versione 1803)Minimum supported SDK: Windows SDK version 10.0.17134.0 (Windows 10, version 1803)

Spazio dei nomi: WinRTNamespace: winrt

L' intestazione % WindowsSdkDir% include <WindowsTargetPlatformVersion> \cppwinrt\winrt\base.h (incluso per impostazione predefinita)Header %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (included by default)

CostruttoriConstructors

CostruttoreConstructor DescrizioneDescription
Costruttore IUnknown:: IUnknownIUnknown::IUnknown constructor Inizializza una nuova istanza della struttura IUnknown , facoltativamente con una copia o uno spostamento dei dati di input.Initializes a new instance of the IUnknown struct, optionally with a copy or move of the input data.

Funzioni membroMember functions

FunzioneFunction DescrizioneDescription
Funzione IUnknown:: AsIUnknown::as function Restituisce l'interfaccia richiesta, se supportata.Returns the requested interface, if it is supported. Genera un'eccezione in caso contrario.Throws if it is not.
Funzione IUnknown:: try_asIUnknown::try_as function Restituisce l'interfaccia richiesta, se supportata.Returns the requested interface, if it is supported. Restituisce null oppure false , in caso contrario.Returns null, or false, if it is not.

Operatori membroMember operators

OperatoreOperator DescrizioneDescription
IUnknown:: operator boolIUnknown::operator bool Verifica se l'oggetto IUnknown fa riferimento a un'interfaccia.Checks whether or not the IUnknown object is referencing an interface.
IUnknown:: operator = (operatore di assegnazione)IUnknown::operator= (assignment operator) Assegna un valore all'oggetto IUnknown .Assigns a value to the IUnknown object.

Funzioni gratuiteFree functions

FunzioneFunction DescrizioneDescription
Funzione attach_abiattach_abi function Connette un oggetto IUnknown a un puntatore non elaborato che possiede un riferimento alla relativa destinazione. non è stato aggiunto un riferimento aggiuntivo.Attaches an IUnknown object to a raw pointer that owns a reference to its target; an additional reference is not added.
Funzione copy_from_abicopy_from_abi function Copia in un oggetto IUnknown da un altro puntatore.Copies to an IUnknown object from another pointer. Decrementa il conteggio dei riferimenti su qualsiasi interfaccia o oggetto a cui si fa attualmente riferimento, copia il parametro del puntatore non elaborato e inizia a gestire la durata dell'interfaccia o dell'oggetto a cui punta.Decrements the reference count on any currently referenced interface or object, copies the raw pointer parameter, and begins managing the lifetime of the interface or object pointed to by it.
Funzione copy_to_abicopy_to_abi function Copia in un altro puntatore da un oggetto IUnknown .Copies to another pointer from an IUnknown object. Incrementa il conteggio dei riferimenti su qualsiasi interfaccia o oggetto a cui si fa attualmente riferimento e copia l'indirizzo di memoria dell'interfaccia o dell'oggetto nel parametro.Increments the reference count on any currently referenced interface or object, and copies that interface or object's memory address into the parameter.
Funzione detach_abidetach_abi function Disconnette dall' interfaccia IUnknown non elaborata senza decrementare il conteggio dei riferimenti, ad esempio per restituirlo a un chiamante.Detaches from the raw IUnknown interface without decrementing the reference count, perhaps to return it to a caller.
funzione get_abiget_abi function Restituisce il puntatore all' interfaccia IUnknown non elaborata sottostante se è necessario passarlo a una funzione.Returns the underlying raw IUnknown interface pointer should you need to pass it to a function.
Funzione get_unknownget_unknown function Funzione di supporto che restituisce l'indirizzo dell' interfaccia IUnknown non elaborata sottostante di un oggetto di un tipo proiettato.A helper function that returns the address of the underlying raw IUnknown interface of an object of a projected type.
funzione put_abiput_abi function Restituisce l'indirizzo del puntatore a interfaccia IUnknown non elaborato sottostante come puntatore a un puntatore a void; Questa funzione consente di chiamare metodi, ad esempio metodi COM, che restituiscono riferimenti come parametri out tramite un puntatore a un puntatore a void.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.
Funzione swapswap function Scambia il contenuto dei due parametri IUnknown in modo che puntino alla destinazione di un altro.Swaps the contents of the two IUnknown parameters so that they point at one another's target.

Operatori gratuitiFree operators

FunzioneFunction DescrizioneDescription
operator! = (operatore di disuguaglianza)operator!= (inequality operator) Restituisce un valore che indica se i due parametri fanno riferimento a destinazioni diverse.Returns a value indicating whether the two parameters refer to different targets.
operatore< (operatore minore di)operator< (less-than operator) Restituisce un valore che indica se la destinazione del primo parametro si verifica in precedenza in memoria rispetto a quella del secondo parametro.Returns a value indicating whether the first parameter's target occurs earlier in memory than that of the second parameter.
operator<= (operatore minore o uguale a)operator<= (less-than-or-equal-to operator) Restituisce un valore che indica se la destinazione del primo parametro si trova in una posizione precedente in memoria rispetto a quella del secondo parametro.Returns a value indicating whether the first parameter's target occurs earlier in memory than, or at the same location as, that of the second parameter.
operator = = (operatore di uguaglianza)operator== (equality operator) Restituisce un valore che indica se i due parametri fanno riferimento alla stessa interfaccia e/o all'oggetto.Returns a value indicating whether the two parameters refer to the same interface and/or object.
operatore> (operatore maggiore di)operator> (greater-than operator) Restituisce un valore che indica se la destinazione del primo parametro viene eseguita in un secondo momento in memoria rispetto a quella del secondo parametro.Returns a value indicating whether the first parameter's target occurs later in memory than that of the second parameter.
operatore>= (operatore maggiore o uguale a)operator>= (greater-than-or-equal-to operator) Restituisce un valore che indica se la destinazione del primo parametro viene eseguita in un secondo momento in memoria rispetto a quella del secondo parametro.Returns a value indicating whether the first parameter's target occurs later in memory than, or at the same location as, that of the second parameter.

Costruttore IUnknown:: IUnknownIUnknown::IUnknown constructor

Inizializza una nuova istanza della struttura IUnknown , facoltativamente con una copia o uno spostamento dei dati di input.Initializes a new instance of the IUnknown struct, optionally with a copy or move of the input data.

SintassiSyntax

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

ParametriParameters

other Un altro IUnknown che Inizializza l'oggetto IUnknown .other Another IUnknown that initializes the IUnknown object.

Funzione IUnknown:: AsIUnknown::as function

Restituisce l'interfaccia richiesta, se supportata.Returns the requested interface, if it is supported. Genera un'eccezione in caso contrario.Throws if it is not. Questa funzione è utile se si desidera eseguire una query per un'interfaccia che non è necessario passare di nuovo al chiamante.This function is useful if you want to query for an interface that you don't need to pass back to your caller.

SintassiSyntax

template <typename To> auto as() const;
template <typename To> void as(To& to) const;

Parametri di modelliTemplate parameters

typename To Tipo dell'interfaccia richiesta.typename To The type of the requested interface.

ParametriParameters

to Riferimento a un valore per la ricezione dell'interfaccia richiesta.to A reference to a value to receive the requested interface.

Valore restituitoReturn value

Com_ptr che fa riferimento all'interfaccia richiesta o un puntatore intelligente fortemente tipizzato per l'interfaccia richiesta (dichiarata da C++/WinRT o da terze parti).A com_ptr referencing the requested interface, or a strongly-typed smart pointer for the requested interface (either declared by C++/WinRT or by a third party).

Funzione IUnknown:: try_asIUnknown::try_as function

Restituisce l'interfaccia richiesta, se supportata.Returns the requested interface, if it is supported. Restituisce null (l' auto Overload di-restituzione) o false (l' bool Overload restituito), in caso contrario.Returns null (the auto-returning overload), or false (the bool-returning overload), if it is not. Questa funzione è utile se si desidera eseguire una query per un'interfaccia che non è necessario passare di nuovo al chiamante.This function is useful if you want to query for an interface that you don't need to pass back to your caller.

SintassiSyntax

template <typename To> auto try_as() const noexcept;
template <typename To> bool try_as(To& to) const noexcept;

Parametri di modelliTemplate parameters

typename To Tipo dell'interfaccia richiesta.typename To The type of the requested interface.

ParametriParameters

to Riferimento a un valore per la ricezione dell'interfaccia richiesta.to A reference to a value to receive the requested interface.

Valore restituitoReturn value

Un com_ptr che fa riferimento all'interfaccia richiesta o un puntatore intelligente fortemente tipizzato per l'interfaccia richiesta (dichiarata da C++/WinRT o da terze parti), se l'interfaccia richiesta è supportata; in caso contrario, null (l' auto Overload di-restituzione) o false ( bool Overload che restituisce).A com_ptr referencing the requested interface, or a strongly-typed smart pointer for the requested interface (either declared by C++/WinRT or by a third party), if the requested interface is supported, otherwise null (the auto-returning overload) or false (the bool-returning overload).

IUnknown:: operator boolIUnknown::operator bool

Verifica se l'oggetto IUnknown fa riferimento a un'interfaccia.Checks whether or not the IUnknown object is referencing an interface. Se l'oggetto IUnknown non fa riferimento a un'interfaccia, è logicamente null. in caso contrario, è logicamente not null.If the IUnknown object is not referencing an interface, then it is logically null; otherwise it is logically not null.

SintassiSyntax

explicit operator bool() const noexcept;

Valore restituitoReturn value

true Se l'oggetto IUnknown fa riferimento a un'interfaccia (logicamente not null); in caso contrario, false (logicamente null).true if the IUnknown object is referencing an interface (logically not null), otherwise false (logically null).

IUnknown:: operator = (operatore di assegnazione)IUnknown::operator= (assignment operator)

Assegna un valore all'oggetto IUnknown .Assigns a value to the IUnknown object.

SintassiSyntax

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;

ParametriParameters

other Valore IUnknown da assegnare all'oggetto IUnknown , tramite copia o spostamento.other An IUnknown value to assign to the IUnknown object, either by copy or by move.

Valore restituitoReturn value

Riferimento all'oggetto IUnknown .A reference to the IUnknown object.

Funzione attach_abiattach_abi function

Connette un oggetto IUnknown a un puntatore non elaborato che possiede un riferimento alla relativa destinazione. non è stato aggiunto un riferimento aggiuntivo.Attaches an IUnknown object to a raw pointer that owns a reference to its target; an additional reference is not added. Se necessario, è possibile usare questa funzione per unire i riferimenti.If needed, you can use this function to coalesce references.

SintassiSyntax

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

ParametriParameters

object Valore IUnknown su cui operare.object An IUnknown value to operate on.

value Puntatore non elaborato che possiede un riferimento alla relativa destinazione.value A raw pointer that owns a reference to its target.

Funzione copy_from_abicopy_from_abi function

Copia in un oggetto IUnknown da un altro puntatore.Copies to an IUnknown object from another pointer. Decrementa il conteggio dei riferimenti su qualsiasi interfaccia o oggetto a cui si fa attualmente riferimento, copia il parametro del puntatore non elaborato e inizia a gestire la durata dell'interfaccia o dell'oggetto a cui punta.Decrements the reference count on any currently referenced interface or object, copies the raw pointer parameter, and begins managing the lifetime of the interface or object pointed to by it.

SintassiSyntax

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

ParametriParameters

object Valore IUnknown su cui operare.object An IUnknown value to operate on.

value Puntatore non elaborato a una destinazione la cui durata deve essere gestita dall'oggetto IUnknown .value A raw pointer to a target whose lifetime should be managed by the IUnknown object.

Funzione copy_to_abicopy_to_abi function

Copia in un altro puntatore da un oggetto IUnknown .Copies to another pointer from an IUnknown object. Incrementa il conteggio dei riferimenti su qualsiasi interfaccia o oggetto a cui si fa attualmente riferimento e copia l'indirizzo di memoria dell'interfaccia o dell'oggetto nel parametro.Increments the reference count on any currently referenced interface or object, and copies that interface or object's memory address into the parameter. Questa funzione consente di distribuire un riferimento alla stessa interfaccia senza chiamare QueryInterface.This function lets you hand out a reference to the same interface without calling QueryInterface.

SintassiSyntax

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

ParametriParameters

object Valore IUnknown su cui operare.object An IUnknown value to operate on.

value Riferimento al puntatore non elaborato; tramite cui copiare il puntatore nella destinazione dell'oggetto IUnknown .value A raw pointer reference; via which to copy the pointer to the IUnknown object's target.

Funzione detach_abidetach_abi function

Scollega un oggetto IUnknown dalla relativa interfaccia IUnknown non elaborata senza decrementare il conteggio dei riferimenti, forse per restituirlo a un chiamante.Detaches an IUnknown object from its raw IUnknown interface without decrementing the reference count, perhaps to return it to a caller.

SintassiSyntax

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

ParametriParameters

object Valore IUnknown su cui operare.object An IUnknown value to operate on.

Valore restituitoReturn value

Puntatore all' interfaccia IUnknown non elaborata a cui fa riferimento l'oggetto IUnknown .A pointer to the raw IUnknown interface referenced by the IUnknown object.

funzione get_abiget_abi function

Restituisce il puntatore all' interfaccia IUnknown non elaborata sottostante se è necessario passarlo a una funzione.Returns the underlying raw IUnknown interface pointer should you need to pass it to a function. È possibile chiamare AddRef, Releaseo QueryInterface sul puntatore restituito.You may call AddRef, Release, or QueryInterface on the returned pointer.

SintassiSyntax

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

ParametriParameters

object Valore IUnknown su cui operare.object An IUnknown value to operate on.

Valore restituitoReturn value

Puntatore all' interfaccia IUnknown non elaborata a cui fa riferimento l'oggetto IUnknown .A pointer to the raw IUnknown interface referenced by the IUnknown object.

operator! = (operatore di disuguaglianza)operator!= (inequality operator)

Restituisce un valore che indica se i due parametri fanno riferimento a destinazioni diverse.Returns a value indicating whether the two parameters refer to different targets.

SintassiSyntax

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

ParametriParameters

left``rightValore IUnknown il cui indirizzo di memoria della destinazione deve essere confrontato con quello dell'altro parametro.left right An IUnknown value whose target's memory address to compare with that of the other parameter.

Valore restituitoReturn value

true Se i due parametri puntano a destinazioni diverse; in caso contrario, false .true if the two parameters point to different targets, otherwise false.

operatore< (operatore minore di)operator< (less-than operator)

Restituisce un valore che indica se la destinazione del primo parametro si verifica in precedenza in memoria rispetto a quella del secondo parametro.Returns a value indicating whether the first parameter's target occurs earlier in memory than that of the second parameter.

SintassiSyntax

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

ParametriParameters

left``rightValore IUnknown il cui indirizzo di memoria della destinazione deve essere confrontato con quello dell'altro parametro.left right An IUnknown value whose target's memory address to compare with that of the other parameter.

Valore restituitoReturn value

true Se l'indirizzo di memoria target's del primo parametro è minore di quello del secondo parametro; in caso contrario, false .true if the first parameter's target's memory address is less than that of the second parameter, otherwise false.

operator<= (operatore minore o uguale a)operator<= (less-than-or-equal-to operator)

Restituisce un valore che indica se la destinazione del primo parametro si trova in una posizione precedente in memoria rispetto a quella del secondo parametro.Returns a value indicating whether the first parameter's target occurs earlier in memory than, or at the same location as, that of the second parameter.

SintassiSyntax

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

ParametriParameters

left``rightValore IUnknown il cui indirizzo di memoria della destinazione deve essere confrontato con quello dell'altro parametro.left right An IUnknown value whose target's memory address to compare with that of the other parameter.

Valore restituitoReturn value

true Se l'indirizzo di memoria target's del primo parametro è minore o uguale a quello del secondo parametro; in caso contrario, false .true if the first parameter's target's memory address is less than or equal to that of the second parameter, otherwise false.

operator = = (operatore di uguaglianza)operator== (equality operator)

Restituisce un valore che indica se i due parametri fanno riferimento alla stessa interfaccia e/o all'oggetto.Returns a value indicating whether the two parameters refer to the same interface and/or object.

SintassiSyntax

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

ParametriParameters

left``rightValore IUnknown il cui indirizzo di memoria della destinazione deve essere confrontato con quello dell'altro parametro.left right An IUnknown value whose target's memory address to compare with that of the other parameter.

Valore restituitoReturn value

true Se i due parametri puntano alla stessa destinazione; in caso contrario, false .true if the two parameters point to the same target, otherwise false.

operatore> (operatore maggiore di)operator> (greater-than operator)

Restituisce un valore che indica se la destinazione del primo parametro viene eseguita in un secondo momento in memoria rispetto a quella del secondo parametro.Returns a value indicating whether the first parameter's target occurs later in memory than that of the second parameter.

SintassiSyntax

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

ParametriParameters

left``rightValore IUnknown il cui indirizzo di memoria della destinazione deve essere confrontato con quello dell'altro parametro.left right An IUnknown value whose target's memory address to compare with that of the other parameter.

Valore restituitoReturn value

true Se l'indirizzo di memoria target's del primo parametro è maggiore di quello del secondo parametro; in caso contrario, false .true if the first parameter's target's memory address is greater than that of the second parameter, otherwise false.

operatore>= (operatore maggiore o uguale a)operator>= (greater-than-or-equal-to operator)

Restituisce un valore che indica se la destinazione del primo parametro viene eseguita in un secondo momento in memoria rispetto a quella del secondo parametro.Returns a value indicating whether the first parameter's target occurs later in memory than, or at the same location as, that of the second parameter.

SintassiSyntax

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

ParametriParameters

left``rightValore IUnknown il cui indirizzo di memoria della destinazione deve essere confrontato con quello dell'altro parametro.left right An IUnknown value whose target's memory address to compare with that of the other parameter.

Valore restituitoReturn value

true Se l'indirizzo di memoria target's del primo parametro è maggiore o uguale a quello del secondo parametro; in caso contrario, false .true if the first parameter's target's memory address is greater than or equal to that of the second parameter, otherwise false.

funzione put_abiput_abi function

Restituisce l'indirizzo del puntatore a interfaccia IUnknown non elaborato sottostante come puntatore a un puntatore a void; Questa funzione consente di chiamare metodi, ad esempio metodi COM, che restituiscono riferimenti come parametri out tramite un puntatore a un puntatore a void.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.

SintassiSyntax

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

ParametriParameters

object Valore IUnknown su cui operare.object An IUnknown value to operate on.

Valore restituitoReturn value

Indirizzo del puntatore all' interfaccia IUnknown non elaborata sottostante.The address of the underlying raw IUnknown interface pointer.

Funzione swapswap function

Scambia il contenuto dei due parametri IUnknown in modo che puntino alla destinazione di un altro.Swaps the contents of the two IUnknown parameters so that they point at one another's target.

SintassiSyntax

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

ParametriParameters

left``rightValore IUnknown il cui puntatore si scambia reciprocamente con quello dell'altro parametro.left right An IUnknown value whose pointer to mutually swap with that of the other parameter.

Vedere ancheSee also