Aracılığıyla paylaş


ICLRSyncManager::CreateRWLockOwnerIterator Yöntemi

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

Ayrıca bkz.