Metodo ICorDebugHeapValue3::GetThreadOwningMonitorLockICorDebugHeapValue3::GetThreadOwningMonitorLock Method

Restituisce il thread gestito che possiede il blocco di monitoraggio per questo oggetto.Returns the managed thread that owns the monitor lock on this object.

SintassiSyntax

HRESULT GetThreadOwningMonitorLock (  
    [out] ICorDebugThread   **ppThread,  
    [out] DWORD              *pAcquisitionCount  
);  

ParametriParameters

ppThread
[out] Il thread gestito che possiede il blocco di monitoraggio per questo oggetto.[out] The managed thread that owns the monitor lock on this object.

pAcquisitionCount
[out] Il numero di volte in cui che il thread sarebbe necessario rilasciare il blocco prima di restituire a essere senza proprietario.[out] The number of times this thread would have to release the lock before it returns to being unowned.

Valore restituitoReturn Value

Questo metodo restituisce gli specifici HRESULT seguenti, nonché gli errori di HRESULT che indicano la mancata riuscita del metodo.This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.

HRESULTHRESULT DescrizioneDescription
S_OKS_OK Metodo completato correttamente.The method completed successfully.
S_FALSES_FALSE Nessun thread gestito possiede il blocco di monitoraggio su questo oggetto.No managed thread owns the monitor lock on this object.

EccezioniExceptions

NoteRemarks

Se un thread gestito possiede il blocco di monitoraggio per questo oggetto:If a managed thread owns the monitor lock on this object:

  • Il metodo restituisce S_OK.The method returns S_OK.

  • L'oggetto thread è valido fino a quando non si esce dal thread.The thread object is valid until the thread exits.

Se nessun thread gestito possiede il blocco di monitoraggio su questo oggetto ppThread e pAcquisitionCount sono identiche, e il metodo restituisce S_FALSE.If no managed thread owns the monitor lock on this object, ppThread and pAcquisitionCount are unchanged, and the method returns S_FALSE.

Se ppThread o pAcquisitionCount non è un puntatore valido, il risultato è indefinito.If ppThread or pAcquisitionCount is not a valid pointer, the result is undefined.

Se si verifica un errore che non è possibile determinare che, se presente, thread proprietario del blocco di monitoraggio per questo oggetto, il metodo restituisce un HRESULT che indica un errore.If an error occurs such that it cannot be determined which, if any, thread owns the monitor lock on this object, the method returns an HRESULT that indicates failure.

RequisitiRequirements

Piattaforme: vedere requisiti di sistema.Platforms: See System Requirements.

Intestazione: Cordebug. idl, Cordebug. HHeader: CorDebug.idl, CorDebug.h

Libreria: CorGuids. libLibrary: CorGuids.lib

Versioni di .NET framework: Disponibile dalla 4Available since 4.NET Framework Versions: Disponibile dalla 4Available since 4

Vedere ancheSee Also

Interfacce di debugDebugging Interfaces
DebugDebugging