ICorProfilerInfo3::GetThreadStaticAddress2 方法

获取指定线程和应用程序域范围内的指定线程静态字段的地址。

语法

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

参数

classId
[in] 包含请求的线程静态字段的类的 ID。

fieldToken
[in] 请求的线程静态字段的元数据标记。

appDomainId
[in] 应用程序域的 ID。

threadId
[in] 作为所请求静态字段作用域的线程的 ID。

ppAddress
[out] 指向指定线程中静态字段的地址的指针。

注解

GetThreadStaticAddress2 方法可能返回下列其中一个值:

  • 如果未在指定的上下文中为给定的静态字段分配地址,则返回 CORPROF_E_DATAINCOMPLETE HRESULT。

  • 可能位于垃圾回收堆中的对象的地址。 这些地址可能会在垃圾回收后失效,因此,在垃圾回收后,探查器不应假定它们是有效的。

在完成类的类构造函数之前,GetThreadStaticAddress2 将为其所有静态字段返回 CORPROF_E_DATAINCOMPLETE,不过,某些静态字段可能已经初始化并为垃圾回收对象提供了根。

ICorProfilerInfo2::GetThreadStaticAddress 方法类似于 GetThreadStaticAddress2 方法,但不接受应用程序域参数。

要求

平台:请参阅系统要求

头文件: CorProf.idl、CorProf.h

库:CorGuids.lib

.NET Framework 版本:自 4 起可用

另请参阅