Compartilhar via


InputObject Classe

Definição

Classe base para todos os 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
Herança
Object Platform::Object IInspectable InputObject
Derivado
Atributos

Comentários

Todas as APIs de entrada no SDK do Aplicativo Windows derivam da classe base InputObject comum.

Modelo de threading InputObject

Um InputObject só pode ser acessado do thread em que foi criado. Qualquer chamada de função ou acesso à propriedade em um thread diferente retornará RPC_E_WRONG_THREAD (ou o tipo de erro projetado equivalente). A única exceção a isso é ao acessar a propriedade InputObject DispatcherQueue . O DispatcherQueue permite que você marcar se o thread atual tiver acesso e, caso contrário, para o trabalho na fila para o thread afiado.

Todos os retornos de chamada de evento são gerados no thread DispatcherQueue associado ao InputObject.

O exemplo a seguir mostra como determinar se o InputObject pertence ao thread atual.

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

Comportamento quando descartado

Quando um InputObject é descartado, todos os manipuladores de eventos associados são cancelados automaticamente. As chamadas subsequentes para cancelar o registro de um manipulador de eventos serão bem-sucedidas, mas não são necessárias.

Todas as chamadas de função ou propriedade subsequentes, incluindo a propriedade DispatcherQueue, retornarão RO_E_CLOSED (ou o erro projetado equivalente).

Observação

A memória InputObject permanece válida até que todas as referências tenham sido lançadas, mas todos os recursos são liberados quando descartados.

Propriedades

DispatcherQueue

Obtém o DispatcherQueue para o InputObject.

Aplica-se a