Bagikan melalui


InputObject Kelas

Definisi

Kelas dasar untuk semua objek 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
Warisan
Object Platform::Object IInspectable InputObject
Turunan
Atribut

Keterangan

Semua API input dalam SDK Aplikasi Windows berasal dari kelas dasar InputObject umum.

Model threading InputObject

InputObject hanya dapat diakses dari utas tempat input tersebut dibuat. Setiap akses properti atau panggilan fungsi pada utas yang berbeda akan mengembalikan RPC_E_WRONG_THREAD (atau jenis kesalahan yang diproyeksikan yang setara). Satu-satunya pengecualian untuk ini adalah saat mengakses properti InputObject DispatcherQueue . DispatcherQueue memungkinkan Anda memeriksa apakah utas saat ini memiliki akses dan, jika tidak, untuk mengantre bekerja ke utas affined.

Semua panggilan balik peristiwa dinaikkan pada utas DispatcherQueue yang terkait dengan InputObject.

Contoh berikut menunjukkan cara menentukan apakah InputObject milik utas saat ini.

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

Perilaku saat dibuang

Saat InputObject dibuang, semua penanganan aktivitas terkait tidak terdaftar secara otomatis. Panggilan berikutnya untuk membatalkan pendaftaran penanganan aktivitas akan berhasil tetapi tidak diperlukan.

Semua panggilan fungsi atau properti berikutnya, termasuk properti DispatcherQueue, akan mengembalikan RO_E_CLOSED (atau kesalahan yang diproyeksikan yang setara).

Catatan

Memori InputObject tetap valid sampai semua referensi telah dirilis, tetapi semua sumber daya dirilis saat dibuang.

Properti

DispatcherQueue

Mendapatkan DispatcherQueue untuk InputObject.

Berlaku untuk