InputObject Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |