Condividi tramite


Metodo IVsTextLines.GetMarkerData

I dati del marcatore di testo viene restituito per la riga specificata variano nel buffer di testo.

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

Sintassi

'Dichiarazione
Function GetMarkerData ( _
    iTopLine As Integer, _
    iBottomLine As Integer, _
    <OutAttribute> pMarkerData As MARKERDATA() _
) As Integer
int GetMarkerData(
    int iTopLine,
    int iBottomLine,
    MARKERDATA[] pMarkerData
)
int GetMarkerData(
    [InAttribute] int iTopLine, 
    [InAttribute] int iBottomLine, 
    [OutAttribute] array<MARKERDATA>^ pMarkerData
)
abstract GetMarkerData : 
        iTopLine:int * 
        iBottomLine:int * 
        pMarkerData:MARKERDATA[] byref -> int
function GetMarkerData(
    iTopLine : int, 
    iBottomLine : int, 
    pMarkerData : MARKERDATA[]
) : int

Parametri

  • iTopLine
    Tipo: Int32

    [in] Riga superiore dei dati del marcatore.

  • iBottomLine
    Tipo: Int32

    [in] Ultima riga di dati del marcatore.

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::GetMarkerData(
   [in] long iTopLine,
   [in] long iBottomLine,
   [out] MARKERDATA *pMarkerData
);

utilizzare questo metodo con GetLineData per determinare i dati del marcatore per un intervallo specificato nel buffer di testo. Dopo avere chiamato ReleaseMarkerData , sarà necessario chiamare MARKERDATA per consentire al buffer di testo di pulire di IVsTextLines.GetMarkerDatastruttura.

GetMarkerData nel codice gestito

GetMarkerData può causare problemi nel codice gestito. GetMarkerData implementazione che non si ReleasepLayer membro. Pertanto, non esegue AddRef interfaccia. Non esiste un problema in C++ nativo a condizione che non chiamare Release Nel codice gestito non è possibile controllare quando una versione è stata eseguita. Per sicurezza, è necessario effettuare GetMarkerData in di AddRef dopo membro pLayer inserisce nella struttura dei dati. Il modo più semplice per ottenere questo risultato consiste con GetIUnknownForObject:

[C#]

MARKERDATA[] markerData = new MARKERDATA[1];
markerData[0] = new Microsoft.VisualStudio.TextManager.Interop.MARKERDATA();
buffer.GetMarkerData(line, line, markerData);
IntPtr dummyAddRef = Marshal.GetIUnknownForObject(markerData[0].pLayer);

Sicurezza di .NET Framework

Vedere anche

Riferimenti

IVsTextLines Interfaccia

Spazio dei nomi Microsoft.VisualStudio.TextManager.Interop