Compartir a través de


IVsTextLines.CopyLineText (Método)

Coloca el intervalo de texto especificada en un búfer asignado por el llamador (matriz).

Espacio de nombres:  Microsoft.VisualStudio.TextManager.Interop
Ensamblado:  Microsoft.VisualStudio.TextManager.Interop (en Microsoft.VisualStudio.TextManager.Interop.dll)

Sintaxis

'Declaración
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

Parámetros

  • iStartLine
    Tipo: Int32

    [in] línea inicial.

  • iStartIndex
    Tipo: Int32

    [in] Iniciar el índice del carácter en la línea. Debe ser menor o igual que la longitud de la línea.

  • iEndLine
    Tipo: Int32

    [in] Línea de cierre.

  • iEndIndex
    Tipo: Int32

    [in] Índice del carácter final de la línea. Debe ser menor o igual que la longitud de la línea.

  • pszBuf
    Tipo: IntPtr

    [in] puntero a un búfer asignado por el llamador.

  • pcchBuf
    Tipo: Int32%

    [in, out] Puntero a un recuento de caracteres Unicode (no en bytes.

Valor devuelto

Tipo: Int32
si el método tiene éxito, devuelve S_OK.Si se produce un error, devuelve un código de error.

Comentarios

Prototipo COM

de textmgr.idl:

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

Para determinar el tamaño de la matriz necesario contener un intervalo de texto determinada, llamada IVsTextLines.CopyLineText y pase las posiciones inicial y final en el búfer y nullreferencia null (Nothing en Visual Basic) para el parámetro de pszBuf . Este método continuación devuelve el tamaño de la matriz en el parámetro de pcchBuf .

Este método copia hasta pcchBuf los caracteres del búfer que se asigna. Si el búfer no es suficientemente grande para contener estos caracteres, el método devuelve BUFFER_E_DEST_TOO_SMALL y establece el parámetro de pcchBuf el tamaño requerido.

Nota

el método de CopyLineText no anexa nullreferencia null (Nothing en Visual Basic) a la cadena de salida.

IVsTextLines.CopyLineText se utiliza como optimización sobre métodos que requieren el búfer asignar memoria para ellos, como GetLineText. En el caso de este método, el búfer de texto asigna un BSTR, que tiene un costo en lugar de rendimiento significativo si el método se llama repetidamente. Para IVsTextLines.CopyLineText, sin embargo, puede copiar repetidamente sobre el búfer que asigna si llama a este método repetidamente.

Seguridad de .NET Framework

Vea también

Referencia

IVsTextLines Interfaz

Microsoft.VisualStudio.TextManager.Interop (Espacio de nombres)