Sdílet prostřednictvím


IDebugDocumentContext2::GetStatementRange

Získá rozsah příkazů souboru kontextu dokumentu.

Syntaxe

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

Parametry

pBegPosition
[in, out] Struktura TEXT_POSITION , která je vyplněna počáteční pozicí. Pokud tyto informace nepotřebujete, nastavte tento argument na hodnotu null.

pEndPosition
[in, out] Struktura TEXT_POSITION vyplněná koncovou pozicí. Pokud tyto informace nepotřebujete, nastavte tento argument na hodnotu null.

Vrácená hodnota

V případě úspěchu vrátí hodnotu S_OK; v opačném případě vrátí kód chyby.

Poznámky

Oblast příkazů je oblast řádků, které přispěly kódem, ke kterému tento kontext dokumentu odkazuje.

Chcete-li získat rozsah zdrojového kódu (včetně komentářů) v tomto kontextu dokumentu, zavolejte GetSourceRange metoda.

Příklad

Následující příklad ukazuje, jak implementovat tuto metodu pro jednoduchý CDebugContext objekt, který zveřejňuje IDebugDocumentContext2 rozhraní. Tento příklad vyplní koncovou pozici pouze v případě, že počáteční pozice není hodnotou 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;
}

Viz také