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