Compartir a través de


ICLRSyncManager::GetMonitorOwner (Método)

Obtiene la instancia de IHostTask propietaria del monitor identificado por la cookie especificada.

HRESULT GetMonitorOwner (
    [in]  SIZE_T     cookie,
    [out] IHostTask *ppOwnerHostTask
);

Parámetros

  • cookie
    [in] Cookie asociada al monitor.

  • ppOwnerHostTask
    [out] Puntero a la IHostTask que actualmente tiene la propiedad del monitor, o null si ninguna tarea tiene la propiedad.

Valor devuelto

HRESULT

Descripción

S_OK

GetMonitorOwner finalizó correctamente.

HOST_E_CLRNOTAVAILABLE

CLR no se ha cargado en un proceso o está en un estado en el que no puede ejecutar el 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 llamador no posee el bloqueo.

HOST_E_ABANDONED

Se canceló un evento mientras una fibra o un subproceso bloqueado estaba esperándole.

E_FAIL

Se ha producido un error catastrófico desconocido. Si un método devuelve E_FAIL, CLR no se puede seguir utilizando en el proceso. Las llamadas subsiguientes a métodos de hospedaje devuelven HOST_E_CLRNOTAVAILABLE.

Comentarios

El host normalmente llama a GetMonitorOwner como parte de un mecanismo de detección de interbloqueos. La cookie se asocia a un monitor cuando se crea mediante una llamada a IHostSyncManager::CreateMonitorEvent.

NotaNota

Una llamada para liberar el evento subyacente al monitor podría bloquearse, pero no tener un interbloqueo, si hay una llamada a este método actualmente activa en la cookie asociada al monitor.Otras tareas también podrían bloquearse si intentaran adquirir este monitor.

GetMonitorOwner devuelve siempre un resultado inmediatamente y se le puede llamar en cualquier momento después de haber llamado a CreateMonitorEvent. El host no necesita esperar hasta que una tarea esté esperando al evento.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: MSCorEE.h

Biblioteca: Se incluye como recurso en MsCorEE.dll

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vea también

Referencia

ICLRSyncManager (Interfaz)

IHostSyncManager (Interfaz)