Bagikan melalui


Metode ICLRSyncManager::GetMonitorOwner

Mendapatkan instans IHostTask yang memiliki monitor yang diidentifikasi oleh cookie yang ditentukan.

Sintaks

HRESULT GetMonitorOwner (  
    [in]  SIZE_T     cookie,  
    [out] IHostTask *ppOwnerHostTask  
);  

Parameter

cookie
[masuk] Cookie yang terkait dengan monitor.

ppOwnerHostTask
[out] Penunjuk ke IHostTask yang saat ini memiliki monitor, atau null jika tidak ada tugas yang memiliki kepemilikan.

Tampilkan Nilai

HRESULT Deskripsi
S_OK GetMonitorOwner berhasil dikembalikan.
HOST_E_CLRNOTAVAILABLE Runtime bahasa umum belum dimuat ke dalam proses, atau runtime bahasa umum dalam status yaitu tidak dapat menjalankan kode aman atau memproses panggilan dengan sukses.
HOST_E_TIMEOUT Waktu panggilan habis.
HOST_E_NOT_OWNER Pemanggil tidak memiliki kunci.
HOST_E_ABANDONED Peristiwa dibatalkan saat rangkaian atau fiber yang diblokir sedang menunggunya.
E_FAIL Kegagalan katastrofe yang tidak diketahui terjadi. Saat metode menampilkan E_FAIL, CLR tidak lagi dapat digunakan dalam proses. Panggilan berikutnya ke metode hosting menampilkan HOST_E_CLRNOTAVAILABLE.

Keterangan

Host biasanya memanggil GetMonitorOwner sebagai bagian dari mekanisme deteksi kebuntuan. Cookie dikaitkan dengan monitor ketika dibuat dengan menggunakan panggilan ke IHostSyncManager::CreateMonitorEvent.

Catatan

Panggilan untuk merilis peristiwa yang mendasar yang mungkin diblokir oleh monitor—tetapi tidak akan mengalami kebuntuan—jika panggilan ke metode ini saat ini berlaku pada cookie yang terkait dengan monitor tersebut. Tugas lain mungkin juga diblokir jika mereka mencoba untuk mendapatkan monitor ini.

GetMonitorOwner selalu kembali segera dan dapat dipanggil kapan saja setelah panggilan ke CreateMonitorEvent. Host tidak perlu menunggu sampai tugas menunggu acara.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: MSCorEE.h

Pustaka: Disertakan sebagai sumber daya di MSCorEE.dll

Versi .NET Framework: Tersedia mulai dari 2.0

Lihat juga