Bagikan melalui


Fungsi ExecuteUmsThread (winbase.h)

Menjalankan utas pekerja UMS yang ditentukan.

Peringatan

Pada Windows 11, penjadwalan mode pengguna tidak didukung. Semua panggilan gagal dengan kesalahan ERROR_NOT_SUPPORTED.

Sintaks

BOOL ExecuteUmsThread(
  [in, out] PUMS_CONTEXT UmsThread
);

Parameter

[in, out] UmsThread

Penunjuk ke konteks utas UMS dari utas pekerja untuk dijalankan.

Mengembalikan nilai

Jika fungsi berhasil, fungsi tidak mengembalikan nilai.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError. Kemungkinan kode kesalahan termasuk yang berikut ini.

Menampilkan kode Deskripsi
ERROR_RETRY
Utas pekerja UMS yang ditentukan untuk sementara dikunci oleh sistem. Pemanggil dapat mencoba kembali operasi.
ERROR_NOT_SUPPORTED
UMS tidak didukung.

Keterangan

Fungsi ExecuteUmsThread memuat status utas pekerja UMS yang ditentukan selama status utas penjadwal UMS panggilan sehingga utas pekerja dapat berjalan. Utas pekerja berjalan sampai menghasilkan dengan memanggil fungsi UmsThreadYield , memblokir, atau mengakhiri.

Ketika utas pekerja menghasilkan atau memblokir, sistem memanggil fungsi titik masuk UmsSchedulerProc utas penjadwal. Ketika utas pekerja yang diblokir sebelumnya menjadi tidak diblokir, sistem mengantre utas pekerja ke daftar penyelesaian yang ditentukan dengan fungsi UpdateProcThreadAttribute saat utas pekerja dibuat.

Fungsi ExecuteUmsThread tidak mengembalikan kecuali terjadi kesalahan. Jika fungsi mengembalikan ERROR_RETRY, kesalahan bersifat sementara dan operasi dapat dicoba kembali.

Jika fungsi mengembalikan kesalahan selain ERROR_RETRY, penjadwal aplikasi harus memeriksa apakah utas ditangguhkan atau dihentikan dengan memanggil QueryUmsThreadInformation dengan UmsThreadIsSuspended atau UmsThreadIsTerminated, masing-masing. Kesalahan lain yang mungkin terjadi termasuk memanggil fungsi pada utas yang bukan utas penjadwal UMS, melewati konteks utas pekerja UMS yang tidak valid, atau menentukan utas pekerja yang sudah dijalankan pada utas penjadwal lain.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7 (hanya 64-bit) [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll
Set API api-ms-win-core-ums-l1-1-0 (diperkenalkan di Windows 7)

Lihat juga

UmsSchedulerProc

UmsThreadYield

UpdateProcThreadAttribute