Método IVsTextLines.GetMarkerData
Retorna os dados de marcador de texto para o intervalo da linha especificada dentro do buffer de texto.
Namespace: Microsoft.VisualStudio.TextManager.Interop
Assembly: Microsoft.VisualStudio.TextManager.Interop (em Microsoft.VisualStudio.TextManager.Interop.dll)
Sintaxe
'Declaração
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] Linha superior dos dados do marcador.
iBottomLine
Tipo: Int32[in] Linha de base de dados os marcador.
pMarkerData
Tipo: array<Microsoft.VisualStudio.TextManager.Interop.MARKERDATA[][out] Ponteiro preenchida MARKERDATA estrutura para o intervalo indicado.
Valor de retorno
Tipo: Int32
Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.
Comentários
COM assinatura
De textmgr.idl:
HRESULT IVsTextLines::GetMarkerData(
[in] long iTopLine,
[in] long iBottomLine,
[out] MARKERDATA *pMarkerData
);
Use esse método com GetLineData para determinar os dados do marcador para um dado intervalo no buffer de texto. Depois de chamar IVsTextLines.GetMarkerData, em seguida, você precisará chamar ReleaseMarkerData para permitir que o buffer de texto limpar o MARKERDATA estrutura.
GetMarkerData em código gerenciado
GetMarkerDatapode causar problemas no código gerenciado. O GetMarkerData implementação que você não Release a pLayer membro. Assim, ele não realiza uma AddRef na interface. Não há nenhum problema em C++ nativo, contanto que você não chamar Release em código gerenciado, você não pode controlar quando um lançamento é feito. Para sua segurança, você deve fazer uma AddRef sobre o pLayer membro após GetMarkerData preenche a estrutura de dados. A maneira mais simples para fazer isso é com 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);
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiável.