ISymUnmanagedWriter::DefineLocalVariable 方法
在当前词法范围内定义单个变量。 对于在整个范围内有多个主页的同名变量,可以多次调用此方法。 但是,在这种情况下,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] 一个 ULONG32
值,指示 signature
缓冲区的大小(以字节为单位)。
signature
[in] 局部变量签名。
addrKind
[in] 地址类型。
addr1
[in] 参数规范的第一个地址。
addr2
[in] 参数规范的第二个地址。
addr3
[in] 参数规范的第三个地址。
startOffset
[in] 变量的起始偏移量。 此参数是可选的。 如果为零,则忽略此参数,并在整个范围内定义变量。 如果它是非零值,则变量位于当前范围的偏移量内。
endOffset
[in] 变量的结束偏移量。 此参数是可选的。 如果为零,则忽略此参数,并在整个范围内定义变量。 如果它是非零值,则变量位于当前范围的偏移量内。
返回值
如果该方法成功,则返回 S_OK;否则返回 E_FAIL 或某种其他错误代码。
要求
标头:CorSym.idl、CorSym.h