IVsTextLines.GetMarkerData - метод
Возвращает сведения о текстовой метки для указанного диапазона линии в текстовый буфер.
Пространство имен: Microsoft.VisualStudio.TextManager.Interop
Сборка: Microsoft.VisualStudio.TextManager.Interop (в Microsoft.VisualStudio.TextManager.Interop.dll)
Синтаксис
'Декларация
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
Параметры
iTopLine
Тип: Int32[in] top линия данных метки.
iBottomLine
Тип: Int32[in] нижняя линия, суть дела данных метки.
pMarkerData
Тип: array<Microsoft.VisualStudio.TextManager.Interop.MARKERDATA[][out] указатель на заполнено MARKERDATA структура для указанного диапазона.
Возвращаемое значение
Тип: Int32
Если метод завершается успешно, возвращается S_OK.Если происходит сбой, возвращается код ошибки.
Заметки
Модель COM подписи
Из textmgr.idl:
HRESULT IVsTextLines::GetMarkerData(
[in] long iTopLine,
[in] long iBottomLine,
[out] MARKERDATA *pMarkerData
);
Этот метод используется с GetLineData определить данные метки для заданного диапазона в текстовом буфере. После вызова ReleaseMarkerData затем необходимо вызвать, MARKERDATA включение текстовый буфер для очистки IVsTextLines.GetMarkerDataструктура.
GetMarkerData в управляемом коде
GetMarkerData может вызвать проблемы в управляемом коде. GetMarkerData реализация, которая не используется ReleasepLayer элемент. Таким образом, он не выполняет AddRef в интерфейсе. Это не создает проблем в собственном C++, пока не вызывайте Release В управляемом коде можно контролировать, если выпуск не выполняется. Чтобы быть безопасно, необходимо сделать GetMarkerData на AddRef элемент после pLayer заполняет структуру данных. Проще всего это сделать с 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);
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Для получения дополнительной информации см. Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Microsoft.VisualStudio.TextManager.Interop - пространство имен