IDebugDocumentContext2::GetStatementRange
Obtém o intervalo de instrução do arquivo de contexto do documento.
HRESULT GetStatementRange(
TEXT_POSITION* pBegPosition,
TEXT_POSITION* pEndPosition
);
int GetStatementRange(
TEXT_POSITION[] pBegPosition,
TEXT_POSITION[] pEndPosition
);
Parâmetros
pBegPosition
[in, out] A TEXT_POSITION estrutura que é preenchida com a posição inicial. Defina este argumento como um valor nulo se essa informação não for necessário.pEndPosition
[in, out] A TEXT_POSITION estrutura que é preenchida com a posição final. Defina este argumento como um valor nulo se essa informação não for necessário.
Valor de retorno
Se bem-sucedida, retorna S_OK; Caso contrário, retorna um código de erro.
Comentários
Um intervalo de instrução é o intervalo de linhas que contribuíram com o código ao qual se refere a este contexto do documento.
Para obter o intervalo de código-fonte (incluindo comentários) dentro desse contexto do documento, chame o IDebugDocumentContext2::GetSourceRange método.
Exemplo
O exemplo a seguir mostra como implementar este método para um simples CDebugContext objeto que expõe a IDebugDocumentContext2 interface. Este exemplo preenche a posição final somente se a posição de início não é um valor nulo.
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;
}