IDebugDocumentContext2::GetStatementRange
Pobiera zakres instrukcji pliku kontekstu dokumentu.
Składnia
Parametry
pBegPosition
[in, out] Struktura TEXT_POSITION wypełniona pozycją początkową. Ustaw ten argument na wartość null, jeśli te informacje nie są potrzebne.
pEndPosition
[in, out] Struktura TEXT_POSITION wypełniona pozycją końcową. Ustaw ten argument na wartość null, jeśli te informacje nie są potrzebne.
Wartość zwracana
Jeśli operacja powiedzie się, zwraca wartość S_OK
; w przeciwnym razie zwraca kod błędu.
Uwagi
Zakres instrukcji to zakres wierszy, które przyczyniły się do kodu, do którego odwołuje się ten kontekst dokumentu.
Aby uzyskać zakres kodu źródłowego (w tym komentarze) w tym kontekście dokumentu, wywołaj metodę GetSourceRange .
Przykład
W poniższym przykładzie pokazano, jak zaimplementować tę metodę dla prostego CDebugContext
obiektu, który uwidacznia interfejs IDebugDocumentContext2 . Ten przykład wypełnia końcową pozycję tylko wtedy, gdy pozycja początkowa nie jest wartością 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;
}