IDebugDocumentContext2::GetStatementRange

Ottiene l'intervallo di istruzioni del file del contesto del documento.

Sintassi

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

Parametri

pBegPosition
[in, out] Struttura TEXT_POSITION che viene compilata con la posizione iniziale. Impostare questo argomento su un valore Null se queste informazioni non sono necessarie.

pEndPosition
[in, out] Struttura TEXT_POSITION che viene compilata con la posizione finale. Impostare questo argomento su un valore Null se queste informazioni non sono necessarie.

Valore restituito

In caso di esito positivo, restituisce S_OK; in caso contrario, restituisce un codice errore.

Commenti

Un intervallo di istruzioni è l'intervallo delle righe che hanno contribuito al codice a cui fa riferimento il contesto del documento.

Per ottenere l'intervallo di codice sorgente (inclusi i commenti) all'interno di questo contesto del documento, chiamare il metodo GetSourceRange.

Esempio

Nell'esempio seguente viene illustrato come implementare questo metodo per un oggetto CDebugContext semplice che espone l'interfaccia IDebugDocumentContext2. In questo esempio viene compilata la posizione finale solo se la posizione iniziale non è un valore 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;
}

Vedi anche