Condividi tramite


Metodo IVsTextLines.CopyLineText

Inserisce l'intervallo di testo in un buffer allocato dal chiamante (una matrice).

Spazio dei nomi:  Microsoft.VisualStudio.TextManager.Interop
Assembly:  Microsoft.VisualStudio.TextManager.Interop (in Microsoft.VisualStudio.TextManager.Interop.dll)

Sintassi

'Dichiarazione
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

Parametri

  • iStartLine
    Tipo: Int32

    [in] Riga di origine.

  • iStartIndex
    Tipo: Int32

    [in] Indice del carattere iniziale all'interno della riga. Deve essere minore o uguale alla lunghezza della riga.

  • iEndLine
    Tipo: Int32

    [in] Riga finale.

  • iEndIndex
    Tipo: Int32

    [in] Indice del carattere finale della linea. Deve essere minore o uguale alla lunghezza della riga.

  • pszBuf
    Tipo: IntPtr

    [in] Puntatore a un buffer allocato dal chiamante.

  • pcchBuf
    Tipo: Int32%

    [in, out] Puntatore a un conteggio di caratteri unicode e non byte.

Valore restituito

Tipo: Int32
Se il metodo ha esito positivo, restituisce S_OK.Se non riesce, restituisce un codice di errore.

Note

Firma COM

da textmgr.idl:

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

Per determinare la dimensione della matrice necessaria per utilizzare un intervallo specificato di testo, chiamare IVsTextLines.CopyLineText e sessione nelle posizioni iniziale e finale nel buffer e nullriferimento null (Nothing in Visual Basic) per pszBuf parametro. Questo metodo restituisce la dimensione della matrice in pcchBuf parametro.

questo metodo copia fino a pcchBuf caratteri nel buffer allocati. Se il buffer non è sufficiente per utilizzare questi caratteri, il metodo restituisce BUFFER_E_DEST_TOO_SMALL e set pcchBuf parametro alla dimensione richiesta.

Nota

CopyLineText il metodo non aggiunge nullriferimento null (Nothing in Visual Basic) la stringa di output.

GetLineTextviene utilizzato per ottimizzare ai metodi che richiedono il buffer di allocare memoria per i controlli, ad esempio diIVsTextLines.CopyLineText . In questo metodo, il buffer di testo alloca un BSTR, che può incidere negativamente sulle prestazioni abbastanza rilevante se il metodo viene chiamato ripetutamente. per IVsTextLines.CopyLineText, tuttavia, è possibile copiare ripetutamente dal buffer allocati se si chiama ripetutamente questo metodo.

Sicurezza di .NET Framework

Vedere anche

Riferimenti

IVsTextLines Interfaccia

Spazio dei nomi Microsoft.VisualStudio.TextManager.Interop