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
struct IUnknown
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)
Costruttore | Descrizione |
---|---|
costruttore IUnknown::IUnknown | Inizializza una nuova istanza dello struct IUnknown, facoltativamente con una copia o uno spostamento dei dati di input. |
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 è. |
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 |
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. |
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. |
Inizializza una nuova istanza dello struct IUnknown, facoltativamente con una copia o uno spostamento dei dati di input.
IUnknown() noexcept;
IUnknown(std::nullptr_t) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown const& other) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown&& other) noexcept;
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.
template <typename To> auto as() const;
template <typename To> void as(To& to) const;
typename To
Tipo dell'interfaccia richiesta.
to
Riferimento a un valore per ricevere l'interfaccia richiesta.
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).
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.
template <typename To> auto try_as() const noexcept;
template <typename To> bool try_as(To& to) const noexcept;
typename To
Tipo dell'interfaccia richiesta.
to
Riferimento a un valore per ricevere l'interfaccia richiesta. Può essere un riferimento Null.
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
.
Controlla se l'oggetto IUnknown fa riferimento a un'interfaccia. Se l'oggetto IUnknown
explicit operator bool() const noexcept;
Assegna un valore all'oggetto IUnknown
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;
Riferimento all'oggetto IUnknown
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.
void attach_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;
object
Valore di IUnknown su cui operare.
value
Puntatore non elaborato proprietario di un riferimento alla destinazione.
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.
void copy_from_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;
object
Valore di IUnknown su cui operare.
value
Puntatore non elaborato a una destinazione la cui durata deve essere gestita dall'oggetto IUnknown.
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.
void copy_to_abi(winrt::Windows::Foundation::IUnknown const& object, void*& value) noexcept;
object
Valore di IUnknown su cui operare.
value
Riferimento puntatore non elaborato; tramite cui copiare il puntatore nella destinazione dell'oggetto IUnknown.
Scollega un oggetto IUnknown dalla relativa interfaccia IUnknown non elaborata senza decrementare il conteggio dei riferimenti, forse per restituirlo a un chiamante.
void* detach_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
void* detach_abi(winrt::Windows::Foundation::IUnknown&& object) noexcept;
object
Valore di IUnknown su cui operare.
Puntatore all'interfaccia IUnknown non elaborata a cui fa riferimento l'oggetto IUnknown.
Restituisce l'interfaccia
void* get_abi(winrt::Windows::Foundation::IUnknown const& object) noexcept;
object
Valore di IUnknown su cui operare.
Puntatore all'interfaccia IUnknown non elaborata a cui fa riferimento l'oggetto IUnknown.
Restituisce un valore che indica se i due parametri fanno riferimento a destinazioni diverse.
bool operator!=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
true
se i due parametri puntano a destinazioni diverse; in caso contrario, false
.
Restituisce un valore che indica se la destinazione del primo parametro si verifica in precedenza in memoria rispetto a quella del secondo parametro.
bool operator<(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
true
se l'indirizzo di memoria della destinazione del primo parametro è minore di quello del secondo parametro; in caso contrario, false
.
Restituisce un valore che indica se la destinazione del primo parametro si verifica prima della memoria o nella stessa posizione del secondo parametro.
bool operator<=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
true
se l'indirizzo di memoria della destinazione del primo parametro è minore o uguale a quello del secondo parametro; in caso contrario, false
.
Restituisce un valore che indica se i due parametri fanno riferimento alla stessa interfaccia e/o oggetto.
bool operator==(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
true
se i due parametri puntano alla stessa destinazione; in caso contrario, false
.
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.
bool operator>(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
true
se l'indirizzo di memoria della destinazione del primo parametro è maggiore di quello del secondo parametro; in caso contrario, false
.
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.
bool operator>=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
true
se l'indirizzo di memoria della destinazione del primo parametro è maggiore o uguale a quello del secondo parametro; in caso contrario, false
.
Restituisce l'indirizzo dell'interfaccia
void** put_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
object
Valore di IUnknown su cui operare.
Indirizzo dell'interfaccia IUnknown non elaborata sottostante puntatore.
Scambia il contenuto dei due parametri IUnknown in modo che puntino l'uno all'altro.
void swap(winrt::Windows::Foundation::IUnknown& left, winrt::Windows::Foundation::IUnknown& right) noexcept;