IVsTextLines.GetMarkerData-Methode
Gibt Textmarkierungs Testdaten für den angegebenen Bereich von Zeilen innerhalb des Textpuffers zurück.
Namespace: Microsoft.VisualStudio.TextManager.Interop
Assembly: Microsoft.VisualStudio.TextManager.Interop (in Microsoft.VisualStudio.TextManager.Interop.dll)
Syntax
'Declaration
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
Parameter
iTopLine
Typ: Int32[in] Oberste Zeile der Markierung von Daten.
iBottomLine
Typ: Int32[in] Endergebnis der Markierung von Daten.
pMarkerData
Typ: array<Microsoft.VisualStudio.TextManager.Interop.MARKERDATA[][out] Ausgefüllte MARKERDATA Struktur des Zeigers für den Bereich angegeben.
Rückgabewert
Typ: Int32
Wenn die Methode erfolgreich ausgeführt, gibt sie S_OKzurück.Bei einem Fehler wird ein Fehlercode zurückgegeben.
Hinweise
COM-Signatur
Von textmgr.idl:
HRESULT IVsTextLines::GetMarkerData(
[in] long iTopLine,
[in] long iBottomLine,
[out] MARKERDATA *pMarkerData
);
Verwenden Sie diese Methode mit GetLineData , um die Markierung von Daten für einen angegebenen Bereich im Textpuffer zu bestimmen. Nachdem Sie IVsTextLines.GetMarkerDataaufrufen, müssen Sie ReleaseMarkerData aufrufen, um den Textpuffer zu ermöglichen, die MARKERDATA Struktur zu bereinigen.
GetMarkerData in verwaltetem Code
GetMarkerData kann Probleme verursachen in verwaltetem Code. Die Implementierung der GetMarkerData , die nicht Release der pLayer-Member erfolgen. Daher führt dies nicht AddRef für die Schnittstelle aus. Es gibt kein Problem in systemeigenem C++, solange Sie nicht Release in verwaltetem Code aufrufen, den Sie nicht steuern können, wann eine Veröffentlichung ausgeführt wird. Um sicherzustellen, sollten Sie AddRef auf dem pLayer-Member führen nachdem GetMarkerData die Datenstruktur ausfüllt. Am einfachsten können Sie hierzu mit 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-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.