Megosztás:


ICLRSyncManager::CreateRWLockOwnerIterator metódus

Azt kéri, hogy a közös nyelvi futtatókörnyezet (CLR) hozzon létre egy iterátort a gazdagép számára az olvasó-író zárolására várakozó feladatok halmazának meghatározásához.

Szintaxis

HRESULT CreateRWLockOwnerIterator (  
    [in]  SIZE_T    cookie,  
    [out] SIZE_T   *pIterator  
);  

Paraméterek

cookie
[in] A kívánt olvasó-író zároláshoz társított cookie.

pIterator
[kifelé] Egy iterátorra mutató mutató, amely átadható a GetRWLockOwnerNext és a DeleteRWLockOwnerIterator metódusnak .

Visszatérési érték

HRESULT Description
S_OK CreateRWLockOwnerIterator sikeresen visszaadott.
HOST_E_CLRNOTAVAILABLE A CLR nincs betöltve egy folyamatba, vagy a CLR olyan állapotban van, amelyben nem tudja futtatni a felügyelt kódot, vagy nem tudja sikeresen feldolgozni a hívást.
HOST_E_TIMEOUT A hívás túllépte az időkorlátot.
HOST_E_NOT_OWNER A hívó nem rendelkezik a zárral.
HOST_E_ABANDONED Egy esemény megszakadt, miközben egy blokkolt szál vagy szál várt rá.
E_FAIL Ismeretlen katasztrofális hiba történt. Amikor egy metódus E_FAIL ad vissza, a CLR már nem használható a folyamaton belül. Az üzemeltetési módszerek későbbi hívásai HOST_E_CLRNOTAVAILABLE ad vissza.
HOST_E_INVALIDOPERATION CreateRWLockOwnerIterator egy olyan szálon lett meghívva, amely jelenleg felügyelt kódot futtat.

Megjegyzések

A gazdagépek általában meghívják a , DeleteRWLockOwnerIteratorés GetRWLockOwnerNext metódusokat a CreateRWLockOwnerIteratorholtpontok észlelése során. A gazdagép feladata annak biztosítása, hogy az olvasó-író zárolása továbbra is érvényes legyen, mert a CLR nem kísérli meg életben tartani az olvasó-író zárolását. A gazdagép számára számos stratégia áll rendelkezésre a zárolás érvényességének biztosítása érdekében:

  • A gazdagép blokkolhatja a kiadási hívásokat az olvasó-író zárolásán (például IHostSemaphore::ReleaseSemaphore), miközben biztosítja, hogy ez a blokk ne okozzon holtpontot.

  • A gazdagép letilthatja a kilépést az olvasó-író zárolásához társított eseményobjektumra való várakozástól, és ezzel ismét meggyőződhet arról, hogy ez a blokk nem okoz holtpontot.

Megjegyzés

CreateRWLockOwnerIterator csak olyan szálakon kell meghívni, amelyek jelenleg nem felügyelt kódot hajtanak végre.

Követelmények

Platformok: Lásd: Rendszerkövetelmények.

Fejléc: MSCorEE.h

Könyvtár: Erőforrásként szerepel a MSCorEE.dll

.NET-keretrendszer verziók: 2.0 óta elérhető

Lásd még