winrt::Windows::Foundation::IUnknown struct (C++/WinRT)
Ogni classe di runtime C++/WinRT (una classe di runtime di Windows o di terze parti) deriva da winrt::Windows::Foundation::IUnknown. Rappresenta l'interfaccia COM IUnknown e fornisce strutture quali l'esecuzione di query per un'interfaccia diversa, funzioni abi e operatori di confronto.
Sintassi
struct IUnknown
Requisiti
SDK minimo supportato: Windows SDK versione 10.0.17134.0 (Windows 10, versione 1803)
Spazio dei nomi: 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 se non è. |
Funzione IUnknown::try_as | Restituisce l'interfaccia richiesta, se supportata. Restituisce null , o false , se non è. |
Operatori membri
Operatore | Descrizione |
---|---|
IUnknown::operator bool | Verifica se l'oggetto IUnknown fa riferimento a un'interfaccia. |
IUnknown::operator= (operatore di assegnazione) | Assegna un valore all'oggetto IUnknown . |
Funzioni gratuite
Funzione | Descrizione |
---|---|
Funzione attach_abi | Collega un oggetto IUnknown a un puntatore non elaborato proprietario di un riferimento alla destinazione; non viene aggiunto un riferimento aggiuntivo. |
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. |
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. |
Funzione detach_abi | Scollega dall'interfaccia IUnknown non elaborata senza decrementare il conteggio dei riferimenti, forse per restituirlo a un chiamante. |
funzione get_abi | Restituisce il puntatore dell'interfaccia IUnknown sottostante deve essere passato a una funzione. |
Funzione get_unknown | Funzione helper che restituisce l'indirizzo dell'interfaccia IUnknown sottostante di un oggetto di un tipo proiettato. |
funzione put_abi | Restituisce l'indirizzo del puntatore dell'interfaccia IUnknown sottostante come puntatore a un puntatore a vuoto; questa funzione consente di chiamare metodi (ad esempio metodi COM) che restituiscono riferimenti come parametri out tramite un puntatore a un puntatore a un puntatore a void. |
Funzione swap | Scambia il contenuto dei due parametri IUnknown in modo che puntino alla destinazione di un 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. |
operator<= (operatore minore o uguale a) | Restituisce un valore che indica se la destinazione del primo parametro si verifica in precedenza in memoria o nella stessa posizione del secondo parametro. |
operator== (operatore di uguaglianza) | Restituisce un valore che indica se i due parametri fanno riferimento alla stessa interfaccia e/o oggetto. |
operatore (operatore> maggiore di) | Restituisce un valore che indica se la destinazione del primo parametro si verifica successivamente in memoria rispetto a quella del secondo parametro. |
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. |
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
other
Un altro IUnknown che inizializza l'oggetto IUnknown .
Funzione IUnknown::as
Restituisce l'interfaccia richiesta, se supportata. Genera se non è. 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 di modelli
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
restituito) o false
(overload bool
restituito), se non è. 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 di modelli
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 -restituito) o false
(auto
overload bool
restituito).
Se to
è un riferimento Null, restituisce null
o false
.
IUnknown::operator bool
Verifica se l'oggetto IUnknown fa riferimento a un'interfaccia. Se l'oggetto IUnknown non fa riferimento a un'interfaccia, è logicamente Null; altrimenti non è logicamente null.
Sintassi
explicit operator bool() const noexcept;
Valore restituito
true
se l'oggetto IUnknown fa riferimento a un'interfaccia (logicamente non null), altrimenti false
(logicamente null).
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
other
Valore IUnknown da assegnare all'oggetto IUnknown , copiando o spostando.
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 IUnknown da utilizzare.
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 IUnknown da utilizzare.
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 IUnknown da utilizzare.
value
Riferimento al puntatore non elaborato; tramite cui copiare il puntatore nella destinazione dell'oggetto IUnknown .
Funzione detach_abi
Scollega un oggetto IUnknowndall'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 IUnknown da utilizzare.
Valore restituito
Puntatore all'interfaccia IUnknown non elaborata a cui fa riferimento l'oggetto IUnknown .
funzione get_abi
Restituisce il puntatore dell'interfaccia IUnknown sottostante deve essere passato a una funzione. È possibile chiamare AddRef, Release o QueryInterface nel puntatore restituito.
Sintassi
void* get_abi(winrt::Windows::Foundation::IUnknown const& object) noexcept;
Parametri
object
Valore IUnknown da utilizzare.
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
left
right
Valore IUnknown l'indirizzo di memoria di destinazione da confrontare con quello dell'altro parametro.
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
left
right
Valore IUnknown l'indirizzo di memoria di destinazione da confrontare con quello dell'altro parametro.
Valore restituito
true
se l'indirizzo di memoria del primo parametro di destinazione è 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 in precedenza 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
left
right
Valore IUnknown l'indirizzo di memoria di destinazione da confrontare con quello dell'altro parametro.
Valore restituito
true
se l'indirizzo di memoria del primo parametro di destinazione è 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
left
right
Valore IUnknown l'indirizzo di memoria di destinazione da confrontare con quello dell'altro parametro.
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 successivamente 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
left
right
Valore IUnknown l'indirizzo di memoria di destinazione da confrontare con quello dell'altro parametro.
Valore restituito
true
se l'indirizzo di memoria del primo parametro di destinazione è 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
left
right
Valore IUnknown l'indirizzo di memoria di destinazione da confrontare con quello dell'altro parametro.
Valore restituito
true
se l'indirizzo di memoria del primo parametro di destinazione è maggiore o uguale a quello del secondo parametro, in caso contrario false
.
funzione put_abi
Restituisce l'indirizzo del puntatore dell'interfaccia IUnknown sottostante come puntatore a un puntatore a vuoto; questa funzione consente di chiamare metodi (ad esempio metodi COM) che restituiscono riferimenti come parametri out tramite un puntatore a un puntatore a un puntatore a void.
Sintassi
void** put_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
Parametri
object
Valore IUnknown da utilizzare.
Valore restituito
Indirizzo del puntatore dell'interfaccia IUnknown sottostante.
Funzione swap
Scambia il contenuto dei due parametri IUnknown in modo che puntino alla destinazione di un altro.
Sintassi
void swap(winrt::Windows::Foundation::IUnknown& left, winrt::Windows::Foundation::IUnknown& right) noexcept;
Parametri
left
right
Valore IUnknown il cui puntatore si scambia a vicenda con quello dell'altro parametro.
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per