IDebugDocumentContext2::GetStatementRange

获取文档上下文的文件语句范围。

语法

int GetStatementRange(
    TEXT_POSITION[] pBegPosition,
    TEXT_POSITION[] pEndPosition
);

参数

pBegPosition
[in, out]用 起始位置填充的TEXT_POSITION 结构。 如果不需要此信息,请将此参数设置为 null 值。

pEndPosition
[in, out]用 结束位置填充的TEXT_POSITION 结构。 如果不需要此信息,请将此参数设置为 null 值。

返回值

如果成功,则返回 S_OK;否则,返回错误代码。

注解

语句范围是为本文档上下文引用的代码贡献的行的范围。

若要获取本文档上下文中的源代码范围(包括注释),请调用 GetSourceRange 方法。

示例

以下示例演示如何为公开 IDebugDocumentContext2 接口的简单CDebugContext对象实现此方法。 仅当起始位置不是 null 值时,此示例才会填充结束位置。

HRESULT CDebugContext::GetStatementRange(TEXT_POSITION* pBegPosition,
                                         TEXT_POSITION* pEndPosition)
{
    HRESULT hr;

    // Check for a valid beginning position argument pointer.
    if (pBegPosition)
    {
        // Copy the member TEXT_POSITION into the local pBegPosition.
        memcpy(pBegPosition, &m_pos, sizeof (TEXT_POSITION));

        // Check for a valid ending position argument pointer.
        if (pEndPosition)
        {
            // Copy the member TEXT_POSITION into the local pEndPosition.
            memcpy(pEndPosition, &m_pos, sizeof (TEXT_POSITION));
        }
        hr = S_OK;
    }
    else
    {
        hr = E_INVALIDARG;
    }

    return hr;
}

另请参阅