Открыть главное меню

LdrSendEventToApp

Версия от 04:33, 11 апреля 2019; Synergy (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)


Объявление

UINT32 ldrSendEventToApp( AFW_ID_T afwid, UINT32 evcode, void * attachment, UINT32 att_size, FREE_BUF_FLAG_T fbf );


Описание

Функция ElfPack2, добавляет в глобальную очередь ивентов новый ивент, адресованный конкретному приложению.

Другие приложения не будут получать этот ивент.

Параметры

  1. AFW_ID_T afwid
    Идентификатор целевого приложения. Можно узнать из ldrElf.app->afw_id
  2. UINT32 evcode
    Код создаваемого ивента
  3. void *attachment
    Указатель на прикреплённые данные, если таковые нужны, либо NULL
  4. UINT32 att_size
    Размер прикреплённых данных
  5. FREE_BUF_FLAG_T fbf
    Флаг, указывающий способ освобождения присоединения после использования ивента:
    • FBF_FREE - ОС освободит attachment
    • FBF_LEAVE - приложение дожно заботиться об освобождении

Результат

  1. 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 );
}

См. также

ldrSendEvent

ldrSendEventToAppEmpty