Fungsi EnterUmsSchedulingMode (winbase.h)
Mengonversi utas panggilan menjadi utas penjadwal mode pengguna (UMS).
Peringatan
Pada Windows 11, penjadwalan mode pengguna tidak didukung. Semua panggilan gagal dengan kesalahan ERROR_NOT_SUPPORTED
.
Sintaks
BOOL EnterUmsSchedulingMode(
[in] PUMS_SCHEDULER_STARTUP_INFO SchedulerStartupInfo
);
Parameter
[in] SchedulerStartupInfo
Penunjuk ke struktur UMS_SCHEDULER_STARTUP_INFO yang menentukan atribut UMS untuk utas, termasuk daftar penyelesaian dan fungsi titik entri UmsSchedulerProc .
Nilai kembali
Jika fungsi berhasil, fungsi mengembalikan nilai bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Penjadwal UMS aplikasi membuat satu utas penjadwal UMS untuk setiap prosesor yang akan digunakan untuk menjalankan utas UMS. Penjadwal biasanya mengatur afinitas utas penjadwal untuk satu prosesor, secara efektif mempertahankan prosesor untuk penggunaan utas penjadwal tersebut. Untuk informasi selengkapnya tentang afinitas utas, lihat Beberapa Prosesor.
Ketika utas penjadwal UMS dibuat, sistem memanggil fungsi titik entri UmsSchedulerProc yang ditentukan dengan panggilan fungsi EnterUmsSchedulingMode . Penjadwal aplikasi bertanggung jawab untuk menyelesaikan inisialisasi khusus aplikasi dari utas penjadwal dan memilih utas pekerja UMS untuk dijalankan.
Penjadwal aplikasi memilih utas pekerja UMS untuk dijalankan dengan memanggil ExecuteUmsThread dengan konteks utas UMS utas pekerja. Utas pekerja berjalan sampai menghasilkan kontrol dengan memanggil UmsThreadYield, memblokir, atau mengakhiri. Utas penjadwal kemudian tersedia untuk menjalankan utas pekerja lain.
Utas penjadwal harus terus berjalan sampai semua utas pekerjanya mencapai titik penghentian alami: yaitu, semua utas pekerja telah menghasilkan, memblokir, atau mengakhiri.
Persyaratan
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) |