Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Solicita que Common Language Runtime (CLR) cree un iterador para que el host lo use a fin de determinar el conjunto de tareas que esperan en un bloqueo de lector-escritor.
Sintaxis
HRESULT CreateRWLockOwnerIterator (
[in] SIZE_T cookie,
[out] SIZE_T *pIterator
);
Parámetros
cookie
[in] Cookie asociada al bloqueo de lector-escritor deseado.
pIterator
[out] Un puntero a un iterador que se puede pasar a los métodos GetRWLockOwnerNext y DeleteRWLockOwnerIterator.
Valor devuelto
| HRESULT | Descripción |
|---|---|
| S_OK |
CreateRWLockOwnerIterator se devolvió correctamente. |
| HOST_E_CLRNOTAVAILABLE | Si se devuelve este valor, significa que Common Language Runtime (CLR) no se ha cargado en un proceso o se encuentra en un estado en el que no puede ejecutar código administrado ni procesar la llamada correctamente. |
| HOST_E_TIMEOUT | Se agotó el tiempo de espera de la llamada. |
| HOST_E_NOT_OWNER | El autor de la llamada no es el propietario del bloqueo. |
| HOST_E_ABANDONED | Se canceló un evento mientras que una fibra o subproceso que estaba bloqueado lo estaba esperando. |
| E_FAIL | Ocurrió un error grave desconocido. Si un método devuelve el valor E_FAIL, el CLR ya no se podrá usar en el proceso. Las llamadas que se hagan a los métodos de hospedaje posteriormente devolverán el valor HOST_E_CLRNOTAVAILABLE. |
| HOST_E_INVALIDOPERATION |
CreateRWLockOwnerIterator se llamó a en un subproceso que ejecuta código administrado actualmente. |
Comentarios
Los hosts suelen llamar a los métodos, CreateRWLockOwnerIterator, DeleteRWLockOwnerIterator y GetRWLockOwnerNext durante la detección de interbloqueos. El host es responsable de asegurarse de que el bloqueo lector-escritor sigue siendo válido, ya que CLR no intenta mantener el bloqueo lector-escritor activo. Hay varias estrategias disponibles para el host para garantizar la validez del bloqueo:
El host puede bloquear las llamadas de versión en el bloqueo lector-escritor (por ejemplo, IHostSemaphore::ReleaseSemaphore) al mismo tiempo que garantiza que este bloque no cause interbloqueo.
El host puede impedir que la salida espere en el objeto de evento asociado al bloqueo lector-escritor, de nuevo asegurándose de que este bloque no cause interbloqueo.
Nota
CreateRWLockOwnerIterator solo se debe llamar a en subprocesos que ejecutan código no administrado actualmente.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: MSCorEE.h
Biblioteca: incluida como recurso en MSCorEE.dll
Versiones de .NET Framework: disponible a partir de la versión 2.0