ISymUnmanagedWriter2::DefineLocalVariable2 方法

在当前词法范围内定义单个变量。 对于在整个范围内有着多个 home 的同名变量,此方法可调用多次。 但是,在此情况下,startOffset 和 endOffset 参数的值不得重叠。

HRESULT DefineLocalVariable2(
    [in] const WCHAR  *name,
    [in] ULONG32      attributes,
    [in] mdSignature  sigToken,
    [in] ULONG32      addrKind,
    [in] ULONG32      addr1,
    [in] ULONG32      addr2,
    [in] ULONG32      addr3,
    [in] ULONG32      startOffset,
    [in] ULONG32      endOffset);

参数

  • name
    [in] 局部变量名称。

  • attributes
    [in] 局部变量特性。

  • sigToken
    [in] 签名的元数据标记。

  • addrKind
    [in] 地址类型。

  • addr1
    [in] 指定的参数的第一个地址。

  • addr2
    [in] 指定的参数的第二个地址。

  • addr3
    [in] 指定的参数的第三个地址。

  • startOffset
    [in] 变量的开始偏移量。 此参数是可选的。 如果为 0,则忽略此参数,并且在整个范围内定义该变量。 如果不为 0,则该变量在当前范围的偏移量范围内。

  • endOffset
    [in] 变量的结束偏移量。 此参数是可选的。 如果为 0,则忽略此参数,并且在整个范围内定义该变量。 如果不为 0,则该变量在当前范围的偏移量范围内。

返回值

如果该方法成功,则返回 S_OK;否则,返回 E_FAIL 或某个其他错误代码。

要求

**头文件:**CorSym.idl

请参见

参考

ISymUnmanagedWriter2 接口

ISymUnmanagedWriter::DefineLocalVariable 方法