Condividi tramite


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 nel SDK per app di Windows derivano dalla classe di base InputObject comune.

Modello di threading InputObject

È possibile accedere a un oggetto 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 è l'accesso alla proprietà InputObject DispatcherQueue . DispatcherQueue consente di verificare se il thread corrente ha accesso e, in caso contrario, per accodare il lavoro al thread a cui è stato aggiunto.

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. Le chiamate successive per 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).

Nota

La memoria InputObject rimane valida fino a quando non vengono rilasciati tutti i riferimenti, ma tutte le risorse vengono rilasciate al momento dell'eliminazione.

Proprietà

DispatcherQueue

Ottiene dispatcherQueue per InputObject.

Si applica a