LdrSendEventToApp: различия между версиями
Andy51 (обсуждение | вклад) (Создал статью) | Synergy (обсуждение | вклад) | ||
Строка 1: | Строка 1: | ||
+ | <metadesc>Функция ElfPack2, добавляет в глобальную очередь ивентов новый ивент, адресованный конкретному приложению.</metadesc> | ||
+ | |||
== Объявление == | == Объявление == | ||
'''<tt>UINT32 ldrSendEventToApp( AFW_ID_T afwid, UINT32 evcode, void * attachment, UINT32 att_size, FREE_BUF_FLAG_T fbf );</tt> | '''<tt>UINT32 ldrSendEventToApp( AFW_ID_T afwid, UINT32 evcode, void * attachment, UINT32 att_size, FREE_BUF_FLAG_T fbf );</tt> |
Текущая версия на 04:33, 11 апреля 2019
Объявление
UINT32 ldrSendEventToApp( AFW_ID_T afwid, UINT32 evcode, void * attachment, UINT32 att_size, FREE_BUF_FLAG_T fbf );
Описание
Функция ElfPack2, добавляет в глобальную очередь ивентов новый ивент, адресованный конкретному приложению.
Другие приложения не будут получать этот ивент.
Параметры
- AFW_ID_T afwid
- Идентификатор целевого приложения. Можно узнать из ldrElf.app->afw_id
- UINT32 evcode
- Код создаваемого ивента
- void *attachment
- Указатель на прикреплённые данные, если таковые нужны, либо NULL
- UINT32 att_size
- Размер прикреплённых данных
- FREE_BUF_FLAG_T fbf
- Флаг, указывающий способ освобождения присоединения после использования ивента:
- FBF_FREE - ОС освободит attachment
- FBF_LEAVE - приложение дожно заботиться об освобождении
- Флаг, указывающий способ освобождения присоединения после использования ивента:
Результат
- UINT32
- Результат операции (RESULT_OK/RESULT_FAIL)
Пример
ldrElf *target; // Находим нужный эльф target = ldrFindElf( "SomeELF" ); if(target != NULL) { // Посылаем ивент утвердительного ответа приложению ldrSendEventToApp( target->app->afw_id, ldrGetConstVal(EV_YES), NULL, 0, FBF_LEAVE ); }