# FarMacroCall

Структура `FarMacroCall` должна использоваться плагином при вызове функции OpenW с значением аргумента OpenFrom равному `OPEN_FROMMACRO`, если плагин хочет вернуть макросу более одной величины (или одну величину не-булевого типа). В этом случае плагин должен заполнить поля статического или аллоцированного экземпляра данной структуры и вернуть Far Manager'у указатель на него.

    struct FarMacroCall
    {
      size_t StructSize;
      size_t Count;
      struct FarMacroValue *Values;
      void (WINAPI * Callback)(void *CallbackData, struct FarMacroValue *Values, size_t Count);
      void *CallbackData;
    };

### Элементы

StructSize
Это поле должно содержать размер структуры `FarMacroCall`. Перед использованием структуры плагин должен заполнить поле.
Count
Количество элементов массива `Values`
Values
Указатель на массив структур типа FarMacroValue. Этот массив также должен быть статическим или аллоцированным.
Callback
Указатель на функцию плагина, которая будет вызвана после того, как Far Manager скопирует переданные данные. В этой функции данные можно освободить. Если освобождать данные не требуется, установите `Callback = NULL`.
CallbackData
Указатель на произвольные данные плагина.

### Замечания

Смотрите также:
структуры