IDebugDocumentContext2::GetStatementRange
Ottiene l'intervallo di istruzioni file del contesto del documento.
Sintassi
Parametri
pBegPosition
[in, out] Struttura TEXT_POSITION compilata con la posizione iniziale. Impostare questo argomento su un valore Null se queste informazioni non sono necessarie.
pEndPosition
[in, out] Struttura TEXT_POSITION riempita con la posizione finale. Impostare questo argomento su un valore Null se queste informazioni non sono necessarie.
Valore restituito
Se ha esito positivo, restituisce S_OK
; in caso contrario, restituisce un codice di errore.
Osservazioni:
Un intervallo di istruzioni è l'intervallo delle righe che hanno contribuito al codice a cui fa riferimento questo contesto di 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 semplice CDebugContext
che espone l'interfaccia IDebugDocumentContext2 . In questo esempio viene riempita 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;
}