Freigeben über


IDebugDocumentContext2::GetStatementRange

Ruft den Bereich für Datei kontexts Dokumente ab oder legt diese fest.

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

Parameter

  • pBegPosition
    [in, out] Eine TEXT_POSITION Struktur, die mit der Anfangsposition gefüllt wird. Legen Sie dieses Argument mit einem NULL-Wert fest, wenn diese Informationen nicht benötigt werden.

  • pEndPosition
    [in, out] Eine TEXT_POSITION Struktur, die mit der Endposition gefüllt wird. Legen Sie dieses Argument mit einem NULL-Wert fest, wenn diese Informationen nicht benötigt werden.

Rückgabewert

Bei Erfolg gibt S_OKzurück. andernfalls gibt einen Fehlercode zurück.

Hinweise

Ein Bereich ist der Bereich der Anweisung Zeilen mit dem Code einbezogen wurden, an den dieser Dokumentenkontext verweist.

Zum Abrufen der Bereich des Quellcodes (z. B. Kommentare) innerhalb von Dokumenten, rufen Sie die IDebugDocumentContext2::GetSourceRange-Methode auf.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie diese Methode für ein einfaches CDebugContext-Objekt implementiert, das die IDebugDocumentContext2-Schnittstelle verfügbar macht. In diesem Beispiel wird die Endposition nur ausgeführt, wenn die Anfangsposition kein NULL-Wert ist.

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;  
}  

Siehe auch

Referenz

IDebugDocumentContext2

IDebugDocumentContext2::GetSourceRange

TEXT_POSITION