Freigeben über


IVsTextLines.CopyLineText-Methode

Setzt den angegebenen Textabschnitt in einem vom Aufrufer reservierten Puffer (ein Array).

Namespace:  Microsoft.VisualStudio.TextManager.Interop
Assembly:  Microsoft.VisualStudio.TextManager.Interop (in Microsoft.VisualStudio.TextManager.Interop.dll)

Syntax

'Declaration
Function CopyLineText ( _
    iStartLine As Integer, _
    iStartIndex As Integer, _
    iEndLine As Integer, _
    iEndIndex As Integer, _
    pszBuf As IntPtr, _
    <OutAttribute> ByRef pcchBuf As Integer _
) As Integer
int CopyLineText(
    int iStartLine,
    int iStartIndex,
    int iEndLine,
    int iEndIndex,
    IntPtr pszBuf,
    out int pcchBuf
)
int CopyLineText(
    [InAttribute] int iStartLine, 
    [InAttribute] int iStartIndex, 
    [InAttribute] int iEndLine, 
    [InAttribute] int iEndIndex, 
    [InAttribute] IntPtr pszBuf, 
    [InAttribute] [OutAttribute] int% pcchBuf
)
abstract CopyLineText : 
        iStartLine:int * 
        iStartIndex:int * 
        iEndLine:int * 
        iEndIndex:int * 
        pszBuf:IntPtr * 
        pcchBuf:int byref -> int
function CopyLineText(
    iStartLine : int, 
    iStartIndex : int, 
    iEndLine : int, 
    iEndIndex : int, 
    pszBuf : IntPtr, 
    pcchBuf : int
) : int

Parameter

  • iStartLine
    Typ: Int32

    [in] Anfangszeile.

  • iStartIndex
    Typ: Int32

    [in] Der Zeichenindex in der Zeile. Dieser Wert muss kleiner oder gleich der Länge der Zeile sein.

  • iEndLine
    Typ: Int32

    [in] Endzeile.

  • iEndIndex
    Typ: Int32

    [in] Ende zeichenindex in der Zeile. Dieser Wert muss kleiner oder gleich der Länge der Zeile sein.

  • pszBuf
    Typ: IntPtr

    [in] Ein Zeiger auf einen vom Aufrufer reservierten Puffer.

  • pcchBuf
    Typ: Int32%

    [in, out] Zeiger auf eine Anzahl von Unicode-Zeichen nicht Bytes.

Rückgabewert

Typ: Int32
Wenn die Methode erfolgreich ausgeführt, gibt sie S_OKzurück.Bei einem Fehler wird ein Fehlercode zurückgegeben.

Hinweise

COM-Signatur

Von textmgr.idl:

HRESULT IVsTextLines::CopyLineText(
   [in] long iStartLine,
   [in] CharIndex iStartIndex,
   [in] long iEndLine,
   [in] CharIndex iEndIndex,
   [in] LPWSTR pszBuf,
   [in, out] long *pcchBuf
);

Um die Größe des Arrays bestimmen erforderlich, einen angegebenen Textabschnitt, rufen Sie IVsTextLines.CopyLineText und Übergeben Sie die Anfangs- und Endposition im Puffer und nullein Nullverweis (Nothing in Visual Basic) für den pszBuf-Parameter enthält. Diese Methode gibt dann die Größe des Arrays im pcchBuf-Parameter zurück.

Diese Methode kopiert bis zu pcchBuf Zeichen im Puffer, die Sie zuordnen. Wenn der Puffer nicht groß genug ist, um diese Zeichen enthält, gibt die Methode BUFFER_E_DEST_TOO_SMALL zurück und legt den pcchBuf erforderlicher Parameter mit der Größe fest.

Hinweis

Die CopyLineText-Methode fügt nullein Nullverweis (Nothing in Visual Basic) nicht in die Ausgabezeichenfolge angezeigt.

IVsTextLines.CopyLineText wird als Optimierung über Methoden, die den Puffer benötigen, Arbeitsspeicher für diese zuzuordnen, z. B. GetLineTextverwendet. Bei dieser Methode wird der Textpuffer einen BSTR, das sehr beträchtlichen Leistungseinbußen, wenn die Methode wiederholt aufgerufen wird. Für IVsTextLines.CopyLineTextSie können jedoch wiederholt dem Puffer zu kopieren, den Sie zuweisen, wenn Sie diese Methode wiederholt aufgerufen werden.

.NET Framework-Sicherheit

Siehe auch

Referenz

IVsTextLines Schnittstelle

Microsoft.VisualStudio.TextManager.Interop-Namespace