Aracılığıyla paylaş


IDebugDocumentContext2::GetStatementRange

Belge bağlamının dosya deyimi aralığını alır.

Sözdizimi

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

Parametreler

pBegPosition
[in, out] Başlangıç konumuyla doldurulmuş bir TEXT_POSITION yapısı. Bu bilgi gerekmiyorsa bu bağımsız değişkeni null değer olarak ayarlayın.

pEndPosition
[in, out] Bitiş konumuyla doldurulmuş bir TEXT_POSITION yapısı. Bu bilgi gerekmiyorsa bu bağımsız değişkeni null değer olarak ayarlayın.

İade Değeri

Başarılı olursa döndürür S_OK; aksi takdirde bir hata kodu döndürür.

Açıklamalar

Deyim aralığı, bu belge bağlamının başvurduğu kodu katkıda bulunan satır aralığıdır.

Bu belge bağlamında kaynak kodu aralığını (açıklamalar dahil) almak için GetSourceRange yöntemini çağırın.

Örnek

Aşağıdaki örnek, IDebugDocumentContext2 arabirimini kullanıma sunan basit CDebugContext bir nesne için bu yöntemin nasıl uygulandığını gösterir. Bu örnek, yalnızca başlangıç konumu null değer değilse bitiş konumunu doldurur.

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;
}

Ayrıca bkz.