Struct winrt::Windows::Foundation::IUnknown (C++/WinRT)
Ogni classe di runtime C++/WinRT (indipendentemente dal fatto che una classe di runtime di Windows o di terze parti) derivi da winrt::Windows::Foundation::IUnknown. Rappresenta l'interfaccia COM
Sintassi
struct IUnknown
Fabbisogno
SDK minimo supportato: Windows SDK versione 10.0.17134.0 (Windows 10, versione 1803)
Namespace: winrt
intestazione : %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (incluso per impostazione predefinita)
Costruttori
Costruttore | Descrizione |
---|---|
costruttore IUnknown::IUnknown | Inizializza una nuova istanza dello struct IUnknown, facoltativamente con una copia o uno spostamento dei dati di input. |
Funzioni membro
Funzione | Descrizione |
---|---|
funzione IUnknown::as | Restituisce l'interfaccia richiesta, se supportata. Genera un'eccezione se non lo è. |
funzione IUnknown::try_as | Restituisce l'interfaccia richiesta, se supportata. Restituisce null o false , se non lo è. |
Operatori membro
Operatore | Descrizione |
---|---|
IUnknown::operator bool | Controlla se l'oggetto IUnknown fa riferimento a un'interfaccia. |
IUnknown::operator= (operatore di assegnazione) | Assegna un valore all'oggetto IUnknown |
Funzioni gratuite
Funzione | Descrizione |
---|---|
attach_abi funzione | Collega un oggetto IUnknown a un puntatore non elaborato proprietario di un riferimento alla destinazione; non viene aggiunto un riferimento aggiuntivo. |
copy_from_abi funzione | Copia in un oggetto IUnknown da un altro puntatore. Decrementa il conteggio dei riferimenti su qualsiasi interfaccia o oggetto a cui si fa riferimento, copia il parametro del puntatore non elaborato e inizia a gestire la durata dell'interfaccia o dell'oggetto a cui punta. |
copy_to_abi funzione | Copia in un altro puntatore da un oggetto IUnknown. Incrementa il conteggio dei riferimenti su qualsiasi interfaccia o oggetto a cui si fa riferimento e copia l'indirizzo di memoria dell'interfaccia o dell'oggetto nel parametro . |
detach_abi funzione | Scollega dall'interfaccia non elaborata IUnknown senza decrementare il conteggio dei riferimenti, ad esempio per restituirlo a un chiamante. |
get_abi funzione | Restituisce l'interfaccia |
get_unknown funzione | Funzione helper che restituisce l'indirizzo dell'interfaccia non elaborata sottostante interfaccia IUnknown di un oggetto di un tipo proiettato. |
put_abi funzione | Restituisce l'indirizzo dell'interfaccia |
funzione swap | Scambia il contenuto dei due parametri IUnknown in modo che puntino l'uno all'altro. |
Operatori gratuiti
Funzione | Descrizione |
---|---|
operator!= (operatore di disuguaglianza) | Restituisce un valore che indica se i due parametri fanno riferimento a destinazioni diverse. |
operatore< (operatore minore di) | Restituisce un valore che indica se la destinazione del primo parametro si verifica in precedenza in memoria rispetto a quella del secondo parametro. |
operatore<= (operatore minore o uguale a) | Restituisce un valore che indica se la destinazione del primo parametro si verifica prima della memoria o nella stessa posizione del secondo parametro. |
|
Restituisce un valore che indica se i due parametri fanno riferimento alla stessa interfaccia e/o oggetto. |
> dell'operatore (operatore maggiore di) | Restituisce un valore che indica se la destinazione del primo parametro si verifica in un secondo momento in memoria rispetto a quella del secondo parametro. |
operatore |
Restituisce un valore che indica se la destinazione del primo parametro si verifica in un secondo momento in memoria o nella stessa posizione del secondo parametro. |
Costruttore IUnknown::IUnknown
Inizializza una nuova istanza dello struct IUnknown, facoltativamente con una copia o uno spostamento dei dati di input.
Sintassi
IUnknown() noexcept;
IUnknown(std::nullptr_t) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown const& other) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown&& other) noexcept;
Parametri
Funzione IUnknown::as
Restituisce l'interfaccia richiesta, se supportata. Genera un'eccezione se non lo è. Questa funzione è utile se si vuole eseguire una query per un'interfaccia che non è necessario tornare al chiamante.
Sintassi
template <typename To> auto as() const;
template <typename To> void as(To& to) const;
Parametri del modello
typename To
Tipo dell'interfaccia richiesta.
Parametri
to
Riferimento a un valore per ricevere l'interfaccia richiesta.
Valore restituito
Un com_ptr che fa riferimento all'interfaccia richiesta o a un puntatore intelligente fortemente tipizzato per l'interfaccia richiesta (dichiarata da C++/WinRT o da terze parti).
Funzione IUnknown::try_as
Restituisce l'interfaccia richiesta, se supportata. Restituisce null
(overload auto
-returning) o false
(overload bool
-returning), in caso contrario. Questa funzione è utile se si vuole eseguire una query per un'interfaccia che non è necessario tornare al chiamante.
Sintassi
template <typename To> auto try_as() const noexcept;
template <typename To> bool try_as(To& to) const noexcept;
Parametri del modello
typename To
Tipo dell'interfaccia richiesta.
Parametri
to
Riferimento a un valore per ricevere l'interfaccia richiesta. Può essere un riferimento Null.
Valore restituito
Un com_ptr che fa riferimento all'interfaccia richiesta o a 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
(overload auto
-returning) o false
(l'overload bool
-returning).
Se to
è un riferimento Null, restituisce null
o false
.
IUnknown::operator bool
Controlla se l'oggetto IUnknown fa riferimento a un'interfaccia. Se l'oggetto IUnknown
Sintassi
explicit operator bool() const noexcept;
Valore restituito
IUnknown::operator= (operatore di assegnazione)
Assegna un valore all'oggetto IUnknown
Sintassi
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;
Parametri
Valore restituito
Riferimento all'oggetto IUnknown
funzione attach_abi
Collega un oggetto IUnknown a un puntatore non elaborato proprietario di un riferimento alla destinazione; non viene aggiunto un riferimento aggiuntivo. Se necessario, è possibile usare questa funzione per unire i riferimenti.
Sintassi
void attach_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;
Parametri
object
Valore di IUnknown su cui operare.
value
Puntatore non elaborato proprietario di un riferimento alla destinazione.
funzione copy_from_abi
Copia in un oggetto IUnknown da un altro puntatore. Decrementa il conteggio dei riferimenti su qualsiasi interfaccia o oggetto a cui si fa riferimento, copia il parametro del puntatore non elaborato e inizia a gestire la durata dell'interfaccia o dell'oggetto a cui punta.
Sintassi
void copy_from_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;
Parametri
object
Valore di IUnknown su cui operare.
value
Puntatore non elaborato a una destinazione la cui durata deve essere gestita dall'oggetto IUnknown.
funzione copy_to_abi
Copia in un altro puntatore da un oggetto IUnknown. Incrementa il conteggio dei riferimenti su qualsiasi interfaccia o oggetto a cui si fa riferimento e copia l'indirizzo di memoria dell'interfaccia o dell'oggetto nel parametro . Questa funzione consente di distribuire un riferimento alla stessa interfaccia senza chiamare QueryInterface.
Sintassi
void copy_to_abi(winrt::Windows::Foundation::IUnknown const& object, void*& value) noexcept;
Parametri
object
Valore di IUnknown su cui operare.
value
Riferimento puntatore non elaborato; tramite cui copiare il puntatore nella destinazione dell'oggetto IUnknown.
funzione detach_abi
Scollega un oggetto IUnknown dalla relativa interfaccia IUnknown non elaborata senza decrementare il conteggio dei riferimenti, forse per restituirlo a un chiamante.
Sintassi
void* detach_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
void* detach_abi(winrt::Windows::Foundation::IUnknown&& object) noexcept;
Parametri
object
Valore di IUnknown su cui operare.
Valore restituito
Puntatore all'interfaccia IUnknown non elaborata a cui fa riferimento l'oggetto IUnknown.
funzione get_abi
Restituisce l'interfaccia
Sintassi
void* get_abi(winrt::Windows::Foundation::IUnknown const& object) noexcept;
Parametri
object
Valore di IUnknown su cui operare.
Valore restituito
Puntatore all'interfaccia IUnknown non elaborata a cui fa riferimento l'oggetto IUnknown.
operator!= (operatore di disuguaglianza)
Restituisce un valore che indica se i due parametri fanno riferimento a destinazioni diverse.
Sintassi
bool operator!=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parametri
Valore restituito
true
se i due parametri puntano a destinazioni diverse; in caso contrario, false
.
operatore< (operatore minore di)
Restituisce un valore che indica se la destinazione del primo parametro si verifica in precedenza in memoria rispetto a quella del secondo parametro.
Sintassi
bool operator<(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parametri
Valore restituito
true
se l'indirizzo di memoria della destinazione del primo parametro è minore di quello del secondo parametro; in caso contrario, false
.
operator<= (operatore minore o uguale a)
Restituisce un valore che indica se la destinazione del primo parametro si verifica prima della memoria o nella stessa posizione del secondo parametro.
Sintassi
bool operator<=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parametri
Valore restituito
true
se l'indirizzo di memoria della destinazione del primo parametro è minore o uguale a quello del secondo parametro; in caso contrario, false
.
operator== (operatore di uguaglianza)
Restituisce un valore che indica se i due parametri fanno riferimento alla stessa interfaccia e/o oggetto.
Sintassi
bool operator==(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parametri
Valore restituito
true
se i due parametri puntano alla stessa destinazione; in caso contrario, false
.
operatore> (operatore maggiore di)
Restituisce un valore che indica se la destinazione del primo parametro si verifica in un secondo momento in memoria rispetto a quella del secondo parametro.
Sintassi
bool operator>(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parametri
Valore restituito
true
se l'indirizzo di memoria della destinazione del primo parametro è maggiore di quello del secondo parametro; in caso contrario, false
.
operator>= (operatore maggiore o uguale a)
Restituisce un valore che indica se la destinazione del primo parametro si verifica in un secondo momento in memoria o nella stessa posizione del secondo parametro.
Sintassi
bool operator>=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Parametri
Valore restituito
true
se l'indirizzo di memoria della destinazione del primo parametro è maggiore o uguale a quello del secondo parametro; in caso contrario, false
.
funzione put_abi
Restituisce l'indirizzo dell'interfaccia
Sintassi
void** put_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
Parametri
object
Valore di IUnknown su cui operare.
Valore restituito
Indirizzo dell'interfaccia IUnknown non elaborata sottostante puntatore.
funzione swap
Scambia il contenuto dei due parametri IUnknown in modo che puntino l'uno all'altro.
Sintassi
void swap(winrt::Windows::Foundation::IUnknown& left, winrt::Windows::Foundation::IUnknown& right) noexcept;