Поделиться через


IVsTextLines.CopyLineText - метод

Помещает указанный диапазон текста в выделенный вызывающим объектом буфер (массив).

Пространство имен:  Microsoft.VisualStudio.TextManager.Interop
Сборка:  Microsoft.VisualStudio.TextManager.Interop (в Microsoft.VisualStudio.TextManager.Interop.dll)

Синтаксис

'Декларация
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

Параметры

  • iStartLine
    Тип: Int32

    [in] запуск линия.

  • iStartIndex
    Тип: Int32

    [in] запуск индекс знака в линия. Быть меньше или равно длине линии.

  • iEndLine
    Тип: Int32

    [in] линия окончания.

  • iEndIndex
    Тип: Int32

    [in] индекс конечного знака в линия. Быть меньше или равно длине линии.

  • pszBuf
    Тип: IntPtr

    [in] указатель на абонент-выделенному буфер.

  • pcchBuf
    Тип: Int32%

    [in, out] указатель на количество символов в кодировке юникод не байтов.

Возвращаемое значение

Тип: Int32
Если метод завершается успешно, возвращается S_OK.Если происходит сбой, возвращается код ошибки.

Заметки

Модель COM подписи

Из textmgr.idl:

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

Указать размер массива обязательного, что держали заданный диапазон текста, вызов IVsTextLines.CopyLineText и передайте начальное и конечное положение в буфере. nullссылка NULL (Nothing в Visual Basic) для pszBuf параметр. Затем этот метод возвращает размер массива в pcchBuf параметр.

Этот метод копирует значение pcchBuf символы в буфер. Если буфер недостаточно велик для хранения эти символы, то метод возвращает BUFFER_E_DEST_TOO_SMALL и наборы pcchBuf параметр к требуемому размеру.

Примечание

CopyLineText метод не добавляет nullссылка NULL (Nothing в Visual Basic) в строке вывода.

GetLineTextиспользуется как оптимизация выше методами, которые требуют буфер выделяет память для них, например IVsTextLines.CopyLineText . В случае данного метода, текстовый буфер выберите BSTR, которое имеет довольно значительно снижает производительность, если метод вызывается повторно. Для IVsTextLines.CopyLineText, однако можно повторно копирования через буфером выборе если этот метод вызывается неоднократно.

Безопасность платформы .NET Framework

См. также

Ссылки

IVsTextLines Интерфейс

Microsoft.VisualStudio.TextManager.Interop - пространство имен