InputObject クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
すべての入力オブジェクトの基底クラス。
[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
- 継承
- 派生
- 属性
注釈
Windows アプリ SDK内のすべての入力 API は、共通の InputObject 基本クラスから派生します。
InputObject スレッド モデル
InputObject には、作成されたスレッドからのみアクセスできます。 別のスレッドでのプロパティ アクセスまたは関数呼び出しは、RPC_E_WRONG_THREAD (または同等の予測エラーの種類) を返します。 唯一の例外は、InputObject DispatcherQueue プロパティにアクセスする場合です。 DispatcherQueue を使用すると、現在のスレッドにアクセス権があるかどうかをチェックし、アクセスできない場合は、完了したスレッドに対する作業をキューに入れます。
すべてのイベント コールバックは、InputObject に関連付けられている DispatcherQueue スレッドで発生します。
次の例は、InputObject が現在のスレッドに属しているかどうかを判断する方法を示しています。
bool OnThread(Microsoft.UI.Input.InputObject inputObject)
{
return inputObject.DispatcherQueue.HasThreadAccess();
}
破棄された場合の動作
InputObject が破棄されると、関連付けられているすべてのイベント ハンドラーが自動的に登録解除されます。 イベント ハンドラーの登録を解除する後続の呼び出しは成功しますが、必須ではありません。
DispatcherQueue プロパティを含む後続のすべての関数またはプロパティ呼び出しは、RO_E_CLOSED (または同等の予測エラー) を返します。
注意
InputObject メモリは、すべての参照が解放されるまで有効なままですが、破棄されるとすべてのリソースが解放されます。
プロパティ
DispatcherQueue |
InputObject の DispatcherQueue を取得します。 |