共用方式為


IDebugDocumentContext2::GetStatementRange

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

取得檔案陳述式的範圍的文件內容。

語法

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

參數

pBegPosition
[in、 out]A TEXT_POSITION填寫的起始位置的結構。 如果不需要這項資訊,請將這個引數為 null 值。

pEndPosition
[in、 out]A TEXT_POSITION填寫的結束位置的結構。 如果不需要這項資訊,請將這個引數為 null 值。

傳回值

如果成功,傳回S_OK; 否則傳回錯誤碼。

備註

陳述式範圍是造成這個文件內容所參考的程式碼行的範圍。

若要在此文件內容中取得的範圍 (包括註解) 的原始程式碼,請呼叫GetSourceRange方法。

範例

下列範例示範如何實作這種簡單的方式CDebugContext公開物件IDebugDocumentContext2介面。 此範例中會填入結束位置只有開頭位置不是 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;    
}    

另請參閱

IDebugDocumentContext2
GetSourceRange
TEXT_POSITION