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

C++

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

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

09.02.2012, 22:41. Просмотров 957. Ответов 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 функция
Посмотрите здесь:

C++ Builder CallBack Disk
C++ callback метода класса
C++ Callback функция
C++ Не понимаю CALLBACK
CALLBACK. Нужна помощь C++
Что такое CALLBACK функция...... C++
C++ CALLBACK
Метод класса не работает как callback-функция C++ Builder
For_each и аргументы callback-функции; Как передать callback'у больше одного аргумента C++
CallBack C++ C++
Regex_replace с callback C++
C++ COM Передача callback функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт CАвтор FAQ
17299 / 5547 / 347
Регистрация: 30.03.2009
Сообщений: 15,101
Записей в блоге: 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 функция
Ответ Создать тему
Опции темы

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