Compartir a través de


ICLRSyncManager::GetRWLockOwnerNext (Método)

Este método puede usarse para obtener la siguiente instancia de la interfaz IHostTask que esté bloqueada en el bloqueo de lector-escritor actual.

Sintaxis

HRESULT GetRWLockOwnerNext (  
    [in] SIZE_T       Iterator,  
    [out] IHostTask  *ppOwnerHostTask  
);  

Parámetros

Iterator
[in] El valor de este parámetro se corresponde con el iterador que se creó mediante una llamada al método CreateRWLockOwnerIterator.

ppOwnerHostTask
[out] El valor de este parámetro se corresponde con un puntero que apunta a la siguiente instancia de la interfaz IHostTask que esté esperando en el bloqueo o, alternativamente, es null si no hay ninguna tarea en espera.

Valor devuelto

HRESULT Descripción
S_OK GetRWLockOwnerNext se devolvió correctamente.
HOST_E_CLRNOTAVAILABLE El 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 o 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.

Comentarios

Si el valor del parámetro de salida ppOwnerHostTask se establece en null, significará que la iteración ha finalizado y que debe llamarse al método DeleteRWLockOwnerIterator desde el host.

Nota

Desde el motor CLR, se llama al método AddRef con respecto a la instancia de la interfaz IHostTask a la que se apunta desde el parámetro ppOwnerHostTask para impedir que esta tarea finalice mientras que el host mantiene el puntero. Desde el host, se deberá llamar al método Release para disminuir el recuento de referencias cuando esta haya finalizado.

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

Consulte también