StructSize
Это поле должно содержать размер структуры EditorBookmarks. Перед использованием структуры плагин должен заполнить поле.
Size
Размер буфера в памяти, который выделил плагин для размещения запрашиваемой информации.
Count
Количество закладок.
Line
Указатель на массив номеров строк для каждой закладки.
Cursor
Указатель на массив позиций курсоров в строках Line.
ScreenLine
Указатель на массив номеров строк, соответствующих первой видимой строке текста на экране.
LeftPos
Указатель на массив позиций, соответствующих первому видимому символу текста на экране слева.
Перед получением информации о закладках, плагину необходимо выяснить размер запрашиваемых данных, для этого передайте
NULL вместо ссылки на
структуру
EditorBookmarks в команде
ECTL_GETBOOKMARKS или
ECTL_GETSESSIONBOOKMARKS, например:
// узнаем размер
intptr_t size = Info.EditorControl(-1,ECTL_GETBOOKMARKS,0,NULL);
if (!size)
return FALSE;
// выделим соответствующий объем памяти
EditorBookmarks *newbm = (EditorBookmarks *)malloc(size);
if (!newbm)
return FALSE;
// только теперь запрашиваем закладки
newbm->StructSize = sizeof(EditorBookmarks);
newbm->Size = size;
if (!Info.EditorControl(-1,ECTL_GETBOOKMARKS,0,newbm))
{
free(newbm);
return FALSE;
}