Compartir a través de


IVsTextLines.GetMarkerData (Método)

Devuelve los datos de marcador de texto para el intervalo especificado de línea en el búfer de texto.

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

Sintaxis

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

Parámetros

  • iTopLine
    Tipo: Int32

    [in] Línea superior de los datos del marcador.

  • iBottomLine
    Tipo: Int32

    [in] Línea inferior de los datos del marcador.

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

Utilice este método con GetLineData para determinar los datos de marcador para un intervalo determinado en el búfer de texto. Después de llamar a IVsTextLines.GetMarkerData, se debe llamar a ReleaseMarkerData para permitir que el búfer de texto limpiar la estructura de MARKERDATA .

GetMarkerData en código administrado

elGetMarkerData puede producir problemas en código administrado. La implementación de GetMarkerData que no lo Release el miembro de pLayer . Por tanto, no realiza AddRef en la interfaz. No hay ningún problema en C++ nativo siempre y cuando no se llama a Release en código administrado que no puede controlar cuando una versión terminado. Para estar seguro, debe hacer AddRef en el miembro de pLayer después de que el GetMarkerData complete la estructura de datos. La forma más sencilla de hacerlo es mediante 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);

Seguridad de .NET Framework

Vea también

Referencia

IVsTextLines Interfaz

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