ISymUnmanagedWriter::DefineLocalVariable 方法

更新:2007 年 11 月

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

HRESULT DefineLocalVariable(
    [in] const WCHAR  *name,
    [in] ULONG32      attributes,
    [in] ULONG32      cSig,
    [in, size_is(cSig)] unsigned char signature[],
    [in] ULONG32      addrKind,
    [in] ULONG32      addr1,
    [in] ULONG32      addr2,
    [in] ULONG32      addr3,
    [in] ULONG32      startOffset,
    [in] ULONG32      endOffset);

参数

  • name
    [in] 一个指向定义局部变量名称的 WCHAR 的指针。

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

  • cSig
    [in] 指示 signature 缓冲区大小(以字节为单位)的 ULONG32。

  • signature
    [in] 局部变量签名。

  • addrKind
    [in] 地址类型。

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

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

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

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

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

返回值

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

要求

**头文件:**CorSym.idl

请参见

参考

ISymUnmanagedWriter

ISymUnmanagedWriter::DefineGlobalVariable 方法

ISymUnmanagedWriter2::DefineLocalVariable2 方法