ICorProfilerInfo2::GetContextStaticAddress Method

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

HRESULT GetContextStaticAddress(
    [in] ClassID classId,
    [in] mdFieldDef fieldToken,
    [in] ContextID contextId,
    [out] void **ppAddress);

Parameters

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

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

  • contextId
    [in] The ID of the context that is the scope for the requested context-static field.

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

Remarks

The GetAppDomainStaticAddress method may return 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 can become invalid after garbage collection. Therefore, profilers should not assume that they are valid after garbage collection.

Static variables are not visible to profilers until after the class constructor has completed. Static variables are allocated before the constructor is called and can contain object references while the constructor is running. If garbage collection occurs in the middle of constructor code, profilers will not be able to retrieve the addresses of the static variables that contain object references. Those static variables become visible only after the constructor is finished..

Requirements

Platforms: See .NET Framework System Requirements.

Header: CorProf.idl

Library: CorGuids.lib

.NET Framework Versions: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

See Also

Reference

ICorProfilerInfo Interface

ICorProfilerInfo2 Interface