---
title: "ksGetMacroEditParam - Получить параметры редактирования указанного макроэлемента"
type: struct
api: [api7]
tags: [struct, api7, ksgetmacroeditparam]
sources:
  - ksgetmacroeditparam.html
---

*API экспортных функций > Функции работы с графическим документом  > Создание графических объектов  > Работа с макроэлементами и библиотечными макроэлементами  > Функции работы с макроэлементами и библиотечными макроэлементами *


## ksGetMacroEditParam - Получить параметры редактирования указанного макроэлемента

Пример...
Синтаксис:
```
int ksGetMacroEditParam (reference ref,
char * fileName,
unsigned int fileNameSize,
char * libName,
unsigned int libNameSize,
int * number);
Входные параметры:
ref    - указатель на макроэлемент,
fileName    - указатель на буфер имени файла библиотеки,
fileNameSize    - размер буферa имени файла библиотеки,
libName    - указатель на буфер имени библиотеки,
libNameSize    - размер буферa имени библиотеки,
number    - указатель на буфер номерa функции редактирования.
Возвращаемое значение:
1    - в случае успешного завершения,
0    - в случае неудачи.
```
Примечание:
1. Функция возвращает для указанного макроэлемента параметры редактирования: имя файла прикладной библиотеки, имя библиотеки и номер функции, предназначенной для редактирования данного макроэлемента.
2. При ref = 0 выдаются параметры для макроэлемента, редактирование которого производится в данный момент (если таковой имеется).
3. При значении NULL параметров fileName, libName, number или, если значение fileNameSize, libNameSize меньше требуемой длины, параметры не возвращаются.
4. При использовании Unicode следует использовать функцию ksGetMacroEditParamW.


## ksGetMacroEditParam - пример использования

Macro (0);
Point (10, 10, 1);
reference ref = EndObj ();
SetMacroParam (ref, NULL, 0, "FileName.rtw", "LibName", 111);
char fileName[128]; // буфер имени файла библиотеки
unsigned int fileNameSize = sizeof (fileName); // размер буферa имени файла библиотеки
char libName[128]; // буфер имени библиотеки
unsigned int libNameSize = sizeof (libName); // размер буферa имени библиотеки
int number; // буфер номерa функции редактирования
int res = ksGetMacroEditParam (ref, fileName, fileNameSize, libName,
libNameSize, &number);
if (res) {
char buf[128];
sprintf (buf, " Имя файла: %s\n Имя библиотеки: %s\n Номер функции: %i",
fileName, libName, number);
Message (buf);
}
else
Error ("Ошибка");
