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 |
---|---|
|
Utas pekerja UMS yang ditentukan untuk sementara dikunci oleh sistem. Pemanggil dapat mencoba kembali operasi. |
|
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) |