Библиотека методов представляет собой компонент, способный создавать методы алгоритмов по заданному символьному имени алгоритма. Библиотека представляет собой отдельную DLL, которая реализует компонент с интерфейсом ImaLibrary. В отличие от методов, этот компонент должен полностью соответствовать канонам технологии COM, то есть иметь собственную фабрику класса и регистрировать себя в реестре.

Методы, представляющие собой компоненты с интерфейсом ImaMethodDef, не имеют собственных фабрик, идентификаторов CLSID и не регистрируются в реестре. Роль фабрики методов берет на себя функция библиотеки CreateMethodDef.

HRESULT CreateMethodDef (
  [in,string] maString aname, [in] int methodno,
  [out,retval] ImaMethodDef** method)
Функция создает экземпляр метода по символьному имени алгоритма aname и номеру метода methodno. Методы нумеруются от 0 до N-1, где N — количество методов, которое определяет данная библиотека для данного алгоритма. По запросу N-го метода библиотека записывает в method нулевой указатель и возвращает код ошибки MA_ERR_METHODUNDEF.

Номера методов в библиотеке могут отличаться от номеров методов в структуре алгоритма, так как в общем случае несколько библиотек могут создавать методы для данного алгоритма, и итоговая нумерация методов внутри алгоритма будет зависеть от очередности загрузки библиотек. По этой причине для получения доступа к конкретному методу алгоритма следует пользоваться символьными именами методов.