Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ortak dil çalışma zamanının (CLR) okuyucu yazıcı kilidinde bekleyen görev kümesini belirlemek üzere konağın kullanması için bir yineleyici oluşturmasını ister.
Sözdizimi
HRESULT CreateRWLockOwnerIterator (
[in] SIZE_T cookie,
[out] SIZE_T *pIterator
);
Parametreler
cookie
[in] İstenen okuyucu yazıcı kilidiyle ilişkili tanımlama bilgisi.
pIterator
[out] GetRWLockOwnerNext ve DeleteRWLockOwnerIterator yöntemlerine geçirilebilen bir yineleyici işaretçisi .
Dönüş Değeri
| HRESULT | Description |
|---|---|
| S_OK |
CreateRWLockOwnerIterator başarıyla döndürüldü. |
| HOST_E_CLRNOTAVAILABLE | CLR bir işleme yüklenmedi veya CLR yönetilen kodu çalıştıramadığı veya çağrıyı başarıyla işleyemediği bir durumda. |
| HOST_E_TIMEOUT | Arama zaman aşımına uğradı. |
| HOST_E_NOT_OWNER | Çağıranın kilidi yoktur. |
| HOST_E_ABANDONED | Engellenen bir iş parçacığı veya fiber beklerken bir olay iptal edildi. |
| E_FAIL | Bilinmeyen bir yıkıcı hata oluştu. Bir yöntem E_FAIL döndürdüğünde, CLR artık işlem içinde kullanılamaz. Barındırma yöntemlerine yapılan sonraki çağrılar HOST_E_CLRNOTAVAILABLE döndürür. |
| HOST_E_INVALIDOPERATION |
CreateRWLockOwnerIterator şu anda yönetilen kod çalıştıran bir iş parçacığında çağrıldı. |
Açıklamalar
Konaklar genellikle kilitlenme algılaması sırasında , DeleteRWLockOwnerIteratorve GetRWLockOwnerNext yöntemlerini çağırırCreateRWLockOwnerIterator. ClR okuyucu yazıcı kilidini canlı tutmaya çalışmadığından, ana bilgisayar okuyucu yazıcı kilidinin hala geçerli olduğundan emin olmakla sorumludur. Konağın kilidin geçerliliğini sağlamak için kullanabileceği çeşitli stratejiler vardır:
Konak, okuyucu yazıcı kilidinde (örneğin, IHostSemaphore::ReleaseSemaphore) yayın çağrılarını engelleyebilir ve bu bloğun kilitlenmeye neden olmamasını sağlayabilir.
Ana bilgisayar, okuyucu yazıcı kilidiyle ilişkilendirilmiş olay nesnesi için çıkışın beklemesini engelleyebilir ve bu bloğun yine kilitlenmeye neden olmamasını sağlayabilir.
Not
CreateRWLockOwnerIterator yalnızca yönetilmeyen kodu yürütmekte olan iş parçacıklarında çağrılmalıdır.
Gereksinimler
Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: MSCorEE.h
Kitaplığı: MSCorEE.dll'da kaynak olarak dahil edilen
.NET Framework Sürümleri: 2.0 sürümünden itibaren kullanılabilir