Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Oleg462
31 / 30 / 3
Регистрация: 18.01.2010
Сообщений: 123
#1

callback функция - C++

09.02.2012, 22:41. Просмотров 961. Ответов 2
Метки нет (Все метки)

Здраствуйте!!!

Занимаюсь разработкой снифера под DVB-карту. Пытаюсь получить MPEG-поток.
Проблема заключается в том, что необходимо фрагментировать поток.

При вызове функции установки сигнала вызывается callback-функция, которая записывает поток в файл.
Как досрочно выйти из callback-функции. Она полностью захватывает поток и его нельзя фрагментировать.

Кто знает, напишите свои соображения. Буду очень благодарен.

небольшой код прдеставлен ниже:

void __stdcall MyDVBCallBack(Byte *buf, int len) //callback-функция
{
DWORD dwBytesWritten = NULL;
dwPos = SetFilePointer(hfile, 0, NULL, FILE_END);
ov.Offset = 0xFFFFFFFF;
ov.OffsetHigh = 0xFFFFFFFF;
WriteFile(hfile, buf, len, &dwBytesWritten, &ov);
}

hfile = CreateFile("123.bin", GENERIC_WRITE, 0, NULL,
CREATE_NEW, FILE_FLAG_OVERLAPPED, NULL); //создание файла для записи

pSetFilter(8192, &MyDVBCallBack, 2, 1, &lpFilter) функция установки сигнала
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2012, 22:41     callback функция
Посмотрите здесь:

Callback функция - C++
Простой вопрос: я правильно понял, сallback-функцией просто называется функция, к которой обращаются по указателю(обычно указатель на нее...

Что такое CALLBACK функция...... - C++
Что такое CALLBACK функция......

Метод класса не работает как callback-функция - C++ Builder
Всем привет! Помогите разобраться с синтаксисом. Есть gui-прога, в которой содержится функция TForm4::kau2_2_callback(float value) ...

CallBack C++ - C++
Всем привет! Похожий вопрос. Нужно заюзать колбеки. Если работаю без класов т.е функция не предлежит класу то работает нормально, а...

CALLBACK - C++
Здравствуйте, уважаемые форумчане. Передо мной стоит задача записи звука с микрофона в файл. Как считывать в буфер я разобрался. Но не...

Regex_replace с callback - C++
Возможно я плохо искал, но что-то я никак не могу понять, как в C++ правильно выполнять такую операцию: string s =...

CallBack Disk - C++ Builder
Мне надо подключить CallBack Disk библиотеки к Builder 6.Но я не могу это сделать. Он все время пишет какие то ошибки.Помогите.

Не понимаю CALLBACK - C++
Всем привет! Помогите пожалуйста разобраться: хочу в коснтрукторе объекта передавать указатель на функцию этого объекта и потом...

CALLBACK. Нужна помощь - C++
Всем привет! Есть такой код: class ExpressionCalculator { private: ...

callback метода класса - C++
Предыстория: нужно последовательно запускать несколько однотипных циклов большой степени вложенности, в теле которых вызывать разные...

Callback функции в Windows - C++ WinAPI
Нужно получить runtime способность вызыва любой callback функции. Например обрабочики wndproc, enumwindows, enumfont, enumprocess и другие,...

Передача callback функции - C++ COM
Всем добрый день! Как описать и реализовать метод OLE класса для принятия обработчика, чтобы тот вызывался в контексте клиентского...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт CАвтор FAQ
17469 / 5707 / 362
Регистрация: 30.03.2009
Сообщений: 15,663
Записей в блоге: 26
09.02.2012, 23:24     callback функция #2
Что понимается под
Цитата Сообщение от Oleg462 Посмотреть сообщение
досрочно выйти
?
Oleg462
31 / 30 / 3
Регистрация: 18.01.2010
Сообщений: 123
10.02.2012, 15:10  [ТС]     callback функция #3
void __stdcall MyDVBCallBack(Byte *buf, int len) //callback-функция
{
DWORD dwBytesWritten = NULL;
dwPos = SetFilePointer(hfile, 0, NULL, FILE_END);
ov.Offset = 0xFFFFFFFF;
ov.OffsetHigh = 0xFFFFFFFF;
WriteFile(hfile, buf, len, &dwBytesWritten, &ov);
}

данная функция записывает dvb-поток в файл постоянно, пока не удалишь фильтр.
мне необходимо указать количество байт для записи, таким образом фрагментируя поток.

какое необходимо условие, чтобы допустим записалось 200 mb удалить фильтр(pDelFilter), затем заново его включить(pSetFilter)
Yandex
Объявления
10.02.2012, 15:10     callback функция
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru