Partager via


IDebugDocumentContext2::GetStatementRange

Obtient la plage d’instructions de fichier du contexte de document.

Syntaxe

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

Paramètres

pBegPosition
[in, out] Structure TEXT_POSITION remplie à la position de départ. Définissez cet argument sur une valeur Null si ces informations ne sont pas nécessaires.

pEndPosition
[in, out] Structure TEXT_POSITION remplie avec la position de fin. Définissez cet argument sur une valeur Null si ces informations ne sont pas nécessaires.

Valeur de retour

En cas de réussite, retourne S_OK , sinon, retourne un code d'erreur.

Notes

Une plage d’instructions est la plage des lignes qui ont contribué au code auquel ce contexte de document fait référence.

Pour obtenir la plage de code source (y compris les commentaires) dans ce contexte de document, appelez la méthode GetSourceRange .

Exemple

L’exemple suivant montre comment implémenter cette méthode pour un objet simple CDebugContext qui expose l’interface IDebugDocumentContext2 . Cet exemple remplit la position de fin uniquement si la position de début n’est pas une valeur 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;
}

Voir aussi