Compartir a través de


InputObject Clase

Definición

Clase base para todos los objetos de entrada.

[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
Herencia
Object Platform::Object IInspectable InputObject
Derivado
Atributos

Comentarios

Todas las API de entrada del SDK de Aplicaciones para Windows derivan de la clase base InputObject común.

Modelo de subprocesos InputObject

Solo se puede tener acceso a InputObject desde el subproceso donde se creó. Cualquier llamada de función o acceso de propiedad en un subproceso diferente devolverá RPC_E_WRONG_THREAD (o el tipo de error proyectado equivalente). La única excepción a esto es al acceder a la propiedad InputObject DispatcherQueue . DispatcherQueue permite comprobar si el subproceso actual tiene acceso y, si no es así, poner en cola el trabajo en el subproceso definido.

Todas las devoluciones de llamada de eventos se generan en el subproceso DispatcherQueue asociado con InputObject.

En el ejemplo siguiente se muestra cómo determinar si inputObject pertenece al subproceso actual.

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

Comportamiento cuando se elimina

Cuando se elimina un InputObject, todos los controladores de eventos asociados se anulan automáticamente el registro. Las llamadas posteriores para anular el registro de un controlador de eventos se realizarán correctamente, pero no son necesarias.

Todas las llamadas de propiedad o función subsiguientes, incluida la propiedad DispatcherQueue, devolverán RO_E_CLOSED (o el error proyectado equivalente).

Nota

La memoria InputObject permanece válida hasta que se han liberado todas las referencias, pero todos los recursos se liberan cuando se eliminan.

Propiedades

DispatcherQueue

Obtiene dispatcherQueue para InputObject.

Se aplica a