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

LdrSendEventToApp: различия между версиями

(Создал статью)
 
 
Строка 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, добавляет в глобальную очередь ивентов новый ивент, адресованный конкретному приложению.

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

Параметры

  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