ICorProfilerInfo2::GetThreadStaticAddress Method

Gets the address of the specified thread-static field that is in the scope of the specified thread.

Syntax

HRESULT GetThreadStaticAddress(  
    [in] ClassID     classId,  
    [in] mdFieldDef  fieldToken,  
    [in] ThreadID    threadId,  
    [out] void       **ppAddress);  

Parameters

classId
[in] The ID of the class that contains the requested thread-static field.

fieldToken
[in] The metadata token for the requested thread-static field.

threadId
[in] The ID of the thread that is the scope for the requested static field.

ppAddress
[out] A pointer to the address of the static field that is within the specified thread.

Remarks

The GetThreadStaticAddress method may return one of the following:

  • A CORPROF_E_DATAINCOMPLETE HRESULT if the given static field has not been assigned an address in the specified context.

  • The addresses of objects that may be in the garbage collection heap. These addresses may become invalid after garbage collection, so after garbage collection profilers should not assume that they are valid.

Before a class’s class constructor is completed, GetThreadStaticAddress will return CORPROF_E_DATAINCOMPLETE for all its static fields, although some of the static fields may already be initialized and rooting garbage collection objects.

Requirements

Platforms: See System Requirements.

Header: CorProf.idl, CorProf.h

Library: CorGuids.lib

.NET Framework Versions: Available since 2.0

See also