IDebugDocumentContext2:: GetStatementRange
Ottiene l'intervallo dell'istruzione del file del contesto del documento.
HRESULT GetStatementRange(
TEXT_POSITION* pBegPosition,
TEXT_POSITION* pEndPosition
);
int GetStatementRange(
TEXT_POSITION[] pBegPosition,
TEXT_POSITION[] pEndPosition
);
Parametri
pBegPosition
[in, out] TEXT_POSITION Una struttura che verrà riempita con posizione iniziale. Impostare questo argomento con un valore null se tali informazioni non sono necessarie.pEndPosition
[in, out] TEXT_POSITION Una struttura che verrà riempita con posizione finale. Impostare questo argomento con un valore null se tali informazioni non sono necessarie.
Valore restituito
Se l'operazione riesce, restituisce S_OK; in caso contrario, restituisce un codice di errore.
Note
Un intervallo di istruzione è l'intervallo delle righe che dispongono del codice a cui questo contesto di documento fa riferimento.
Per ottenere l'intervallo del codice sorgente (commenti incluse) nel contesto del documento, chiamare IDebugDocumentContext2:: GetSourceRange il metodo.
Esempio
Nell'esempio seguente viene illustrato come implementare questo metodo per un oggetto semplice di CDebugContext che espone IDebugDocumentContext2 l'interfaccia. Questo esempio consente di riempire 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;
}