Bagikan melalui


IDebugDocumentContext2::GetStatementRange

Mendapatkan rentang pernyataan file dari konteks dokumen.

Sintaks

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

Parameter

pBegPosition
[masuk, keluar] Struktur TEXT_POSITION yang diisi dengan posisi awal. Atur argumen ini ke nilai null jika informasi ini tidak diperlukan.

pEndPosition
[masuk, keluar] Struktur TEXT_POSITION yang diisi dengan posisi akhir. Atur argumen ini ke nilai null jika informasi ini tidak diperlukan.

Tampilkan Nilai

Jika berhasil, mengembalikan S_OK; jika tidak, mengembalikan kode galat.

Keterangan

Rentang pernyataan adalah rentang baris yang berkontribusi pada kode yang dirujuk konteks dokumen ini.

Untuk mendapatkan rentang kode sumber (termasuk komentar) dalam konteks dokumen ini, panggil metode GetSourceRange .

Contoh

Contoh berikut menunjukkan cara menerapkan metode ini untuk objek sederhana CDebugContext yang mengekspos antarmuka IDebugDocumentContext2 . Contoh ini mengisi posisi akhir hanya jika posisi awal bukan nilai 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;
}

Baca juga