InputObject Classe

Definizione

Classe di base per tutti gli oggetti di input.

[WebHostHidden]
public ref class InputObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[WebHostHidden]
class InputObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class InputObject
Public Class InputObject
Ereditarietà
Object Platform::Object IInspectable InputObject
Derivato
Attributi

Commenti

Tutte le API di input nella SDK per app di Windows derivano dalla classe di base InputObject comune.

Modello di threading InputObject

È possibile accedere a Un InputObject solo dal thread in cui è stato creato. Qualsiasi chiamata di proprietà o funzione su un thread diverso restituirà RPC_E_WRONG_THREAD (o il tipo di errore proiettato equivalente). L'unica eccezione è quando si accede alla proprietà InputObject DispatcherQueue . DispatcherQueue consente di verificare se il thread corrente ha accesso e, in caso contrario, di accodare il lavoro al thread affissato.

Tutti i callback degli eventi vengono generati nel thread DispatcherQueue associato a InputObject.

Nell'esempio seguente viene illustrato come determinare se InputObject appartiene al thread corrente.

bool OnThread(Microsoft.UI.Input.InputObject inputObject)
{
    return inputObject.DispatcherQueue.HasThreadAccess();
}

Comportamento quando eliminato

Quando un Oggetto InputObject viene eliminato, tutti i gestori eventi associati vengono annullati automaticamente la registrazione. Le chiamate successive a annullare la registrazione di un gestore eventi avranno esito positivo ma non sono necessarie.

Tutte le chiamate di funzione o proprietà successive, inclusa la proprietà DispatcherQueue, restituiranno RO_E_CLOSED (o l'errore proiettato equivalente).

Note

La memoria InputObject rimane valida fino a quando non vengono rilasciati tutti i riferimenti, ma tutte le risorse vengono rilasciate quando vengono eliminate.

Proprietà

Nome Descrizione
DispatcherQueue

Ottiene dispatcherQueue per InputObject.

Si applica a